Kafka 孕育开源 KarelDB

Apache Kafka 及其配套的键值存储系统如今用于为越来越多的关系数据库提供持久性存储。大多数数据库使用键值存储系统作为基础。

最近冒出来的 KarelDB 是一种关系数据库,它几乎完全建立在开源组件的基础上,包括用于 SQL 引擎的 Apache Calcite 以及用于事务和控制功能的 Apache Omid。到目前为止,该开源数据库仅支持单个节点,但是数据库行业观察人士认为它大有希望在将来扩大支持规模。

KaralDB 及其他新兴数据库立足于 Kafka 嵌入式键值存储系统和名为 KCache 的内存中缓存。默认情况下,这个新的关系数据库使用配置成 RocksDB 缓存的 KCache,而应用广泛的 Kafka 流处理软件支持 RocksDB 缓存。

基于 Kafka 的数据流平台供应商 Confluent 的 Robert Yokota 特别指出:“这让 KarelDB 得以支持更庞大的数据集和更快速的启动时间。”Yokota 在最近介绍 KarelDB 的博文中补充道:“如果需要,还可以配置 KCache,以便使用内存中缓存而不是使用 RocksDB。”

与 Confluent 基于 Kafka 的平台不同,KarelDB 不是一种数据流数据库。不过,Yokota 之所以为该关系数据库摇旗呐喊,主要原因是它基于 Kafka 支持的开源组件。因此,他认为它有可能流行起来。

那些开源组件包括 Calcite,这种 SQL 框架将关系查询推送到数据存储系统,该方法被认为可以提供更高效的处理。Yokota 特别指出,KarelDB 将从即将发布的 Calcite 优化机制中“自动受益”。

其他开源项目(比如 Apache Flink 流处理引擎)也充分利用了 Calcite,包括 SQL API。Calcite 还包括一个 SQL 解析器。

与此同时,Apache Omid 框架与 KarelDB 一起使用,以支持键值存储系统上的事务。Omid 最初被设计为面向 HBase NoSQL 数据库的事务管理器,但由于它使用现有的键值存储系统来维护事务元数据,因此与 KCache 相辅相成、相得益彰。

Yokota 特别指出,KarelDB 将诸如此类的功能堆叠在 KCache 的上面以管理事务。Omid 还使用一种名为多版本并发控制的技术,在其他关系数据库中实现“快照隔离”机制。

KarelDB 还因能够作为嵌入式数据库或服务器运行而受到吹捧。在后一种情况下,它使用 Apache Avatica 支持远程过程调用(PRC)传输协议。

Yokota 特别指出,使用 Kafka 运行诸如此类的开源组件有诸多优点,其中之一在于多台服务器能够“跟踪”(tail)同一主题集。他补充道:“这让多台 KarelDB 服务器可以作为一个集群运行,没有单一故障点。”

KarelDB 以捷克科幻小说作家 Karel Capek 的名字命名,世人认为是他发明了“机器人”(robot)一词。一种编程语言也以他的名字命名。

(免责声明:本网站(https://c.shenzhoubb.com)
内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。)

转载 [运维派]