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

VoltDB让Kafka支持复杂数据流驱动的实时业务决策相关推荐

  1. ml不是内部或外部命令_美国飞机制造商波音公司采用VR技术训练宇航员 ; Snap Lens Studio推出支持自定义ML驱动的Snapchat镜头...

    看日报是个好习惯!  Valve宣布为Steam开发者推出OpenXR预览版本,支持跨平台VR/AR内容开发  Valve在为Steam游戏开发人员迎接OpenXR面世的准备方面迈出了重要的一步,开发 ...

  2. 中断、轮询、事件驱动、消息驱动、数据流驱动(Flow-Driven)?

    轮询.事件驱动.消息驱动.流式驱动 ---数据流驱动 Unidirectional Architecture? 中断.事件.消息这样一种机制来实现更好的在多任务系统里运行... 阻塞,非阻塞 同步,异 ...

  3. 驱动人生支持Intel显卡驱动30.0.100.9684且提供英特尔最新版显卡驱动

    驱动人生支持Intel显卡驱动30.0.100.9684! 微软6月底发布了Win11系统,现各大厂商都在积极支持新系统了,Intel今天发布了30.0.100.9684显卡驱动,主要升级内容就是增加 ...

  4. sundancest201驱动_FreeBSD72支持的网卡驱动列表.doc

    FreeBSD72支持的网卡驱动列表 FreeBSD7.2支持的网卡驱动列表 3.2 Ethernet Interfaces The ale(4) device driver provides sup ...

  5. 查找当前设备 (Ubuntu) 支持的 NVIDIA 驱动版本

    查找当前设备 (Ubuntu) 支持的 NVIDIA 驱动版本 sudo apt-cache search nvidia* strong@foreverstrong:~$ sudo apt-cache ...

  6. 智能指标驱动的管理和决策平台 Kyligence Zen 全新上线,限量内测中

    6 月 29 日,Kyligence 宣布推出智能指标驱动的管理和决策平台 Kyligence Zen,该产品基于 Kyligence 核心 OLAP 能力打造,利用 AI 增强引擎和预计算技术优势, ...

  7. 工业制造业供应链系统解决方案丨助力企业打通数据流、控制流、业务流

    在工业制造业领域的传统采购模式下,一家大型企业的供应链管理动辄牵涉数10万级SKU,需要对接的供应商多达几千家,不仅让企业供应链管理"负担过重",且流程环节过多也让企业对供应链品质 ...

  8. 关于STM32驱动DS1302实时时钟的一点思考

    关于STM32驱动DS1302实时时钟的一点思考 之前用51驱动过DS1302,没用多久就输出了正确的时间.当时以为这块芯片其实没啥,很简单.但是现在用STM32做项目,用到同样的芯片,以为这有何难, ...

  9. 精心设计的基于组件的C# Win Forms实践 一个框架数据库驱动多个业务逻辑数据库...

    设计一个灵活稳定的多层架构的程序不是件容易的事情.当有了成熟的模式和应用之后,还需要经历各种应用与需求考验,用直白的话说,就是要经得起折腾.最近在重构自己的EPN框架时,有了一些新的体会实践,与各位分 ...

最新文章

  1. 读书笔记 | 墨菲定律(一)
  2. 【二十一】基于mysqli的表格数据练习
  3. 教学感悟 计算机教学,计算机教学心得体会-20210715101406.doc-原创力文档
  4. go-zero:微服务框架
  5. ExtJs Grid 合计 [Ext | GridPanel | GridSummary]
  6. Linux查看修改时间、时区
  7. 【C++深度剖析教程12】数组操作符的重载
  8. 评价目标检测区域的准确性——IoU
  9. 数据库维护管理和监视新特性
  10. java文件编译后,出现xx$1.class的原因
  11. python将图片名写入txt后最新命名并增强图片
  12. Diamond3.5软件的使用--(2)新建工程并生成可烧录文件
  13. 辨别 优盘 真假 [金士顿]
  14. 我要偷偷的学Python,然后惊呆所有人(第三天)
  15. Vue-第三方库扩展
  16. Mac下将ISO写入U盘镜像
  17. ITK入门教程(12)点集之得到存储的点
  18. 七天毁灭地球的十种方法
  19. 基于MIMO的滤波器组多载波调制技术(后期将附上MATLAB代码)
  20. 菜鸟学数据库——超键、候选键、主键、外键

热门文章

  1. LAZADA怎么做精品?
  2. display属性介绍
  3. DNS、HTTP 与 HTTPS
  4. 为什么游戏帧数一般要到 60 帧每秒才流畅,而过去的大部分电影帧数只有 24 帧每秒却没有不流畅感?
  5. java jframe 卡死_java - JFrame的无响应KeyListener
  6. Linux 信号:signal 与 sigaction
  7. Web 前端开发学习资料整理
  8. 小论文写作指南(AI类)
  9. 关于android老年人关怀系统,基于Android环境的老人社交应用平台设计研究
  10. Spark中常用的聚合算子说明及使用