- 博客(282)
- 收藏
- 关注
原创 使用 Kafka 和 CDC 将数据从 MongoDB Atlas 流式传输到 SingleStore Kai
在本文中,我们将了解如何将 Apache Kafka 代理连接到 MongoDB Atlas,然后使用 CDC 解决方案将数据从 MongoDB Atlas 流式传输到 SingleStore Kai。我们还使用 Metabase 创建了一个快速的可视化仪表板,以帮助我们深入了解我们的广告活动。为了演示 CDC 解决方案,我们将使用Kafka 代理将数据流式传输到 MongoDB Atlas 集群,然后使用 CDC 管道将数据从 MongoDB Atlas 传播到 SingleStore Kai。
2024-01-05 09:48:49 1125
原创 Kubernetes Gateway API V1.0:您应该切换吗?
与 Ingress API 不同,Gateway API 是多个 API(HTTPRoute、Gateway、GatewayClass 等)的集合,每个 API 满足不同的组织角色。因此,如果您重新开始并在 Ingress 和 Gateway API 之间进行选择,如果您选择的 API 和实现支持您想要的所有功能,我建议您选择 Gateway API。去年,当网关 API升级为测试版时,我曾写过有关该 API的文章,但一年后,问题仍然存在。即,API 为自定义扩展留有空间,同时确保其遵循标准。
2024-01-04 11:05:07 1221
原创 探索 OceanBase 中图数据的实现
虽然 Neo4j 等成熟的图形数据库为处理图形数据提供了强大的解决方案,但将图形数据集成到 SQL 数据库中的想法提供了值得探索的潜在优势。从积极的一面来看,邻接表模型被证明是可以实现的,并且基本的图操作(例如 BFS 和识别高频事务对)可以高效运行。有趣的是,阿里巴巴团队在 2019 年进行的一项研究展示了关系数据库在针对 100 亿规模的海量图数据集实现图数据方面的性能。这种灵活的结构使图数据能够以高度保真度对复杂的关系和复杂的系统进行建模,使其成为从社交网络分析到供应链管理等各个领域的强大工具。
2024-01-04 09:50:25 1113
原创 架构模式:分片
分片是管理大规模数据库的有效架构模式。分片是一种数据库架构模式,涉及将数据库划分为更小、更快、更易于管理的部分,称为分片。例如,在 Web 应用程序中,用户身份验证数据可以存储在一个分片中,而用户活动日志存储在另一个分片中,从而优化频繁访问的表的性能。描述:水平分片,也称为数据分片,涉及将数据库表划分到多个数据库或数据库实例。每个分片包含相同的表模式,但保存不同的数据子集,通常根据分片键进行分割。此方法通常用于将数据库分成更小、更易于管理的部分,每个分片专用于与应用程序的特定方面相关的特定表或表组。
2024-01-03 10:27:29 1584
原创 以 Serverfull 方式运行无服务器服务
通常,在 Kumologica 上构建的应用程序专注于无服务器计算,例如 AWS Lambda、Azure 函数或 Google 函数,但在这里我们将构建与在容器内运行的 NodeJS Express 应用程序非常相似的服务。要对流程进行 docker 化,请打开项目文件夹,并将以下Docker 文件放置在根项目文件夹中(与 package.json 处于同一级别)。要构建映像,请转到项目文件夹的根目录,然后从 Windows 中的命令行或 Mac 中的终端运行以下命令。让我们将其docker化。
2024-01-03 09:59:03 544
原创 Gen-AI 的知识图和分析(无需图数据库)
由于目前正在发生的人工智能革命,工程师们正在考虑围绕 Gen-AI 的机会,利用具有动态提示、数据基础和屏蔽功能的开放 Gen-AI 解决方案,这进一步促使他们思考知识图谱等有效的解决方案。原生图形分析引擎是一种新范例,我们可以直接实现图形查询以及现有关系/SQL 数据的可视化,而无需在中间使用图形数据库,并且仍然可以利用我们从图形和传统分析方法中获得的所有优势。它们由顶点(节点)和连接这些顶点的边(关系)组成,可以是有向的或无向的、加权的或不加权的。它有助于理解、可视化复杂的关系并从中得出有意义的见解。
2024-01-02 10:35:14 1191
原创 在 Oracle 数据库表中加载多个数据文件
因此,最好的选择是让包含 SQL 加载命令的 Unix 程序始终运行。在本文中,我将展示 SQL 加载器 + Unix 脚本实用程序的强大功能,其中 SQL 加载器可以使用自动 shell 脚本加载多个数据文件。7、现在我再次删除表数据,只是为了证明脚本始终在服务器中运行,我将仅将两个 DAT 文件从 ARCHIVE 放置到当前目录。在新系统中,服务器文件可用,并将使用自动化 Unix 脚本加载到数据库中。5、现在脚本将运行,它将通过 SQL 加载器加载两个 .dat 文件。
2024-01-02 10:13:27 1078
原创 PostgreSQL 作为向量数据库:入门和扩展
本指南将深入研究该特定模式在应用程序中的实现。然而,由于搜索是近似的,搜索的召回率可能不是 100% 相关/准确,因为索引仅遍历数据的子集。它允许您存储和处理具有数千个维度的向量,计算向量化数据之间的欧几里德距离和余弦距离,并执行精确和近似最近邻搜索。为了在数据量和流量不断增加的情况下保持 Postgres 的性能和可扩展性,您可以使用矢量化数据的专用索引和/或使用Postgres 的分布式版本水平扩展存储和计算资源。数据库需要几毫秒的时间来执行精确的最近邻搜索,比较用户提示和 Airbnb 描述的嵌入。
2023-12-29 11:32:14 3337 1
原创 使用 HarperDB SDK for Java 简化数据库操作
在后续部分中,我们将探索实际的代码示例,以说明这些类在实际场景中的用法,展示 HarperDB SDK for Java 的简单性和强大功能。当你开始使用HarperDB和Java的旅程时,要记住这个SDK赋予了开发者力量,提供了一个强大而高效的桥梁,连接Java应用程序和HarperDB的NoSQL功能。和Server类Template是 HarperDB SDK for Java 的基本组件,提供了一个无缝接口,用于将 Java 应用程序与 HarperDB 的 NoSQL 数据库功能集成。
2023-12-28 11:35:11 1107
原创 迁移到云原生:如何使用微服务迁移应用程序
这简化了与维护服务之间的远程过程调用所需的访问权限相关的复杂性,即使它们在不同的主机上运行。Node.js 的主要优势包括跨平台兼容性、使用单一编码语言 (JavaScript) 的便利性、JavaScript V8 引擎的强大功能、对快速部署和微服务开发的支持、高可扩展性、令人印象深刻的数据处理能力、活跃的开源社区、通过节点包管理器 (NPM) 提供的附加功能、高级托管功能和快速数据流。事实证明,在过渡期间解耦紧密互连的元素具有挑战性,虽然代码库的年龄和大小是耦合问题的潜在指标,但它们并不是确定的。
2023-12-27 11:14:49 1418
原创 修复 MySQL 数据库的终极指南
如果 MySQL(单个多线程程序)由于磁盘故障或任何应用程序级问题而在写入操作过程中突然终止或终止,则可能会导致数据库损坏。如果您尚未创建任何备份或备份已过时,请使用mysqlcheck命令检查并修复中的表MySQL 数据库。如果 MySQL 服务器由于突然断电或任何其他原因而发生故障,则可能会扰乱数据完整性,从而导致损坏。在本指南中,我们将介绍MySQL 数据库损坏的原因,并提及一些快速修复数据库的有效解决方案。当数据库损坏时,DBA 面临的最大挑战是避免停机,因为这可能会导致生产力和业务损失。
2023-12-26 09:39:42 2210
原创 如何使用队列处理 API 速率限制
在构建健壮的架构时,用于与受速率限制的外部 API 交互的服务或应用程序通常会异步处理任务。当服务遇到速率限制时,它可以轻松地将作业返回到主队列或将其分配到指定用于延迟任务的单独队列,并在特定的等待时间(例如 X 秒)后重新访问它。借助 Memphis,您可以使用专门为此目的而设计的称为“延迟消息”的简单功能,将延迟从客户端转移到队列。当您的消费者应用程序需要额外的处理时间时,延迟消息允许您将收到的消息发送回代理。例如,如果需要 60 秒的延迟,它会精确配置该特定消息的不可见时间。更多技术干货请关注公号【
2023-12-25 10:27:30 866
原创 加速 SQL 查询的 9 种方法
如果您有足够的资源,并且您的数据库支持它,您可以使用内存表来进一步加快速度。例如,如果您需要循环遍历表并根据某些计算更改列,您可以获取要更新的候选数据,将其放入临时表中,使用游标循环遍历该表,然后应用所有在单个操作中更新。只要有可能,将对大表的查询合并为尽可能少的离散操作。例如,如果您有一个表,您想要先按一列查询,然后再按另一列查询,请首先将其合并到单个查询中,然后确保您要查询的列具有覆盖索引。例如,如果您将数据插入表中,然后使用UPDATE它来更改它,就像我刚才所示,那么这是两个单独的事务。
2023-12-25 09:50:51 1454
原创 cilium原理之ebpf尾调用与trace
为了选择要跳转到哪个程序,尾调用使用了程序数组map( BPF_MAP_TYPE_PROG_ARRAY),将map及其索引(index)传递给将要跳转到的程序。但如果给定的map索引中没有程序(无法跳转),执行会继续在原来的程序中执行。官方代码很清晰,需要注意的是:定义函数时,__section_tail(BPF_JMP_MAP_ID, 0)使用的是BPF_JMP_MAP_ID;特殊在于,由于函数的调用是由map来保存的,可以使用TC更新map对应的函数为新的函数,实现ebpf程序的局部更新。
2023-12-22 09:44:33 1206
原创 将遗留系统分解为微服务:第 2 部分
想象一个场景,您有一个大规模的整体系统 - 可能是一个庞大的 C# 控制台应用程序或一个广泛的 SQL Server 存储过程。将复杂的单一报销计算系统迁移到微服务并将其部署在云中是一个变革性的步骤。这种方法不仅使系统现代化,而且在可扩展性、资源利用率和成本节约方面带来了显着的好处,使系统与现代云功能保持一致,并且业务目标。上面列出的服务是可以成为此类系统一部分的组件示例,它们可以通过 API 或消息队列相互交互以执行端到端报销流程。迁移到微服务的目标是将这个大型、复杂的系统分解为更小、更易于管理的组件。
2023-12-22 09:30:37 1517
原创 沃趣&英特尔:构建高性能数据库专有云基座
伴随数据库市场的全面增长,数据库生态领域也迎来巨大机遇。数字化转型和数据驱动业务的普及,企业对高性能数据处理和存储方案的需求增加,如何为数据库的运行和管理打造新一代的基础设施,已经成为越来越急迫和显性的需求,数据库专有云正备受市场关注。通过对数据库软件与底层硬件的统一管理与深度调优,拥有高性能、高可用、TCO成本低等优势,因此更广泛地应用在业务连续性要求、高并发的核心数据库系统。本次沙龙将联合英特尔,分享基于英特尔第四代至强处理器与高性能数据库专有云的研发与应用经验,探讨数据库基座的未来思路。
2023-12-21 09:36:45 749
原创 应用 Strangler 模式将遗留系统分解为微服务
在我的下一篇文章中,我将介绍另一个特定于领域的示例,因为您始终可以在其他地方探索有关微服务的更多一般信息。在考虑客户可以在购物车中执行的操作时,通常只涉及一个主要操作,CreateOrder,即向购物车添加商品。我的主要关注点仍然是根据您的特定需求量身定制的微服务的设计方面。根据 Strangler 模式,您应该能够用新的微服务替换一个模块,同时继续使用其他模块,直到更新的服务准备就绪。正如我所提到的,本指南主要面向那些正在努力启动迁移工作的个人,它提供了特定于业务的示例来帮助理解该过程。
2023-12-21 09:33:18 1260
原创 SQL 是一种声明式语言吗?
在面对一些基本的查询任务时,SQL确实比Java等高级语言更容易学习和使用,但这并不是因为它比Java有更强的“声明性”特性,而是因为它在结构化数据计算方面具有更高的抽象层次比Java。看起来是这样的:我们不需要关心具体的计算过程(遍历employee表中的每一条记录,符合条件的则count加1,不符合则跳过,最后看count) ),只需说出要查询的目标即可。如果我们看几百行SQL(存储过程),我们可以更清楚地看到,SQL仍然诚实地描述了计算过程,并且不同的计算过程可以带来截然不同的计算性能甚至结果。
2023-12-20 10:10:47 1089
原创 SQL 一直是一个很好的解决方案
我确信事情没有那么简单,而且可能有比这更多的数据 - 银行拥有非常可靠的系统,我的猜测是这种可靠性是以更多数据为代价的。当然,由于用户请求,有时会考虑额外的用例,并且随着时间的推移会添加额外的运算符等。在上述过程中,重要的部分是键和值表具有类型为 JSON 的值列:SQL 表的每一列必须具有单一类型,但 JSON 键的值可以是六种不同的有效值中的任何一种JSON 值。就像任何其他语言一样,那些投入学习它的人会找到理由说它是一个好的解决方案,而那些不投资学习它的人会找到理由说它不是一个好的解决方案。
2023-12-20 09:30:52 1119
原创 由于人工智能和自动化,2030 年将不存在的 6 个科技工作岗位
这些人工智能驱动的程序能够执行详尽的测试,而由于时间或资源的限制,人类无法完成这些测试。有趣的是,即使涉及到家庭或办公室设置的物理设备,人工智能驱动的远程诊断工具在准确预测潜在硬件问题方面也在不断改进。然而,人工智能的兴起正在改变这一切。所有这一切的一线希望是,目前从事这些工作的专业人员可能会在短期内通过人工智能和自动化提高生产力,因此有足够的时间进行角色和职责的转变,并出现更光明的未来因此。人工智能驱动的预测分析可以预见可能出现的问题,并采取先发制人的行动来避免问题,其效率远远高于人类希望达到的效果。
2023-12-19 10:40:16 401
原创 如何利用 Kubernetes 的新 CronJob API 进行高效的任务调度
利用 Kubernetes 的新 CronJob API 可以对日常任务进行高效、自动化的管理,从而提高运营效率和系统可靠性。Kubernetes 的 CronJob API 是在云原生环境中自动执行常规任务的关键功能。volumeMounts和volumes:持久卷声明 (PVC) 用于存储来自摄像机的图像和处理后的数据。schedule: "*/5 * * * *":cron 作业每 5 分钟运行一次以处理最近的图像。每晚自动清除系统中的临时文件、日志或未使用的资源,以保持干净高效的环境。
2023-12-19 10:09:37 395
原创 SQL 必须被淘汰的 9 个理由
为什么开发人员和 DBA 用于组织数据的语言如此混乱?以下是我们希望能够退出 SQL 的九个原因,尽管我们可能不会这么做。
2023-12-18 10:50:50 1376
原创 关于负载均衡器您需要了解和执行的所有操作
一种常见的方法是循环算法,其中每个新请求被指向接下来的服务器,形成一个循环。这种简单的方法确保了流量的相对均匀分配,但可能不考虑每台服务器的实际负载或容量。想象一下一台专用的、健壮的机器坐落在你的服务器室中,协调着流量。最少连接将流量引导至活动连接最少的服务器,而加权循环则根据每台服务器的容量分配权重,实现工作负载更细致的分配。此外,一些负载均衡器可以执行基于内容的路由,考虑传入请求的特定特征,如 URL 模式或请求类型。负载均衡器看着传入的流量说:“你去服务器 A,你去服务器 B,你去服务器 C。
2023-12-18 10:22:49 214
原创 使用 Kubernetes 简化数据管理:持久卷大小调整指南
在 Kubernetes 中结合动态调整持久卷大小,尤其是与 AWS 服务集成时,可以提高管理存储资源的灵活性和效率。持久卷提供了一种存储应用程序生成和使用的数据的方法,确保数据在单个 Pod 的生命周期结束后仍然存在。其中,EBS卷通常与Kubernetes一起使用,并支持动态调整大小,非常适合需要灵活存储管理的应用程序。本指南旨在揭开 Kubernetes 中持久卷大小调整过程的神秘面纱,让具有基本 Kubernetes 知识的人员能够轻松掌握,同时为有经验的用户提供有益的见解。
2023-12-15 10:14:28 650
原创 信创认可!沃趣国产数据库云入选“2023 年浙江省信息技术应用创新典型案例”
未来,沃趣科技将继续依托“国产中立的企业级数据库云”产品矩阵,致力于为用户提供更加优秀的国产数据库云平台解决方案与产品,为国内各领域的数字化转型提供强有力的支持。本次征集活动,由浙江省经信厅、省密码管理局、工业和信息化部网络安全产业发展中心联合组织开展,旨在积极贯彻落实国家和浙江省关于信创的决策部署,持续扩大信创技术和产品应用范围,打造一批。,遴选一批示范效应突出、技术水平领先、 推广价值高、产业带动性强的示范项目、自主产品和典型应用,最终形成省信创案例“示范清单”和“培育清单”。
2023-12-14 11:03:38 774
原创 跨线程保持上下文
构建一个大型的、准备就绪的无状态微服务架构时,我们总是面临一个共同的挑战,即如何保持跨服务和线程的请求上下文,包括将上下文传播到子线程中。因此,在需要确保上下文必须在父线程和子线程之间传播的情况下,我们可以使用应用程序范围的静态InheritableThreadLocal变量来保存上下文并在需要时获取它。:在无状态架构中,上下文传播尤为重要,每个服务应该独立运行,不依赖共享状态。有效的上下文传播有助于提高分布式系统的整体可靠性、可观察性和可维护性,提供了在不同服务中移动的事务状态的统一视图。
2023-12-14 10:01:21 147
原创 Docker 与 Podman:揭示容器编排的最佳 25 大常见问题解答
发现 Docker 和 Podman 之间的差异,包括 25 个查询和相应响应的综合汇编。
2023-12-13 09:33:29 1179
原创 微服务最佳实践:构建可扩展且高效的系统
它需要对质量属性要求的透彻理解,以及在考虑权衡的同时做出明智的设计决策的能力。同样重要的是对可用技术选择的深入了解,因为它们在微服务的实施和运营中发挥着关键作用。然而,有效实施微服务需要深入了解最佳实践,以充分发挥微服务的潜力,同时避免常见的陷阱。说明:重用是微服务设计中的一个有价值的原则,但它应该仅限于组织内的特定领域。说明:在特定业务功能经历高流量的情况下,将负责处理查询(信息检索)的微服务与处理命令(状态更改功能)的微服务分开可能是有益的。说明:微服务的设计应能够处理故障,而不会造成大范围的中断。
2023-12-13 09:27:25 1112
原创 什么是连接池?如何确认连接池的大小?
数据库连接是由数据库驱动程序创建的对象,数据库驱动程序是一个软件,用于管理与数据库通信的细节,并使我们的应用程序代码能够轻松地使用数据库。连接维护许多东西,其中包括用于数据交换的套接字 (套接字是两台机器之间连接的松散逻辑表示)以及与数据库的会话,与典型的 Web 会话非常相似。对于编写使用数据库且高性能且资源高效的应用程序,必须处理一项关键资源,但与 CPU、内存等不同,它通常不是很明显。复杂的连接池库,例如HikariCP、C3P0等,可以带来巨大的性能提升并为您的应用程序带来资源效率。
2023-12-12 09:33:50 150
原创 如何打造稳健高效的数据库的基础设施?数据库云提出创新方案
数据库云是指基于云原生技术对数据库容器化后,上层实现对多元混合数据库全生命周期的统一、标准化管理,下层可实现对多元异构IaaS资源的统一、灵活、稳定调度的云平台。与传统数据库管理平台相比,数据库云在架构上更具先进性。数据库管理平台与数据库云平台架构对比示意图传统数据库管理平台对多元数据库进行“旁路”纳管,这种纳管的方式不改变底层数据库与硬件资源紧耦合关系,难以实现数据库横向节点弹性伸缩。
2023-12-12 09:15:55 513
原创 基础设施即代码:云基础设施管理的演变
总之,基础设施即代码提供了一种革命性的云基础设施管理方式,具有速度、一致性、成本效益、可扩展性和更高的安全性等许多优势。基础设施即代码已成为当代云基础设施管理的支柱,使企业能够提高自动化、效率和可扩展性,同时降低与手动配置相关的运营风险和复杂性。基础设施即服务的理念源于对更快、更可靠和可扩展的基础设施管理日益增长的需求,特别是在基于云的环境中。这些原则促进高效的基础设施管理,减少人为错误,增强协作,并使组织能够在动态且快速变化的云环境中更有效地扩展和调整其基础设施。IaC 支持声明式和命令式方法。
2023-12-11 10:16:52 292
原创 无服务器监控工具的演变:提高效率和性能
通过提供功能监控、分布式跟踪、错误监控、资源监控、自动警报和可视化功能,这些工具使开发人员和操作人员能够深入了解其无服务器应用程序的性能、行为和运行状况。由于其动态和事件驱动的性质、分布式架构、困难的资源归属、冷启动、错误监控、多云支持和成本优化,无服务器环境带来了特殊的监控挑战。组织可以利用适当的监控技术和工具来保证无服务器部署的可靠性、可扩展性和成本效益。如果没有无服务器监控工具,无服务器开发生态系统将是不完整的,这些工具为开发人员和操作人员提供了提高性能、解决问题和保证应用程序可靠性所需的知识。
2023-12-11 09:48:57 895
原创 微服务和无服务器架构时代的持续测试
其重要性在于促进持续的细化循环,其中测试的反馈为后续的开发周期提供信息并增强后续的开发周期,从而创建持续改进的文化。这种有条不紊的方法不仅可以在早期阶段识别缺陷,还可以保证服务之间的无缝通信,与微服务的模块化性质保持一致。它是对整个通信框架的验证,形成了对微服务架构信心的基础层。迎接这些创新架构带来的挑战并利用最新的工具和方法可以使开发团队能够以当今数字经济所需的速度交付高质量的软件。在承诺无与伦比的可扩展性和成本效率的同时,它引入了测试方法的范式转变,需要一种新的方法来确保无服务器应用程序的可靠性。
2023-12-08 13:53:52 315
原创 将单体应用程序迁移到微服务
例如,早些时候,单个端点足以让网页与整体交互,但对于微服务,每个端点都将具有单独的端点。通常,我们对核心功能进行健全性测试,但会错过这些错误,或者发现自己惊讶地发现与遥远无关的更改的错误。即使有完整的CI/CD系统和所有测试,由于仓库和测试的规模,开发测试、集成测试等需要时间,发布到生产也需要时间。因此,合并冲突的可能性很大,这会导致解决冲突而不是专注于核心开发带来不必要的负担,从而减慢了功能发布的速度。由于单体系统的所有组件都在单个代码库中实现,因此没有服务间通信/协作的开销,并且实现速度更快。
2023-12-08 09:45:39 1436
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人