ToplingDB的分布式Compact和RocksDB的RemoteCompaction有什么不同

ToplingDB的分布式Compact和RocksDB的RemoteCompaction不同之处:1、可靠性不同;2、可观测性不同等。可靠性不同是指 RocksDB 的 RemoteCompaction 还处在 Experimental 状态,ToplingDB 的分布式 Compact 已在托管 Todis 中使用多时。
Rocksdb 是基于Google LevelDB研发的高性能kv持久化存储引擎,以库组件形式嵌入程序中,为大规模分布式应用在ssd上运行提供优化。RocksDB不提供高层级的操作,例如备份、负载均衡、快照等,而是选择提供工具支持将实现交给上层应用。正是这种高度可定制化能力,允许RocksDB对广泛的需求和工作负载场景进行定制。
RocksDB 是一个基于键值对存储接口的存储引擎库,其中键和值是任意字节流。RocksDB 将所有数据按排序顺序组织起来,常用的操作有Get(key), NewIterator(), Put(key, val), Delete(key), 和SingleDelete(key)。
RocksDB 的三个基本结构是memtable、sstfile和logfile。memtable是一种内存数据结构 – 新的写入被插入到memtable中,并且可以选择写入日志文件(又名。Write Ahead Log(WAL))。日志文件是存储上按顺序写入的文件。当 memtable 填满时,它会被刷新到存储上的sstfile,并且可以安全地删除相应的日志文件。对 sstfile 中的数据进行排序以方便查找键。
RocksDB使用布隆过滤器来判定键在哪个sst文件中。为了避免随机写,它将数据积累到内存中的memtable中,然后一次性刷写到硬盘中。RocksDB的文件是不可变的,一旦生成就不会继续写该文件。记录不会被更新或者删除,会生成一个新文件。这会在硬盘生成一些多余的数据,会需要数据库Compaction(压缩),Compaction文件会移除冗余的键值对并腾出空间。
RocskDB结构和levelDB大同小异,只是多了一些改进:
ToplingDB 是 较好ling 开发的 KV 存储引擎,fork 自 RocksDB,进行了很多改造,其中一个最重要的功能是分布式 Compact,将 Compact 从 DB 结点转移到由多个 DB 共享的计算集群中执行,实现了降本增效的目的。
在一些应用中(例如 pika、kvrocks 等等),CompactionFilter 需要反查 DB(使用 DB::Get) 获取元数据,而在 Compact 服务中,只有 SST,没有 DB 对象,这就使得 CompactionFilter 无法在 Compact 服务中工作。
在 Todis 中,我们通过事先把 CompactionFilter 反查会用到的元数据捞出来,然后在 Compact 服务中访问,代替原本的 DB::Get,为此我们还对 Todis 的数据进行了针对性的编码。
在 kvrocks 中,因为数据的组织方式,无法通过编码在 Compact 服务中有效地代替原本的 DB::Get,所以,只有 metadata 才能支持分布式 Compact。kvrocks 中各种数据类型的 metadata 保存在一起,如果照搬 todis 的方案,事先捞数据,捞到的元数据很可能 99.9% 都是无用的元数据,例如 compact hash 数据时,事先捞出来的元数据可能大都是 string 数据。
延伸阅读1:数据库存储引擎是什么
存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎。
最后建议,企业在引入信息化系统初期,切记要合理有效地运用好工具,这样一来不仅可以让公司业务高效地运行,还能最大程度保证团队目标的达成。同时还能大幅缩短系统开发和部署的时间成本。特别是有特定需求功能需要定制化的企业,可以采用我们公司自研的企业级低代码平台:织信Informat。 织信平台基于数据模型优先的设计理念,提供大量标准化的组件,内置AI助手、组件设计器、自动化(图形化编程)、脚本、工作流引擎(BPMN2.0)、自定义API、表单设计器、权限、仪表盘等功能,能帮助企业构建高度复杂核心的数字化系统。如ERP、MES、CRM、PLM、SCM、WMS、项目管理、流程管理等多个应用场景,全面助力企业落地国产化/信息化/数字化转型战略目标。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。
相关文章推荐