Tpt
a977adff91
Allows to collect RocksDB statistics
...
Hidden behind the "rocksdb_debug" features
2 years ago
Tpt
26f4e2dc98
Allows to have secondary instances in memory
2 years ago
Tpt
5f68cb3746
Cleans up RocksDB wrapper code and implements backup from read-only and secondary instances
2 years ago
Tpt
b2385509a6
Improves read only and secondary test coverage
...
Adds the missing get method
2 years ago
Tpt
855c39146d
Replaces Store::open_with_options with explicit variants
...
Trades enums and structs for methods
2 years ago
Benedikt Seidl
f7637ee5a5
Add option to open database in read-only mode
...
With read-only it's not possible to modify the data. Updates to the data
are possible via a primary instance of oxigraph, but will not be
reflected. The data is frozen at the time the read-only server is
started.
2 years ago
Benedikt Seidl
aa9476b9cc
Add option to open rocksdb in secondary mode
...
The database can be opened once in primary mode, but may be opened
multiple times in secondary mode. It's not possible to write data to the
database in secondary mode.
Secondary mode does not support checkpoints so there might be data
inconsistencies when data is changed while said data is queried. It
might happen that the result data mixes both elements before and after
the change that can not happen in primary mode.
2 years ago
Tpt
808c9db007
String formatting: uses inline syntax
2 years ago
Tpt
e9bbe8e036
Applies new Clippy suggestions
3 years ago
Tpt
c815782631
rlimits: be safe if the nice value is bigger than the hard one
3 years ago
Tpt
42f316f7db
Limits the number of opened file by RocksDB
...
This was generating too many open file errors
3 years ago
Tpt
b5611445eb
Fixes ARM compilation
3 years ago
Tpt
d0b3d76bf1
Bulk loader: use as much memory as possible
3 years ago
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