从Apache Kafka的传统发布订阅系统,到相关的流处理框架,例如Apache Samza,Apache Storm,Apache Flink,都适用于大多数工做在基本决策能力、运行效率、支撑的数据规模和稳定性方面的需求。数据库
然而,Apache这类开源项目,并不可以知足于大多数的行业需求,好比在金融、广告技术、医疗物联、电信等行业。并发
那使用内存NewSQL数据平台来处理实时数据流有哪些好处呢?框架
一、复杂的机器学习运算机器学习
对于现代程序来讲,拥有一个具有实时决策能力的引擎相当重要。虽然传统的流数据处理平台拥有一些基本的机器学习和模式识别能力,但仍是缺少一些重要的场景特性:ide
基于内存的NewSQL关系数据库管理系统,简称(RDBMS),是为了快速处理复杂的数据而创建。函数
RDBMS的核心功能,好比:用户自定义函数和存储过程等,可用来用做自定义的机器学习模型,方便嵌入到数据库系统中,进行数据流的实时决策。PMML模型会被自动转化成UDF并运用于生产。工具
只有基于内存的NewSQL RDBMS能够为现代大规模应用提供可执行的复杂决策+低延迟+高效率等一系列组合需求。oop
二、目前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语义保障。
三、ACID保障很重要
一个优秀的NewSQL RDBMS不只仅是一个快速、可扩展、容易部署的系统,在简化开发和部署的同时,它还须要提供ACID保障。
从开发者的角度,ACID可理解为:
简单来讲,传统的流处理技术已经不可以像NewSQL RDBMS同样符合ACID保障。它们最多只能包含能提供最终一致性的NoSQL数据库。
对于企业来讲,数据的准确性和一致性是相当重要的。不完整的资料不只仅会让企业损失惨重,还会严重影响到企业品牌形象。更多关于NewSQL流处理信息,请参考如下文件:
或复制下方连接下载