Kafka “孕育”了一款开源关系数据库:KarelDB
Java 开发者对 Apache Kafka 应该不会感到陌生,这是一个分布式的发布订阅消息系统,作为一个非常重要的开源项目,它已经被许多公司以及产品用作关键组件。Kafka 及其配套的 Key-Value 存储系统如今也越来越多地被用来为关系数据库提供持久性存储,大多数数据库也使用 Key-Value 存储系统作为基础。
本文将要介绍的这款数据库正是由 Apache Kafka 提供支持,它同样使用了来自 Kafka 配套的 Key-Value 存储系统。
近期面世的 KarelDB 是一款关系数据库,它几乎完全基于开源组件构建,包括用于 SQL 引擎的 Apache Calcite 以及用于事务和控制功能的 Apache Omid。到目前为止,这款数据库仅支持单节点,但 KarelDB 的作者表示它在将来会扩大支持规模。
和其他的新兴数据库一样,KarelDB 同样基于 Kafka 的嵌入式 Key-Value 存储系统和名为 KCache 的内存缓存(in-memory cache)。默认情况下,KarelDB 使用配置成 RocksDB 缓存的 KCache,由应用广泛的 Kafka 流处理软件提供支持。
KarelDB 的作者,同时任职于 Confluent 公司(基于 Apache Kafka 提供流数据平台的供应商)的 Robert Yokota 表示:“这使得 KarelDB 能够支持规模更大的数据集和拥有更快的启动时间。”他还在最近介绍 KarelDB 的博文中补充道:“KCache 可被配置成使用内存缓存而非 RocksDB。”
与 Confluent 基于 Kafka 的平台不同,KarelDB 不是流数据库。尽管如此,Yokota 还是选择了关系数据库,主要是因为它基于 Kafka 支持的开源组件。因此,他认为 KarelDB 有机会流行起来。这些开源组件包括 Calcite,它是一个 SQL 框架,支持将关系查询推送到数据存储系统,这个方法被认为可以提供更高效的处理。Yokota 表示 KarelDB 会从即将推出的 Calcite 优化机制中“自动受益”。
与此同时,Apache Omid 框架与 KarelDB 一起使用,以支持 Key-Value 存储系统上的事务。Omid 最初被设计为面向 HBase NoSQL 数据库的事务管理器,但由于它使用现有的 Key-Value 存储系统来维护事务元数据,因此与 KCache 轻松地配套使用。
Yokota 指出,KarelDB 将类似的功能堆叠在 KCache 的上面以管理事务。Omid 还使用一种独有的名为多版本并发控制(multi-version concurrency control)的技术,以在其他关系数据库中实现“快照隔离(snapshot isolation)”机制。此外,KarelDB 还支持作为嵌入式数据库或服务器运行。在第二种情况下,它使用 Apache Avatica 来支持远程过程调用传输协议(Remote Procedure Call wire protocol)。
Yokota 还认为使用 Kafka 运行这些开源组件有许多优点,其中一个就是多台服务器能够“追踪”同一主题集。也就使得多台 KarelDB 服务器可以作为一个集群运行,而不会产生单一故障点。”
对了,KarelDB 名字的灵感来自一位科学家 —— 它以捷克科幻小说作家 Karel Capek 的名字命名,Karel Capek 被认为发明了“机器人”(robot)一词。此外,还有一门编程语言也是以他的名字命名。
来源:https://www.datanami.com/2019/09/30/kafka-spawns-open-source-kareldb/
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
InfoWorld 公布 2019 年最佳开源软件
近日 InfoWorld 公布了 2019 年最佳开源软件榜单。 InfoWorld 是致力于引领 IT 决策者走在科技前沿的国际科技媒体品牌,每年 InfoWorld 都会根据软件对开源界的贡献,以及在业界的影响力评选出当年的“最佳开源软件”(2019 InfoWorld Bossie Awards,BestofOpenSourceSoftwareawards),该奖项评选已经延续了十多年。 https://www.infoworld.com/article/3444198/the-best-open-source-software-of-2019.html 今年 InfoWorld 还是将目光集中在用于软件开发、云计算、数据分析和机器学习的优秀开源项目。下边一起看看哪些项目入选了。 >>> 点击每个项目名可跳转进入项目介绍页面 BPF Compiler Collection(BCC) BPF Compiler Collection 是一个Linux 动态跟踪工具。无第三方模块依赖,该工具继承 BPF 这个强大的内核中虚拟机的功能,可对程序进行高效而且安全的跟踪。 ...
- 下一篇
OSChina 周四乱弹——有个什么体力活狗都不能闲着
Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享Nana的单曲《Lonely》: 《Lonely》- Nana 手机党少年们想听歌,请使劲儿戳(这里) @花间小酌 : 假期回来,隔壁漂亮妹子脖子上多了一串亮晶晶的项链 你整天还有点别的事吧? 就光看人家的项链…… 是项链好看么? 项链真好看…… 除了上班看项链的, 还有偷摸干别的坏事的。 @天朝八阿哥 :偷偷在公司转了一圈,嗯嗯,大部分都在划水摸鱼 嗯, 前端们都开始画插画了, 不信你看他们群里 公司人多, 就是一群人摸鱼, 公司人少的时候, 就是几个人划水…… @灵魂的叹息 :俩仨人的公司什么体验 还能什么体验…… 公司人员太少了, 有个什么大活的时候, “有个什么体力活的时候,公司的狗都不能闲着。” 虽然干嘛吗, 嘛不行, 但是吃饭行啊, @罗马的王 :公司提供午餐,我却出去花钱吃饭,我是不是不正常? 你自尊心比较强么? 并不是……, 大王(@罗马的王)是一个爱护动物的人, 上次吃饭, 就吃了到了一小动物 @当朝宰相 :单位食堂里 你吃出过什么异物,我曾经吃完一半多菜,菜里有只臭大姐。恶心死了 “别拦着我,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS6,CentOS7官方镜像安装Oracle11G
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作