An open API service indexing awesome lists of open source software.

https://github.com/tidesdb/tidesdb-ts

Official TypeScript binding for TidesDB
https://github.com/tidesdb/tidesdb-ts

database key-value-store lsmtree storage-engine transactional

Last synced: 4 months ago
JSON representation

Official TypeScript binding for TidesDB

Awesome Lists containing this project

README

          

# tidesdb-ts

tidesdb-ts is the official TypeScript 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 TypeScript binding provides a safe, idiomatic TypeScript interface to TidesDB with full support for all features.

## Features

- MVCC with five isolation levels from READ UNCOMMITTED to SERIALIZABLE
- Column families (isolated key-value stores with independent configuration)
- Bidirectional iterators with forward/backward traversal and seek support
- 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
- Savepoints for partial transaction rollback
- Six built-in comparators plus custom registration

For TypeScript usage you can go to the TidesDB TypeScript Reference [here](https://tidesdb.com/reference/typescript/).

## License

Multiple licenses apply:

- Mozilla Public License Version 2.0 (TidesDB)
- BSD 3-Clause (Snappy)
- BSD 2-Clause (LZ4)
- BSD 2-Clause (xxHash - Yann Collet)
- BSD (Zstandard)

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Support

- [Discord](https://discord.gg/tWEmjR66cy)
- [GitHub Issues](https://github.com/tidesdb/tidesdb-ts/issues)