106c5bc219
For this, `Writable` was implemented for `&'static [u8]`. Although this won't have a very noticeable impact on performance, we will stick to using references instead of cloning the data and then referencing it again. Along with this, the docs for MKSNAP were updated. Signed-off-by: Sayan Nandan <nandansayan@outlook.com> |
4 years ago | |
---|---|---|
.github | 4 years ago | |
ci | 4 years ago | |
cli | 4 years ago | |
examples/config-files | 4 years ago | |
libtdb | 4 years ago | |
server | 4 years ago | |
tdb-bench | 4 years ago | |
tdb-macros | 4 years ago | |
.gitignore | 4 years ago | |
AUTHORS.md | 4 years ago | |
CHANGELOG.md | 4 years ago | |
CLA.md | 4 years ago | |
CODE_OF_CONDUCT.md | 4 years ago | |
CONTRIBUTING.md | 4 years ago | |
CONTRIBUTORS.md | 4 years ago | |
Cargo.lock | 4 years ago | |
Cargo.toml | 4 years ago | |
Dockerfile | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 4 years ago | |
actions.jsonc | 4 years ago | |
pushrelease.sh | 4 years ago | |
release.sh | 4 years ago |
README.md
What is TerrabaseDB?
TerrabaseDB (or TDB for short) is an effort to provide the best of key/value stores, document stores and columnar databases, that is, simplicity, flexibility and queryability at scale. TDB is curently in an alpha stage, but can be used as a performant and persistent key-value store.
Getting started 🚀
- Download a bundle for your platform from here ⬇️
- Unzip the bundle
- Make the files executable (run
chmod +x tdb tsh
on *nix systems) - First run
tdb
to start the database server and then runtsh
to start the interactive shell - Run commands like:
SET foo bar
,GET bar
,UPDATE cat mitten
orDEL proprietary
🤪 ontsh
!
Features
- Insanely fast: Scale to millions of queries per second per node
- Key/value store:
GET
,SET
,UPDATE
and all that stuff - Snapshots: Automated (and tunable) snapshots for stress-free backups
- Multithreaded: Designed to exploit all CPU cores
- Resource friendly: The database server doesn't need more than 1MB to run
- Convenient: Without the setup hassle and system-specific dependencies
(... and more on the way)
Clients 🔌
Until we release an official driver, you'll have to write your own clients — all you need to do is implement the simple and performant Terrapipe protocol spec.
Community 👐
A project which is powered by the community believes in the power of community! If you get stuck anywhere - here are your options!
<html> </html>Platforms 💻
Versioning
This project strictly follows semver, however, since this project is currently in the development phase (0.x.y), the API may change unpredictably
Contributing
Yes - we need you! Be it a typo, a bizarre idea, a dirty bug🐞 or an amazing patch - you're welcome to contribute to TDB! Beginner friendly issues are marked with the label. Read the guide here.
Contributors
You can see a full list of contributors here
License
This project is licensed under the AGPL-3.0 License.