A library that provides an embeddable, persistent key-value store for fast storage.
GPL-2.0 License
Published by miasantreble over 6 years ago
autoTune
and getBytesPerSecond()
to RocksJava RateLimiterPublished by miasantreble over 6 years ago
autoTune
and getBytesPerSecond()
to RocksJava RateLimiterPublished by siying over 6 years ago
make
with environment variable USE_SSE
set and PORTABLE
unset, will use all machine features available locally. Previously this combination only compiled SSE-related features.crc32c_3way
on supported platforms to improve performance. The system will choose to use this algorithm on supported platforms automatically whenever possible. If PCLMULQDQ is not supported it will fall back to the old Fast_CRC32 algorithm.NUMBER_ITER_SKIP
, which returns how many internal keys were skipped during iterations (e.g., due to being tombstones or duplicate versions of a key).key_lock_wait_count
and key_lock_wait_time
, which measure the number of times transactions wait on key locks and total amount of time waiting.IngestExternalFile()
affecting databases with large number of SST files.DeleteFilesInRange()
deletes a subset of files spanned by a DeleteRange()
marker.Published by siying over 6 years ago
make
with environment variable USE_SSE
set and PORTABLE
unset, will use all machine features available locally. Previously this combination only compiled SSE-related features.crc32c_3way
on supported platforms to improve performance. The system will choose to use this algorithm on supported platforms automatically whenever possible. If PCLMULQDQ is not supported it will fall back to the old Fast_CRC32 algorithm.NUMBER_ITER_SKIP
, which returns how many internal keys were skipped during iterations (e.g., due to being tombstones or duplicate versions of a key).key_lock_wait_count
and key_lock_wait_time
, which measure the number of times transactions wait on key locks and total amount of time waiting.IngestExternalFile()
affecting databases with large number of SST files.DeleteFilesInRange()
deletes a subset of files spanned by a DeleteRange()
marker.Published by siying over 6 years ago
make
with environment variable USE_SSE
set and PORTABLE
unset, will use all machine features available locally. Previously this combination only compiled SSE-related features.crc32c_3way
on supported platforms to improve performance. The system will choose to use this algorithm on supported platforms automatically whenever possible. If PCLMULQDQ is not supported it will fall back to the old Fast_CRC32 algorithm.NUMBER_ITER_SKIP
, which returns how many internal keys were skipped during iterations (e.g., due to being tombstones or duplicate versions of a key).key_lock_wait_count
and key_lock_wait_time
, which measure the number of times transactions wait on key locks and total amount of time waiting.IngestExternalFile()
affecting databases with large number of SST files.DeleteFilesInRange()
deletes a subset of files spanned by a DeleteRange()
marker.Published by ajkr almost 7 years ago
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.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.ReadOptions::iter_start_seqnum
was added; if set to something > 0 user will see 2 changes in iterators behavior 1) only keys written with sequence larger than this parameter would be returned and 2) the Slice
returned by iter->key() now points to the the memory that keep User-oriented representation of the internal key, rather than user key. New struct FullKey
was added to represent internal keys, along with a new helper function ParseFullKey(const Slice& internal_key, FullKey* result);
.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.true
to the auto_tuned
parameter in NewGenericRateLimiter()
. The value passed as rate_bytes_per_sec
will still be respected as an upper-bound.ColumnFamilyOptions::compaction_options_fifo
.EventListener::OnStallConditionsChanged()
callback. Users can implement it to be notified when user writes are stalled, stopped, or resumed.ReadOptions::iterate_lower_bound
.DB:Open()
will abort if column family inconsistency is found during PIT recovery.DeleteRange()
.DeleteFilesInRange()
deletes a subset of files spanned by a DeleteRange()
marker.Published by ajkr almost 7 years ago
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.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.ReadOptions::iter_start_seqnum
was added; if set to something > 0 user will see 2 changes in iterators behavior 1) only keys written with sequence larger than this parameter would be returned and 2) the Slice
returned by iter->key() now points to the the memory that keep User-oriented representation of the internal key, rather than user key. New struct FullKey
was added to represent internal keys, along with a new helper function ParseFullKey(const Slice& internal_key, FullKey* result);
.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.true
to the auto_tuned
parameter in NewGenericRateLimiter()
. The value passed as rate_bytes_per_sec
will still be respected as an upper-bound.ColumnFamilyOptions::compaction_options_fifo
.EventListener::OnStallConditionsChanged()
callback. Users can implement it to be notified when user writes are stalled, stopped, or resumed.ReadOptions::iterate_lower_bound
.DB:Open()
will abort if column family inconsistency is found during PIT recovery.DeleteRange()
.DeleteFilesInRange()
deletes a subset of files spanned by a DeleteRange()
marker.Published by ajkr almost 7 years ago
DeleteFilesInRange()
deletes a subset of files spanned by a DeleteRange()
marker.Published by ajkr almost 7 years ago
DeleteFilesInRange()
deletes a subset of files spanned by a DeleteRange()
marker.Published by yiwu-arbug almost 7 years ago
Published by yiwu-arbug almost 7 years ago
Published by yiwu-arbug almost 7 years ago
Published by yiwu-arbug almost 7 years ago
Published by yiwu-arbug almost 7 years ago
Published by yiwu-arbug almost 7 years ago
Published by maysamyabandeh about 7 years ago
Published by ajkr about 7 years ago
Published by ajkr about 7 years ago