Tpt
c5f12f10f6
Better RocksDB error Debug implementation
3 years ago
Tpt
ad4bfe35c2
Fixes typos in the documentation
3 years ago
Tpt
203bd4c080
Adds a backup system
...
RocksDB provides a great cheap backup feature thanks to the immutable SST storage.
Sadly it is not compatible with in-memory databases which do not rely on the SST files.
3 years ago
Tpt
b9ef40df07
Avoids freeing null values
3 years ago
Tpt
32d3f0782b
Fixes some new clippy warnings
3 years ago
Tpt
7d58f451bd
Runs LLVM address sanitizer and fixes found bugs
3 years ago
Tpt
a91ea89fff
Moves str2id outside of transactions
...
Allows avoiding conflicts and reducing transactional guarantees
3 years ago
Tpt
72a17c4f72
Avoids using std::io::Error where possible
3 years ago
Tpt
a33dbb6d06
Avoids abusing std::io::Error
...
Introduces new specific errors and make them implement Into<io::Error> for compatibility
3 years ago
Tpt
18ec80c362
Exposes more of RocksDB internal Status struct
3 years ago
Tpt
bada850284
Txn conflict: allows the OS to do something else before retrying
3 years ago
Tpt
44d1a5f04c
Makes bulk load partial insertions atomic
...
Ensures that the stores does not end up in an inconsistent state.
3 years ago
Tpt
f64001906c
Minor documentation improvements
3 years ago
Tpt
8d20f65890
Adds back in memory WASM support
3 years ago
Tpt
ed17e86853
Renames write_stt_files to insert_stt_files
3 years ago
Tpt
a3e40556da
Automatically retries transactions on failure
3 years ago
Tpt
e59c4612b2
RocksDB: Removes merge and compact operators
3 years ago
Tpt
2c304aa29d
Share environment between RocksDB instances
...
Allow multiple RocksDB instance in the same process to share resources instead of fighting to get them.
3 years ago
Tpt
6f44a5956b
Simplifies bulk load API
3 years ago
Tpt
7b1c4e0ad5
Returns a clean error on transaction read after commit
3 years ago
Tpt
607aa0b0dd
WIP: Transactions
3 years ago
Tpt
9f414c13fd
Simplifies RocksDB SST API
3 years ago
Tpt
367a1b4585
Reuse RocksDB transactional DB
...
First step for snapshots and transactions support
3 years ago
Tpt
196d6d6576
Adds bulk load by directly write RocksDB SSTs
3 years ago
Tpt
1d3108d27f
RocksDB: Uses the most recent storage format
3 years ago
Tpt
569000b5ea
Storage: adds write batch
...
Atomic insertions and huge performance improvements for RocksDB
3 years ago
Tpt
986d3e60bb
RocksDB: bulk load
...
TODO: we do a lot of lookups during load for GC, so the option is not very useful
3 years ago
Tpt
98f9a307b8
Exposes a function to compact the database
...
Use it after load
3 years ago
Tpt
8c0b4f5322
RocksDB: do not use transactiondb for now.
...
Not used yet
3 years ago
Tpt
00ad6e634f
Cleaner storage backend architecture
3 years ago
Tpt
73cd761229
Removes unused TermEncoder
3 years ago
Tpt
0ee25d7579
RocksDB: Adds prefix bloom filters
3 years ago
Tpt
821cac9c4c
Sets some RocksDB options doing perf improvements
3 years ago
Tpt
25c808c9eb
Reduces successive merge
...
Fixes awful reads
3 years ago
Tpt
4c71327c95
RocksDB: Simplifies SlicesIterator
3 years ago
Tpt
cddb5900ef
Storage: Manages strings GC using merge operation
...
Removes old strings during compaction
3 years ago
Tpt
045f40ccad
Configures RocksDB logs to avoid logs overloading
3 years ago
Tpt
bf0f178c41
Adds a ColumnFamilyDefinition struct to store column family options
3 years ago
Tpt
def7a3ce72
RocksDB: Adds low priority writes
...
Allows RocksDB to defer garbage collection if useful
3 years ago
Tpt
f68d747308
RocksDB: Uses lz4 compression on disk
3 years ago
Tpt
3119e7748e
Small RocksDB optimizations
...
Use native iterator bound
3 years ago
Tpt
dfefe6cd1c
Uses transactional RocksDB
...
First stop to real transaction support
3 years ago
Tpt
3fd0332e32
Use our own Custom rocksdb bindings
...
Will allow exposing more C++ functions
3 years ago
Tpt
e297de73d1
Refactors backend code
...
Makes it easier to implement transactions
3 years ago
Tpt
0bd512a14c
Avoids using API without column families
3 years ago
Tpt
cb146efd7c
Use directly RocksDB C API
...
Will allow more customizations in the future
3 years ago
Tpt
063683088d
Moves back from Sled to RocksDB
...
Simple implementation without transactions
3 years ago