来源:OSCHINA 时间:2023-03-21 07:20:46
(资料图片仅供参考)
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 绑定: LoadOptionsFromFile
、 LoadLatestOptions
、 CheckOptionsCompatibility
。 从可定制的帮助方法中移除 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
私域流量系统 LinkWeChat V4.0 发布 天天速看
Ambient 0.1 发布,Rust 编写的高性能多人游戏引擎|环球视讯
点赞!openKylin 入选 2022“科创中国”开源创新榜年度优秀开源社区
世界微动态丨所有 Ubuntu flavors 默认不再支持 Flatpak