RocksDB 8.0 发布


RocksDB 是一个高性能键值数据的嵌入式数据库,它是 Google LevelDB 的一个分叉,经过优化,可以利用许多 CPU 核心,并有效地利用快速存储。它是用 C++ 编写的,并为 C++、C 和 Java 提供官方语言绑定,同时还有许多第三方语言绑定。

行为改变

  • ReadOptions::verify_checksums=false 禁用了对非 CacheEntryRole::kDataBlock 块的更多读取的校验和验证。
  • 在启用 async_io 的扫描情况下,如果 posix 不支持 IOUring,Status::NotSupported 错误将返回给用户。

功能删除

  • 删除 RocksDB Lite
  • 删除 block_cache_compressed 功能,与之相关的统计数据也被移除
  • 删除已弃用的 Env::LoadEnv(),使用 Env::CreateFromString() 代替。
  • 删除已弃用的 FileSystem::Load()。使用 FileSystem::CreateFromString() 代替。
  • 删除了这些实用函数的废弃版本和相应的 Java 绑定: LoadOptionsFromFileLoadLatestOptionsCheckOptionsCompatibility
  • 从可定制的帮助方法中移除 LoadObject 方法的 FactoryFunc

构建变化

  • 现在 make build 默认会构建一个共享库而不是静态库,使用 LIB_MODE=static 来重写

新功能

  • 通过 FilterV3 的 API,现在支持宽列实体的压缩过滤器
  • CompressedSecondaryCacheOptions 添加了 do_not_compress_roles,以禁止对某些类型的块进行压缩。过滤器块现在默认不被 CompressedSecondaryCache 压缩。
  • 增加了一个新的 MultiGetEntity API,可以进行批量的宽列点查询

修复

  • 修正了 ColumnFamilyData::flush_reason 上由并发刷新引起的数据竞赛。
  • 修正了当用户定义的时间戳与 BlobDB 结合启用时,Get 和 MultiGet 的问题。
  • 修正了 LockWAL() 的一些非典型行为
  • 修正了一个功能交互错误,即对于 Blobs, GetEntity 会显示 Blobs 引用而不是 Blobs 值。
  • ReadOptions::async_io 标志为真且未启用 IOuring 时,向 MultiGet 调用者返回正确的错误( Status::NotSupported() )。以前,当实际故障是缺乏异步 IO 支持时,会返回 Status::Corruption()
  • 修正了 DB 打开/从压缩的 WAL 中恢复的错误
  • ……

更多详情可查看:https://github.com/facebook/rocksdb/releases/tag/v8.0.0


相關推薦

2022-06-11

RocksDB 7.3.1 现已发布,RocksDB 是一个来自 Facebook 的可嵌入的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,基于 LevelDB 构建。更新内容如下: Bug 修复 修复 WAL 跟踪中的错误。在此 PR ( #10087 )

2022-09-22

RocksDB 7.6.0 现已发布,RocksDB 是一个来自 Facebook 的可嵌入的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,基于 LevelDB 构建。更新内容如下: 新的功能 添加prepopulate_blob_cache到 ColumnFamilyOptions。 支持

2023-08-16

引时使用变量,具体 pr 参见:#5468、#5553 支持并行启动 RocksDB 实例以加快 Storage 服务的启动速度,具体 pr 参见:#5521 优化 RocksDB 迭代器执行 DeleteRange 操作后的前缀搜索性能,具体 pr 参见:#5525 优化 appendLog 发送逻辑以避免

2023-06-30

努力。 关键特性 Kvrocks 是⼀款分布式 KV 数据库,使⽤ RocksDB 作为底层存储引擎并兼容 Redis 协议,旨在解决Redis 内存成本⾼以及容量有限的问题,亦可作为海量 KV 数据存储的解决方案。具备以下关键特性: 兼容 Redis 协议,

2022-11-03

elog Disabled 对比 (详细配置请参考文档 [16] ) RocksDB Rescaling 改进及性能测试 对于使用 Flink 构建的云服务应用来说,Rescaling 是一种非常频繁的操作。这个版本使用了 RocksDB 的区间删除 [17] 来优化增量 RocksDB Stat

2023-08-04

大的变化和修改,代码进行了重构。MySQL 8.0 在 2016-09-12 发布, 重写了 5.7 中解析器的近 50% 的代码。MySQL 将编程语言都统一到 C++,编译器使用最新版本,代码风格采用 Google C++ Style,统一了 300 人的开发团队的代码标准。 目前 M

2023-04-19

平台独占的游戏也能在 Linux 操作系统上运行。 Valve 近日发布了 Proton 8.0,新版本最值得注意的是增加了对 18 款游戏的支持,除此之外还有包括改进多点触控支持在内的一系列改进和修复。 游戏 Proton 8.0 带来了对许多 Windows 游

2023-04-21

QEMU 8.0 稳定版已正式发布,据称共有 238 名贡献者为此版本提交了超过 2800 个 commit。 值得关注的变化 当在 Linux 5.12 或更高版本的内核上运行时,QEMU 8.0 在使用 KVM 的情况下支持 Xen guests 弃用面向 32 位 x86 主机的系统

2023-04-22

序。目前 Wine 8.0.1 已作为 1 月的 Wine 8.0 版本的修复版本发布,包含一些翻译更新和错误修复。 此版本中有 36 个已知错误修复,主要包括: 修复了 Apple Silicon 上的 macOS 13.3 支持 解决了一些 VBScript 问题 解决了 Nethack 崩溃

2023-08-23

ApiCat v2.8.0 已经发布,基于 AI 技术的 API 开发工具。 此版本更新内容包括: 功能 增加了迭代功能,来为每个开发迭代计划 API,使工作更加清晰 增加了通过 Azure 调用 OpenAI Bug 修复 修复了一些 Bug 详情查看:https://gi

2023-10-11

开源数字音频工作站 Ardour 8.0 已正式发布。 Ardour 是开源的数字音频工作站软件,支持 Linux、macOS 和 Windows 系统。你可以使用它来录制、编辑和混合多轨音频,或者只是尝试新的想法、音乐和声音。 Ardour 的功能包括:多通

2024-03-16

京墨 v1.8.0 已经发布,古诗词文 APP 此版本更新内容包括: 更新日志 优化诗文同步,实现“续传”功能; 优化诗文搜索查询; 添加诗文注释赏析; 添加【诗文】、【诗文名句】、【成语】小组件; 修复暗黑模式下应

2022-12-11

Wine 8.0 的第一个候选版本已发布,这标志着年度代码冻结期的开始,此版本中的新功能: 捆绑的 vkd3d 升级到 1.6 版。 Vulkan 和 OpenGL thunking 优化。 对打印处理器的更多支持。 改进的操纵杆控制面板。 Long 类型的 printf 格

2023-02-14

Gradle 8.0 现已发布。Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目