Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,25 @@

tidesdb-java is the official Java binding for TidesDB.

TidesDB is a fast and efficient key-value storage engine library written in C. The underlying data structure is based on a log-structured merge-tree (LSM-tree). This Java binding provides a safe, idiomatic Java interface to TidesDB with full support for all features.
TidesDB is a fast and efficient key-value storage engine library. The underlying data structure is based on a log-structured merge-tree (LSM-tree). This Java binding provides a safe, idiomatic Java interface to TidesDB with full support for all features.

## Features

- MVCC with five isolation levels from READ UNCOMMITTED to SERIALIZABLE
- Snapshots and point-in-time reads at a named sequence
- Two-phase commit with recovery of transactions left in doubt
- Column families (isolated key-value stores with independent configuration)
- Bidirectional iterators with forward/backward traversal and seek support
- Bidirectional iterators with forward/backward traversal, seek, and range-scoped scans
- Range and prefix deletes that cost one entry however many keys they cover
- TTL (time to live) support with automatic key expiration
- LZ4, LZ4 Fast, ZSTD, Snappy, or no compression
- Bloom filters with configurable false positive rates
- Global block CLOCK cache for hot blocks
- Stacked encoding pipelines: LZ4, LZ4 Fast, ZSTD, Snappy, or none
- Key/value separation with a shared value log and background reclamation
- Partition range filters with configurable false positive rates
- Global block cache for hot blocks
- Savepoints for partial transaction rollback
- Six built-in comparators plus custom registration

For Java usage you can go to the TidesDB Java Reference [here](https://tidesdb.com/reference/java/).
- Transaction timeouts and cross-thread aborts
- Commit hooks for change data capture
- Statistics for column families, the database, the cache, write stalls, device I/O, encoding chains, and key ranges

## License

Expand Down
Loading
Loading