文档数据库服务 DDS-DDS 4.2及其以上版本切RocksDB存储引擎相关问题Q&A:RocksDB优势在哪里?
RocksDB优势在哪里?
表1从开源生态、存储空间、可定制化、内存高压场景、频繁更新删除场景、多表场景六个方面描述了RocksDB对比WiredTiger的优势。
存储引擎 |
RocksDB |
WiredTiger |
---|---|---|
开源生态 |
RocksDB相比WiredTiger有更好的开源生态(github stars),一些知名数据库比如TIDB/CRDB/YUGADB都采用了RocksDB做为存储引擎。 |
开源社区生态不如RocksDB。 |
存储空间 |
RocksDB数据写入过程中,部分业务场景会临时保存多个版本的数据,多版本数据会在后续做异步归并为最终版本,因此存储空间可能会存在临时上涨。 |
WiredTiger落盘只保留最新版本的数据,存储空间消耗相对少。 |
可定制化 |
RocksDB性能调优参数较多,支持根据业务的读写能力要求做定制化的参数修改。 |
WiredTiger性能调优参数较少。 |
内存高压场景 |
RocksDB读写性能稳定,不会随着内存压力变化。 |
WiredTiger需要频繁地刷脏页,进行内存与磁盘数据置换,引起读写性能波动比较大。 |
频繁更新删除场景 |
RocksDB在积攒了一定量的新写数据后,会自动异步触发后台compact线程对同一数据的多版本进行归并聚合,释放多余的磁盘空间,因此基本上不会出现磁盘碎片化问题。 |
WiredTiger在删除数据进行数据多版本归并聚合后,会空余出磁盘空间碎片,并且不会将这部分磁盘空间返回给操作系统,而是留待后续写入使用,磁盘碎片化问题较为明显。 |
多表场景 |
RocksDB支持10K以上的表及索引数量。 |
WiredTiger在表及索引数量达到1K以上时,读写性能会受到影响。 |
- Redis修改开源协议_新版Redis不再“开源”_Redis协议变更
- GeminiDB Redis接口_键值数据库_企业级Redis_什么是KV数据库
- 免费云数据库MongoDB_DDS文档数据库数据库免费_文档数据库是免费的吗
- 免费缓存数据库_KV数据库redis场景_云数据库资源免费领取_缓存数据库2
- 文档数据库服务DDS在各行业的典型应用
- MongoDB_文档数据库服务DDS_华为云
- MapReduce服务_什么是Flink_如何使用Flink
- RDS for MySQL审计日志_开启日志审计_数据库审计_华为云数据库RDS
- 文档数据库服务DDS实例类型_MongoDB实例类型_华为云
- 文档数据库服务DDS系统架构介绍