Data Artisans釋出支援ACID事務的流式處理框架Streaming Ledger
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