乐趣区

关于数据库:VoltDB让Kafka支持复杂数据流驱动的实时业务决策

01 简介

VoltDB 是一个高速决策引擎,为必须在数毫秒内做出响应的应用程序提供基础架构反对,实用场景包含 BSS(策略和免费)、预防欺诈、客户价值治理(即个性化)和实时工业自动化等等,那些通过实时决策能够增加收入或缩小损失的场景。

这些应用程序通常须要 VoltDB 运行在一个多样化和异构计算的软件生态里,它须要与各种技术集成对接,包含 Apache Kafka。实际上,Kafka 未然成为企业音讯队列的首选中间件。Kafka Connectors 丰盛的生态系统让其它技术框架与 VoltDB 集成变得很简略。

尽管有很多技术能够从 Kafka 里提取数据来并交给上游进一步解决,但可能同时实现实时数据决策需要的技术就比比皆是了。

通过订阅 Kafka Topic,VoltDB 能够间接从 Kafka 上提取数据,并在 10 毫秒内实现数据决策,而后立刻把后果发送回 Kafka,在欺骗施行得手或者失去盈利机会前,实现相干决策执行。

VoltDB 让企业在 Kafka 技术生态的投值增值,它实现了在简单流数据上的实时决策能力,让利用开发重心放在解决重要的业务逻辑上,在实时实现数据的剖析、解决和批改。

咱们的客户通过集成 VoltDB 和 Kafka,赋能让各种利用场景,比方:让电话接线员给在 90 多个国家的用户提供实时的个性化服务,帮忙须要大规模、高并发、实时响应的大型体育运动平台提供晦涩的个性化用户体验。

在曾经建设成熟的事件驱动型软件架构中,只须要退出 VoltDB,您的应用程序就能够取得实时分布式事务决策的能力,能够有效应对 5G 时代下的物联网、机器学习的实时推理决策需要。

随着 5G、机器学习和物联网的迅猛发展,VoltDB 和 Kafka 技术的对接曾经十分成熟,它使 Kafka 可能疾速并无缝地查问简单的流数据。Kafka 建于 2011 年,用于解决流数据,那时 5G,物联网和机器学习等实时处理的需要还并不是特地旺盛,因而,只管 Kafka 在某些场景下能够失常工作,但可能不适用于当代疾速查问简单流数据的场景。

02 Kafka 的弱小之处

当今的经济是建设在常识和数据的根底上的。与来日的石油经济一样,古代公司须要搭建基础设施,并疾速并无效地解决这些常识和数据。

通过创立一个只为了让线性数据流动的地方管理系统,Apache Kafka 在很大水平上升高了零碎的复杂程度。Kafka 齐全是从头开始建造的吞吐量显著高于任何连贯组件。最初,它是作为实时流数据平台构建的,始终能够让数据流实时传递。

Kafka 不只是在信息传输下面表现出色,它还有其它劣势:无限度的程度扩展性和简略的数据存储,在实时的流数据传递过程中能够无性能损耗的存储数据。

尽管 Kafka 加上 KsqIDB 能够通过类 SQL 语言读取实时流数据,如果须要进行贮存和运算数据的话则须要多种辅助工具比方 NoSQL 数据库、流解决技术和规定引擎等。为了达到 5G、工业物联网及它们相干的实时控制回路所须要的低提早规范和智能化要求,咱们须要将这些技术封装到一个中间件里,这就是 VoltDB。

03 你的抉择:集成还是替换

依据架构和事件驱动架构的倒退水平,应用程序能够通过应用 importer-exporter 框架将 VoltDB 与 Kafka 音讯队列集成,或者能够应用新的 Topics 性能自身将 VoltDB 用作 Kafka 音讯队列。以下是这两个选项的简要概述。

3.1 用 importer-exporter 框架来进行整合
VoltDB 的 importer-exporter 框架提供了与其余技术(如 Kafka,Kinesis,JDBC,Elastic,Hadoop 等)的无代码集成。
导入程序将数据流传输到 VoltDB 中以按事件进行提取,同时确保音讯 / 记录在存储后的持久性导入到 VoltDB。而后,exporter 能够以 At-Least Once 语义,将后处理音讯 / 记录推送到上游零碎。

3.2 导入
Importer 框架让用户程序集成 VoltDB 到事件驱动型架构。VoltDB 的 Importer 框架治理如下过程:

  1. 轮询内部零碎是否有新的可用数据
  2. 导入数据
  3. 逐条解决数据
  4. 在同一个存储过程中,顺次传递数据给应用程序的业务逻辑,实现用户的自定义业务解决

