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感兴趣,欢送私聊,与更多小伙伴一起探讨。