使用内存NewSQL数据平台来处理实时数据流的三个好处
从Apache Kafka的传统发布订阅系统,到相关的流处理框架,例如Apache Samza,Apache Storm,Apache Flink,都适用于大多数工作在基本决策能力、运行效率、支撑的数据规模和稳定性方面的需求。
然而,Apache这类开源项目,并不能够满足于大多数的行业需求,比如在金融、广告技术、医疗物联、电信等行业。
那使用内存NewSQL数据平台来处理实时数据流有哪些好处呢?
1、复杂的机器学习运算
对于现代程序来说,拥有一个具备实时决策能力的引擎至关重要。虽然传统的流数据处理平台拥有一些基本的机器学习和模式识别能力,但还是缺乏一些重要的场景特性:
- 以毫秒为单位来实时决策复杂的、有大量参数变量和上下文状态的场景
- 从历史数据和实时数据流中,动态训练和更新机器学习模型的场景
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可理解为:
- 简化的查询过程。把复杂的单个数据表查询语句简化成多个查询语句,通过引入事务的概念确保他们有相同的执行结果,严格的ACID要求确保了这些查询语句是可以独立执行的。
- 更容易的数据测试。对于数据库的数据变更,都可以通过事务操作来完成,在完成数据测试之前回滚事务状态即可。隔离性确保了多个数据测试可以并行执行,不会导致数据在不确定状态下被修改。
- 更快的并发。ACID保障每个事务的隔离性前提下,并发的程序可以运行地更加快,也不需要开发者们在自己应用逻辑中考虑不同事务操作的并发时序。
对于企业来说,数据的准确性和一致性是至关重要的。不完整的资料不仅仅会让企业损失惨重,还会严重影响到企业品牌形象。更多关于NewSQL流处理信息,请参考以下文件:
文章图片
或复制下方链接下载
【使用内存NewSQL数据平台来处理实时数据流的三个好处】https://www.slidestalk.com/VoltDB/Whitepaper_VoltDBt_Streaming_Processing_ArchitectureF74054
推荐阅读
- 推荐一款精致的免费开源图标库,前端开发直接引入使用
- 详解字符编码与 Unicode
- 人民银行发布非银行支付机构客户备付金存管办法|人民银行发布非银行支付机构客户备付金存管办法 进一步细化备付金存放、使用、划转规定
- Python运算符之Inplace运算符的使用教程
- KBQA|使用句法依存分析实现KBQA中的约束挂载
- vue项目性能优化
- PL/SQL Developer使用英文提示
- npm version 使用方法
- verilog|verilog实现1101序列检测器
- 案例分享(在生产中持续使用Amazon CodeGuru Profiler进行程序优化)