能够在配置文件中或通过 VoltDB 的用户界面申明性地配置用于不同零碎的 Importer。这些内置的导入器在数据库启动时主动运行,在数据库进行时主动进行,使数据导入成为数据库操作过程的一部分。此外,Importer 连接器还为摄取的事件提供持久性,以确保在劫难状况下不会失落任何数据。能够在正在运行中的数据库上创立导入程序实例,而无需停机。

VoltDB Kafka Importer 应用 Kafka Consumer API 从多个 Kafka 代理和多个 Topic 提取数据。开发人员能够应用与 Kafka Consumer 雷同的属性配置导入程序。

3.3 导出
导出会主动执行与导入相同的过程,捕捉写入到导出表或流中的所有数据并将其发送到关联的内部指标,无论是文件,服务(例如 Kafka)还是其它数据库。
开发者能够抉择导出特定记录或迁徙因为 TTL 过期而从表中删除的行。导出过程是事务性的,因而开发人员能够确保导出期间不会失落任何记录。VoltDB 保障每条数据记录将至多导出一次(At – Least Once)。

3.4 替换

VoltDB Topic 个性(测试版)

在 v10.1 版本里,Topic 个性容许应用程序应用公布和订阅语义与 VoltDB 连贯。除了提供更好的语义以与其它系统集成外,这该性能还容许将 VoltDB 用作音讯队列,一站式实现 VoltDB 实时数据流治理和实时数据处理。
通过规范的 Kafka Consumer API 和 Producer API 来集成此性能,VoltDB 能够轻松替换 Kafka,特地是对于须要低提早事务处理的数据流场景。
图片
新的 Topic 个性带给应用程序带来的益处在于:

  • 通过缩减 Kafka 集群的大小来降低成本
  • 缩小逾越组件带来的网络提早,从而升高整体的端到端提早
  • 更简略的架构设计
  • 复用 Kafka Connect 生态

VoltDB 实现 Kafka API Topic 的劣势之一是能够复用 Kafka Connect,让 VoltDB 能够无缝替换 Kafka,与那些曾经和 Kafka 集成绑定的风行技术计划更容易集成 VoltDB。利用零碎架构中只用替换大量组件,就能够将发布者和使用者间接嵌入,充沛复用丰盛的 Kafka Connect 生态组件。

通过应用 Source 和 Sink Kafka 连接器将各种零碎与 VoltDB 集成在一起,开发人员能够轻松地将其数据管道连贯在一起,以充分利用将音讯队列与简单的决策引擎联合在一起的独特劣势。

04 结束语

古代的大数据和 5G 的场景需要,与传统的根底软件架构零碎适用性有大量的抵触。传统基础设施,因为没有足够能力去应酬瞬息万变的利用场景而行将成为历史。Kafka 是在 2011 年被创造的,那是还是没有 5G 和物联网概念的时代,简略查询处理能力的程序还实用于那个期间。现在时代曾经不一样了,Kafka 尽管目前还是一个弱小的流数据处理器,然而它仍须要一些场外支援,能力在简单流数据上实现实时决策。

如果您正在应用 Kafka,VoltDB 与 Kafka 的集成也是容易的。但因为置信并理解 Kafka 的弱小性能以及客户的需要,咱们始终在寻找更多办法来与诸如 Kafka 的这类关键技术集成,这就是咱们创立 Kafka Importer 和 Exporter 工具的起因,也是咱们开发新的 pub-sub 性能的起因。

最重要的是:无论客户是否应用 Kafka,咱们都心愿客户的数据库体系结构反对并减速其业务指标,而不是提供让人困扰的计划。这也是咱们总是提供各种选项,以及与客户探讨数据架构需要的起因。

对于 VoltDB

VoltDB 反对须要实时智能决策的应用程序,以实现互联世界,同时又不影响 ACID 要求。没有其余数据库产品能够同时为须要低延时、大规模、高并发数和准确性相结合的应用程序加油。

VoltDB 由 2014 年图灵奖的获得者 Mike Stonebraker 博士创立,他对关系数据库进行了从新设计,以应答当今一直增长的实时操作和机器学习挑战。Stonebraker 博士对数据库技术钻研已有 40 多年,在疾速数据,流数据和内存数据库方面带来了泛滥翻新理念。

在 VoltDB 的研发过程中,他意识到了利用内存事务数据库技术开掘流数据的全副后劲,岂但能够满足解决数据的提早和并发需要,还能提供实时剖析和决策。VoltDB 是业界可信赖的名称,曾经由诺基亚,金融时报,三菱电机,HPE,巴克莱,华为等当先组织单干有理论场景落地。

如果您对 VoltDB 感兴趣,欢送私聊,与更多小伙伴一起探讨。

退出移动版