从Apache Kafka的传统发布订阅系统,到相关的流处理框架,例如Apache Samza,Apache Storm,Apache Flink,都适用于大多数工作在基本决策能力、运行效率、支撑的数据规模和稳定性方面的需求。
然而,Apache这类开源项目,并不能够满足于大多数的行业需求,比如在金融、广告技术、医疗物联、电信等行业。
那使用内存NewSQL数据平台来处理实时数据流有哪些好处呢?
1、复杂的机器学习运算
对于现代程序来说,拥有一个具备实时决策能力的引擎至关重要。虽然传统的流数据处理平台拥有一些基本的机器学习和模式识别能力,但还是缺乏一些重要的场景特性:
基于内存的NewSQL关系数据库管理系统,简称(RDBMS),是为了快速处理复杂的数据而建立。
RDBMS的核心功能,比如:用户自定义函数和存储过程等,可用来用作自定义的机器学习模型,方便嵌入到数据库系统中,进行数据流的实时决策。PMML模型会被自动转化成UDF并运用于生产。
只有基于内存的NewSQL RDBMS可以为现代大规模应用提供可执行的复杂决策+低延迟+高效率等一系列组合需求。
2、目前SQL还是王道
SQL是一个具有悠久历史并被公认的数据查询标准,所有尝试替代SQL的工具最后都以失败告终,其中也包括了像是Apache Hadoop框架下的MapReduce和其他多数NoSQL工具。
带有讽刺的是目前多数NoSQL把重心放在添加SQL或是SQL类似的查询语言。就连Apache Kafka也在顺应SQL的时代,并为了流处理而加入KSQL。
然而,目前KSQL标准离SQL还是相差甚远。
在另一方面,作为一个参照与NewSQL RDBMS而创立的系统,VoltDB在流数据上提供了全面的ANSI适用型SQL,实现更广的查询和操作复杂的事件处理。
此外,ANSI适用型SQL也能给开发者们提供对于快速流处理所需要的熟悉度,灵活度和标准化。NewSQL在给HTAP提供相同的NoSQL可扩展性平台的同时,也不会影响到ACID语义保障。
3、ACID保障很重要
一个优秀的NewSQL RDBMS不仅仅是一个快速、可扩展、容易部署的系统,在简化开发和部署的同时,它还需要提供ACID保障。
从开发者的角度,ACID可理解为:
简单来说,传统的流处理技术已经不能够像NewSQL RDBMS一样符合ACID保障。它们最多只能包含能提供最终一致性的NoSQL数据库。
对于企业来说,数据的准确性和一致性是至关重要的。不完整的资料不仅仅会让企业损失惨重,还会严重影响到企业品牌形象。更多关于NewSQL流处理信息,请参考以下文件:
或复制下方链接下载??
https://www.slidestalk.com/VoltDB/Whitepaper_VoltDBt_Streaming_Processing_ArchitectureF74054
原文:https://www.cnblogs.com/VoltDB/p/14298647.html