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

news/2024/7/7 22:17:23

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等关系数据库系统中存在了很长时间。

\\

78d5f3338c6fd62fb0c1dfda1c0cb988.png

\\

来源:Data Artisans Streaming Ledger白皮书

\\

Artisans公司由开源流式处理框架Apache Flink的原作者创建,提供了一个流式处理基础设施,其中包括数据Artisans Platform,也称为dA平台。该平台由Apache Flink、dA应用程序管理器和Streaming Ledger组成。该公司专注于流式处理领域,WSO2研究副总裁Srinath Perera将其描述为一种大数据技术,允许查询数据流并基于信息做出决策。

\\
\

流式处理是一种大数据技术。它让用户能够在接收数据之后的一小段时间内快速查询持续数据流并检测条件。检测时间段可以从几毫秒到几分钟不等。例如,通过流式处理,你可以查询温度传感器的数据流并检测温度何时达到冰点,以便接收警报。

\
\\

data Artisans还发布了一份白皮书,介绍了Streaming Ledger的细节和架构。例如,我们发现该架构由四个基本构建块组成。用于维护应用程序状态的表、用于更新表的事务函数、驱动事务的事务事件流和根据流处理成功或失败发出事件的可选结果流。此外,在事务中修改表时,表与并发更改是相互隔离的。因此,即使是跨多个流,也可以确保数据一致性。

\\

c3ec19d151af5005b77e2fd59660b7c3.png

\\

来源:Data Artisans Streaming Ledger白皮书

\\

Data Artisans还提供了一个GitHub存储库,可以从源代码构建Streaming Ledger或从Maven Central中获取它。此外,存储库还提供了几个入门示例,如SimpleTrade示例,演示了如何使用Streaming Ledger。

\\

查看英文原文:Data Artisans Announces Serializable ACID Transactions on Streaming Data


http://lihuaxi.xjx100.cn/news/237043.html

相关文章

你没听说过的Go语言惊人优点

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 在这篇文章中,我将讨论为什么你需要尝试一下 Go 语言,以及应该从哪里学起。 Go 语言是可能是最近几年里你经常听人说起的编…

Excel VBA教程–如何使用Visual Basic在电子表格中编写代码

介绍 (Introduction) This is a tutorial about writing code in Excel spreadsheets using Visual Basic for Applications (VBA).这是一个有关使用Visual Basic for Applications(VBA)在Excel电子表格中编写代码的教程。 Excel is one of Microsoft’s most popular product…

VC解析XML--使用CMarkup类解析XML

经过今天尝试MFC解析XML串,也算有了不少收获,总结一下。 我是使用的CMarkup类对XML进行操作。 CMarkup好象都是先从一个xml文件里面把内容读出来,再进行解析,搞得我恨不得要把我的CString写到xml文件…

智课雅思词汇---十、pend是什么意思

智课雅思词汇---十、pend是什么意思 一、总结 一句话总结:【词根含义】:悬挂,垂;称量;支付 词根:-pend-, -pens- 【词根含义】:悬挂,垂;称量;支付 【词根来源】:来源于拉丁语动词pendeo, pendere, pependi, - (悬挂,下…

Go语言的9大优势和3大缺点

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 转用一门新语言通常是一项大决策,尤其是当你的团队成员中只有一个使用过它时。今年 Stream 团队的主要编程语言从 Python 转向了 Go。本…

vlookup示例_VLOOKUP示例–如何在Excel中执行VLOOKUP

vlookup示例Microsoft Excel includes a variety of different functions that help users with calculations of any kind. The functionality of Excel is so comprehensive that average users dont even take advantage of most utilities.Microsoft Excel包括各种不同的功…

Python每日一练0023

问题 如何判断一个文件是否存在 解决方案 这个问题可以分成几类问题 如果这里的文件指的是文件或目录,我们可以用os.path.exists()方法 >>> import os >>> os.path.exists(test) True 如果这里的文件指的是普通的文件,我们可以用os.pa…

洛谷P1074 靶形数独(跳舞链)

传送门 坑着&#xff0c;等联赛之后再填&#xff08;联赛挂了就不填了233&#xff09; 1 //minamoto2 #include<iostream>3 #include<cstdio>4 #include<cstring>5 using namespace std;6 #define getc() (p1p2&&(p2(p1buf)fread(buf,1,1<<21,…