写点什么

Data Artisans 发布支持 ACID 事务的流式处理框架 Streaming Ledger

2018 年 9 月 17 日

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

2018 年 9 月 17 日 19:00899
用户头像

发布了 731 篇内容, 共 363.5 次阅读, 收获喜欢 1841 次。

关注

评论

发布
暂无评论
发现更多内容

LeetCode题解:529. 扫雷游戏,BFS,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

架构师week11 作业

Geek_xq

双非学历5年开发,45天吃透Github星标百万的Java全栈思维导图内容,成功斩获百度50W年薪Offer

程序员小毕

Java 架构 面试 分布式 微服务

Kafka消费者提交消费位移时提交的是当前消费到的最新消息的 offset 还是 offset+1?

码农架构

Java kafka 程序员 架构 消息中间件

anyRTC新春大礼包

anyRTC开发者

音视频 WebRTC RTC

Clubhouse是个啥?一夜爆火一码难求

架构精进之路

日更挑战 2月春节不断更 clubhouse

重磅发布 | 2021年OpenAtom XuperChain开源技术路径

百度开发者中心

百度 #区块链#

🎨 HTTP 协议的前世今生

飞天小牛肉

Java 程序员 面试 计算机网络 2月春节不断更

用 JSX 实现 Carousel 轮播组件

三钻

前端 组件化 前端进阶 JSX

SDS离全面EC(纠删码)还有多远?

XSKY融合存储

存储

Kafka生产者哪些重要的参数是我们需要注意的?

码农架构

Java kafka 程序员 消息中间件 架构·

JDK1.8升级这么久!Stream流的规约操作有哪些?

码农架构

Java 架构 jdk 函数编程

函数式编程Stream接口真的有那么好用吗?

码农架构

Java 程序员 Java 8 架构·

堪称最全的JAVA开发手册(基础+框架+分布式微服务+调优)

Crud的程序员

Java 程序员 架构

为什么联盟链系统没有“激励”?

CECBC区块链专委会

区块链

Kafka在哪些场景下会造成重复消费或消息丢失?

码农架构

Java kafka 程序员 消息中间件 架构·

百度亮相全球量子信息处理顶会QIP2021 推动全球量子科技进步

爱极客侠

【得物技术】AB实验设计实现与分流算法

得物技术

算法 AB AB testing实战 实现 得物技术

微服务调用链日志追踪分析

Java王路飞

Java 程序员 架构 面试 微服务

LoraWan的第一个网关与设备

LanLiang

物联网 IoT ChirpStack LoraWan

架构师week11总结

Geek_xq

5年crud经验,三个月啃透888页Java王者级核心宝典,翻身阿里p7

周老师

Java 编程 程序员 架构 面试

安卓开发在线!Android面试吃透这一篇就没有拿不到的offer!大厂内部资料

欢喜学安卓

android 程序员 面试 移动开发

“双循环”下的数字货币棋局

CECBC区块链专委会

数字货币

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Crud的程序员

Java 编程 架构 java面试

第十一周作业&总结

ty

通过配置开关 Spring Boot 中的 @Scheduled 定时任务

码狐

Java 定时任务 springboot

开发Kafka消费者客户端需要注意哪些事项?

码农架构

商务部CECBC专委会-商务联络部长王聚师:中医国际化的数字创新密码

CECBC区块链专委会

数字

【百度技术分享】San介绍以及在百度APP的实践

百度架构师

Java JavaScript feed

即构发布 LCEP 产品「RoomKit」 ,实现房间内0代码接入

ZEGO即构

Data Artisans发布支持ACID事务的流式处理框架Streaming Ledger-InfoQ