Java開發(fā)者對Apache Kafka應(yīng)該不會(huì)感到陌生,這是一個(gè)分布式的發(fā)布訂閱消息系統(tǒng),作為一個(gè)非常重要的開源項(xiàng)目,它已經(jīng)被許多公司以及產(chǎn)品用作關(guān)鍵組件。Kafka及其配套的Key-Value存儲(chǔ)系統(tǒng)如今也越來越多地被用來為關(guān)系數(shù)據(jù)庫提供持久性存儲(chǔ),大多數(shù)數(shù)據(jù)庫也使用Key-Value存儲(chǔ)系統(tǒng)作為基礎(chǔ)。
本文將要介紹的這款數(shù)據(jù)庫正是由 Apache Kafka提供支持,它同樣使用了來自Kafka配套的Key-Value存儲(chǔ)系統(tǒng)。

近期面世的KarelDB是一款關(guān)系數(shù)據(jù)庫,它幾乎完全基于開源組件構(gòu)建,包括用于SQL引擎的Apache Calcite以及用于事務(wù)和控制功能的Apache Omid。到目前為止,這款數(shù)據(jù)庫僅支持單節(jié)點(diǎn),但 KarelDB的作者表示它在將來會(huì)擴(kuò)大支持規(guī)模。
和其他的新興數(shù)據(jù)庫一樣,KarelDB同樣基于Kafka的嵌入式Key-Value存儲(chǔ)系統(tǒng)和名為 KCache 的內(nèi)存緩存(in-memory cache)。默認(rèn)情況下,KarelDB使用配置成RocksDB緩存的KCache,由應(yīng)用廣泛的Kafka流處理軟件提供支持。
KarelDB的作者,同時(shí)任職于Confluent公司(基于Apache Kafka提供流數(shù)據(jù)平臺(tái)的供應(yīng)商)的Robert Yokota表示:“這使得KarelDB能夠支持規(guī)模更大的數(shù)據(jù)集和擁有更快的啟動(dòng)時(shí)間。”他還在最近介紹KarelDB的博文中補(bǔ)充道:“KCache可被配置成使用內(nèi)存緩存而非RocksDB。”
與 Confluent基于Kafka的平臺(tái)不同,KarelDB不是流數(shù)據(jù)庫。盡管如此,Yokota還是選擇了關(guān)系數(shù)據(jù)庫,主要是因?yàn)樗贙afka支持的開源組件。因此,他認(rèn)為KarelDB有機(jī)會(huì)流行起來。這些開源組件包括Calcite,它是一個(gè)SQL框架,支持將關(guān)系查詢推送到數(shù)據(jù)存儲(chǔ)系統(tǒng),這個(gè)方法被認(rèn)為可以提供更高效的處理。Yokota表示KarelDB會(huì)從即將推出的Calcite優(yōu)化機(jī)制中“自動(dòng)受益”。
與此同時(shí),Apache Omid框架與KarelDB一起使用,以支持Key-Value存儲(chǔ)系統(tǒng)上的事務(wù)。Omid最初被設(shè)計(jì)為面向HBase NoSQL數(shù)據(jù)庫的事務(wù)管理器,但由于它使用現(xiàn)有的Key-Value存儲(chǔ)系統(tǒng)來維護(hù)事務(wù)元數(shù)據(jù),因此與KCache輕松地配套使用。
Yokota指出,KarelDB將類似的功能堆疊在KCache的上面以管理事務(wù)。Omid還使用一種獨(dú)有的名為多版本并發(fā)控制(multi-version concurrency control)的技術(shù),以在其他關(guān)系數(shù)據(jù)庫中實(shí)現(xiàn)“快照隔離(snapshot isolation)”機(jī)制。此外,KarelDB還支持作為嵌入式數(shù)據(jù)庫或服務(wù)器運(yùn)行。在第二種情況下,它使用 Apache Avatica 來支持遠(yuǎn)程過程調(diào)用傳輸協(xié)議(Remote Procedure Call wire protocol)。
Yokota還認(rèn)為使用Kafka運(yùn)行這些開源組件有許多優(yōu)點(diǎn),其中一個(gè)就是多臺(tái)服務(wù)器能夠“追蹤”同一主題集。也就使得多臺(tái)KarelDB服務(wù)器可以作為一個(gè)集群運(yùn)行,而不會(huì)產(chǎn)生單一故障點(diǎn)。”
對了,KarelDB名字的靈感來自一位科學(xué)家——它以捷克科幻小說作家Karel Capek的名字命名,Karel Capek被認(rèn)為發(fā)明了“機(jī)器人”(robot)一詞。此外,還有一門編程語言也是以他的名字命名。
特別提醒:本網(wǎng)內(nèi)容轉(zhuǎn)載自其他媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系我們,本站將會(huì)在24小時(shí)內(nèi)處理完畢。
相關(guān)推薦
- 華納云618大促,166元買8H16G5M香港cn2云服務(wù)器,大帶寬服務(wù)器688起
- 域名過期多久后才可以重新注冊?RAKsmart域名攻略
- RAKsmart防護(hù)配置實(shí)戰(zhàn):10Gbps套餐部署指南
- 什么是遞歸解析服務(wù)器?與其他DNS服務(wù)器有啥區(qū)別
- 什么是遞歸解析服務(wù)器?與其他DNS服務(wù)器有啥區(qū)別
- 如何利用RAKsmart服務(wù)器實(shí)現(xiàn)高效多站點(diǎn)部署方案
- 華納云香港高防服務(wù)器150G防御4.6折促銷,低至6888元/月,CN2大帶寬直連清洗,終身循環(huán)折扣
- RakSmart服務(wù)器成本優(yōu)化策略