/skytable

Skytable is a fast, secure and reliable realtime NoSQL database with keyspaces, tables, data types, authn/authz, snapshots and more to build powerful apps

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

Skytable

Your next NoSQL database

GitHub Workflow Status Development GitHub release (latest SemVer including pre-releases) Docs Contribute Now Discord

What is Skytable?

Skytable is a free and open-source NoSQL database that aims to provide flexible data modeling at scale. For us simplicity, performance and flexibility are our guiding design principles. We were previously known as TerrabaseDB or Skybase and are nicknamed Sky, SDB or STable by the community.

Features like keyspaces, tables, data types, authn+authz, snapshots and more are ready for you to use while we're working on several new data models and features. Skytable's key/value store is performant, secure and ready for you to deploy.

Getting started 🚀

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

You can learn more about installation here

Features

  • Insanely fast: Scale to millions of queries per second per node. See benchmarks here.
  • Multiple keyspaces/tables: Seamlessly integrates with actions to provide a SQL-like experience
  • Key/value store: GET , SET , UPDATE and all that stuff. With the str and binstr types.
  • Authn/Authz: Simple and secure authentication/authorization
  • Volatile tables: For all the caching you need
  • Snapshots: Automated (and tunable) snapshots for stress-free backups
  • Secure: Secure connections are built into Skytable with SSL/TLS
  • 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

🛣️ There's a lot more coming! View our roadmap

Clients 🔌

The project currently maintains an official Rust driver and we have plans to support more languages along the way! We also maintain a list of community supported drivers here.

If you want to use a different language, for now you'll just need to implement the simple and performant Skyhash Protocol.

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

You are welcome to contribute to Skytable! 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.