data Artisans 宣布推出 Streaming Ledger ,它扩展了 Apache Flink,提供了跨表、键和事件流执行可序列化 ACID 事务的功能。这项正在申请专利的技术是 Flink 的专有附加技术,超越了当前一次只能在一个键上实现一致性的标准。
在发布 Streaming Ledger 之前,流式处理框架(如 Flink 和 Spark)只提供一次性语义,只能在单个键上实现一致性。然而,随着 data Artisans Streaming Ledger 的发布,Flink 现在允许跨越事件状态边界,同时仍然能够保证 ACID 事务。ACID 是事务系统关键组件的首字母缩写。
原子性:事务以原子方式应用所有更改,事务函数要么执行全部修改或不执行任何修改。
一致性:事务函数将表从一个一致状态带入另一个一致状态。
隔离:执行事务时,就好像当前事务是在表上运行的唯一事务。
持久性:事务所做的更改是持久的,永远不会丢失。
根据 ACID 原则实现的事务作为单个操作执行,要么全部完成要么全部失败。这确保了数据一致性,即使是发生了中断或应用程序错误。ACID 事务的一个常用例子是将资金从一个银行账户转移到另一个银行账户。虽然 Streaming Ledger 是流式处理框架中第一个实现 ACID 事务的,但 ACID 事务已经在 SQL Server 和 Oracle 等关系数据库系统中存在了很长时间。
来源:Data Artisans Streaming Ledger 白皮书
Artisans 公司由开源流式处理框架 Apache Flink 的原作者创建,提供了一个流式处理基础设施,其中包括数据 Artisans Platform,也称为 dA 平台。该平台由 Apache Flink、dA 应用程序管理器和 Streaming Ledger 组成。该公司专注于流式处理领域,WSO2 研究副总裁 Srinath Perera 将其描述为一种大数据技术,允许查询数据流并基于信息做出决策。
流式处理是一种大数据技术。它让用户能够在接收数据之后的一小段时间内快速查询持续数据流并检测条件。检测时间段可以从几毫秒到几分钟不等。例如,通过流式处理,你可以查询温度传感器的数据流并检测温度何时达到冰点,以便接收警报。
data Artisans 还发布了一份白皮书,介绍了 Streaming Ledger 的细节和架构。例如,我们发现该架构由四个基本构建块组成。用于维护应用程序状态的表、用于更新表的事务函数、驱动事务的事务事件流和根据流处理成功或失败发出事件的可选结果流。此外,在事务中修改表时,表与并发更改是相互隔离的。因此,即使是跨多个流,也可以确保数据一致性。
来源:Data Artisans Streaming Ledger 白皮书
Data Artisans 还提供了一个 GitHub 存储库,可以从源代码构建 Streaming Ledger 或从 Maven Central 中获取它。此外,存储库还提供了几个入门示例,如 SimpleTrade 示例,演示了如何使用 Streaming Ledger。
查看英文原文: Data Artisans Announces Serializable ACID Transactions on Streaming Data
评论