Kafka 孕育开源 KarelDB
生活随笔
收集整理的這篇文章主要介紹了
Kafka 孕育开源 KarelDB
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
點(diǎn)擊上方“朱小廝的博客”,選擇“設(shè)為星標(biāo)”
回復(fù)”666“獲取公眾號(hào)專屬資料
Apache Kafka及其配套的鍵值存儲(chǔ)系統(tǒng)如今用于為越來(lái)越多的關(guān)系數(shù)據(jù)庫(kù)提供持久性存儲(chǔ)。大多數(shù)數(shù)據(jù)庫(kù)使用鍵值存儲(chǔ)系統(tǒng)作為基礎(chǔ)。最近冒出來(lái)的KarelDB是一種關(guān)系數(shù)據(jù)庫(kù),它幾乎完全建立在開(kāi)源組件的基礎(chǔ)上,包括用于SQL引擎的Apache Calcite以及用于事務(wù)和控制功能的Apache Omid。到目前為止,該開(kāi)源數(shù)據(jù)庫(kù)僅支持單個(gè)節(jié)點(diǎn),但是數(shù)據(jù)庫(kù)行業(yè)觀察人士認(rèn)為它大有希望在將來(lái)擴(kuò)大支持規(guī)模。
KaralDB及其他新興數(shù)據(jù)庫(kù)立足于Kafka嵌入式鍵值存儲(chǔ)系統(tǒng)和名為KCache的內(nèi)存中緩存。默認(rèn)情況下,這個(gè)新的關(guān)系數(shù)據(jù)庫(kù)使用配置成RocksDB緩存的KCache,而應(yīng)用廣泛的Kafka流處理軟件支持RocksDB緩存。
基于Kafka的數(shù)據(jù)流平臺(tái)供應(yīng)商Confluent的Robert Yokota特別指出:“這讓KarelDB得以支持更龐大的數(shù)據(jù)集和更快速的啟動(dòng)時(shí)間。”Yokota在最近介紹KarelDB的博文中補(bǔ)充道:“如果需要,還可以配置KCache,以便使用內(nèi)存中緩存而不是使用RocksDB。”
與Confluent基于Kafka的平臺(tái)不同,KarelDB不是一種數(shù)據(jù)流數(shù)據(jù)庫(kù)。不過(guò),Yokota之所以為該關(guān)系數(shù)據(jù)庫(kù)搖旗吶喊,主要原因是它基于Kafka支持的開(kāi)源組件。因此,他認(rèn)為它有可能流行起來(lái)。
那些開(kāi)源組件包括Calcite,這種SQL框架將關(guān)系查詢推送到數(shù)據(jù)存儲(chǔ)系統(tǒng),該方法被認(rèn)為可以提供更高效的處理。Yokota特別指出,KarelDB將從即將發(fā)布的Calcite優(yōu)化機(jī)制中“自動(dòng)受益”。
其他開(kāi)源項(xiàng)目(比如Apache Flink流處理引擎)也充分利用了Calcite,包括SQL API。Calcite還包括一個(gè)SQL解析器。
與此同時(shí),Apache Omid框架與KarelDB一起使用,以支持鍵值存儲(chǔ)系統(tǒng)上的事務(wù)。Omid最初被設(shè)計(jì)為面向HBase NoSQL數(shù)據(jù)庫(kù)的事務(wù)管理器,但由于它使用現(xiàn)有的鍵值存儲(chǔ)系統(tǒng)來(lái)維護(hù)事務(wù)元數(shù)據(jù),因此與KCache相輔相成、相得益彰。
Yokota特別指出,KarelDB將諸如此類的功能堆疊在KCache的上面以管理事務(wù)。Omid還使用一種名為多版本并發(fā)控制的技術(shù),在其他關(guān)系數(shù)據(jù)庫(kù)中實(shí)現(xiàn)“快照隔離”機(jī)制。
KarelDB還因能夠作為嵌入式數(shù)據(jù)庫(kù)或服務(wù)器運(yùn)行而受到吹捧。在后一種情況下,它使用Apache Avatica支持遠(yuǎn)程過(guò)程調(diào)用(PRC)傳輸協(xié)議。
Yokota特別指出,使用Kafka運(yùn)行諸如此類的開(kāi)源組件有諸多優(yōu)點(diǎn),其中之一在于多臺(tái)服務(wù)器能夠“跟蹤”(tail)同一主題集。他補(bǔ)充道:“這讓多臺(tái)KarelDB服務(wù)器可以作為一個(gè)集群運(yùn)行,沒(méi)有單一故障點(diǎn)。”
KarelDB以捷克科幻小說(shuō)作家Karel Capek的名字命名,世人認(rèn)為是他發(fā)明了“機(jī)器人”(robot)一詞。一種編程語(yǔ)言也以他的名字命名。
Github:https://github.com/rayokota/kareldb
想知道更多?掃描下面的二維碼關(guān)注我
怎么加群?:
怎么免費(fèi)加入知識(shí)星球:
免費(fèi)資料入口:后臺(tái)回復(fù)“666”
掘金小冊(cè)支付通道開(kāi)啟,有需要購(gòu)買電子版的《深入理解Kafka》的同學(xué)可以在公眾號(hào)后臺(tái)回復(fù):【電子版】 或者 【Kafka】獲取海報(bào)購(gòu)買。
朕已閱?
總結(jié)
以上是生活随笔為你收集整理的Kafka 孕育开源 KarelDB的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 万亿条数据查询如何做到毫秒级响应?
- 下一篇: Visual Studio Code,这