/terrabasedb

TerrabaseDB is an extremely fast and reliable real-time NoSQL database with native support for automated snapshots

Primary LanguageRustGNU Affero General Public License v3.0AGPL-3.0

TerrabaseDB

The next-generation NoSQL database

GitHub Workflow Status GitHub Workflow Status Status: Alpha Development GitHub release (latest SemVer including pre-releases) Docker Pulls Docs Contribute Now

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, secure and persistent key-value store.

Getting started 🚀

  1. Download a bundle for your platform from here ⬇️
  2. Unzip the bundle
  3. Make the files executable (run chmod +x tdb tsh on *nix systems)
  4. First run tdb to start the database server and then run tsh to start the interactive shell
  5. Run commands like: SET foo bar , GET bar , UPDATE cat mitten or DEL proprietary 🤪 on tsh !

You can learn more about installation here

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
  • Secure: Secure connections are built into TDB with SSL/TLS (with OpenSSL)
  • 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!

Platforms 💻

Linux supported macOS supported Windows supported

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

Contribute Now

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

First know your rights! This project is licensed under the AGPL-3.0 License.