皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

RocksDB 5.9.2 发布,可持久化 key-value 存储系统

 

RocksDB

RocksDB 5.9.2 已发布,该版本的更新包括 Public API 的修改、新增特性和修复 Bug。

RocksDB 是一个来自 Facebook 的可嵌入的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库。RocksDB 基于 LevelDB 构建。

主要变化

Public API 变更

  • BackupableDBOptions::max_valid_backups_to_open == 0 now means no backups will be opened during BackupEngine initialization. Previously this condition disabled limiting backups opened.
  • DBOptions::preserve_deletes is a new option that allows one to specify that DB should not drop tombstones for regular deletes if they have sequence number larger than what was set by the new API call DB::SetPreserveDeletesSequenceNumber(SequenceNumber seqnum). Disabled by default.
  • API call DB::SetPreserveDeletesSequenceNumber(SequenceNumber seqnum) was added, users who wish to preserve deletes are expected to periodically call this function to advance the cutoff seqnum (all deletes made before this seqnum can be dropped by DB). It’s user responsibility to figure out how to advance the seqnum in the way so the tombstones are kept for the desired period of time, yet are eventually processed in time and don’t eat up too much space.

新特性

  • DBOptions::writable_file_max_buffer_size can now be changed dynamically.
  • DBOptions::bytes_per_sync and DBOptions::wal_bytes_per_sync can now be changed dynamically, DBOptions::wal_bytes_per_sync will flush all memtables and switch to a new WAL file.
  • Support dynamic adjustment of rate limit according to demand for background I/O. It can be enabled by passing true to the auto_tuned parameter in NewGenericRateLimiter(). The value passed as rate_bytes_per_sec will still be respected as an upper-bound.
  • Support dynamically changing ColumnFamilyOptions::compaction_options_fifo.
  • Add a new db property “rocksdb.estimate-oldest-key-time” to return oldest data timestamp. The property is available only for FIFO compaction with compaction_options_fifo.allow_compaction = false.

Bug 修复

  • Fix a potential data inconsistency issue during point-in-time recovery. DB:Open() will abort if column family inconsistency is found during PIT recovery.
  • Fix possible metadata corruption in databases using DeleteRange().
  • Fix IOError on WAL write doesn’t propagate to write group follower
  • Fix calculating filter partition target size
  • Fix possible corruption to LSM structure when DeleteFilesInRange() deletes a subset of files spanned by a DeleteRange() marker.

源码下载

转自 http://www.oschina.net/news/91674/rocksdb-5-9-2-released

分享到:更多 ()