TidesDB

TidesDB
软件
软件描述
TidesDB 是用 C 语言编写的快速高效键值存储引擎库,其底层数据结构基于日志结构合并树(LSM-tree)。
官方网站
访问软件的官方网站了解更多信息
tidesdb.com
安全链接HTTPS
什么是 TidesDB?
TidesDB 是用 C 语言编写的快速高效键值存储引擎库,其底层数据结构基于日志结构合并树(LSM-tree)。 它并非功能完整的数据库,而是一个可用于构建数据库的库。 特性:
支持多线程并发读写存储引擎。跳表使用读写锁,允许多个读者和一个写者。SSTable 有序、不可变,可并发读取,通过页锁保护。事务也线程安全。 列族将数据存储在独立的键值存储中。每个列族拥有自己的 memtable 和 SSTable。 原子事务可原子地提交或回滚多个操作。若其中任一操作失败,则回滚所有操作。 游标支持正向和反向遍历键值对。 WAL 预写日志保证持久性。操作追加后,一旦持久化到 SSTable,会在特定点被截断。 多线程压缩:支持手动多线程配对合并压缩 SSTable。例如,10 个 SSTable 可压缩为 5 个,每对由一个线程负责,可设置用于压缩的线程数。 后台刷新:memtable 刷新任务入队后在后台执行。 链式布隆过滤器:通过读取 SSTable 的初始页面来检查键是否存在,减少磁盘读取。布隆过滤器随 SSTable 大小增长,通过链式链接扩展。 Zstandard 压缩:采用 Zstandard 实现压缩,SSTable 条目与 WAL 条目均可压缩。 TTL:键值对的存活时间。 可配置:引擎及列族的众多选项均可配置。 错误处理:API 函数返回错误码和错误信息。 易用 API:提供简单易用的 API。