Skytable is a modern scalable NoSQL database with BlueQL, designed for performance, scalability and flexibility. Skytable gives you spaces, models, data types, complex collections and more to build powerful experiences
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Sayan Nandan bb19d024ea Ignore errors in run loop
This fixes CVE-2021-37625
3 years ago
.github Ensure that we install the required perl modules 3 years ago
assets Rebrand from TerrabaseDB to Skybase (#90) 4 years ago
ci Use env var to determine TLS cert location 3 years ago
cli Add `drop keyspace <name> force` (#192) 3 years ago
examples/config-files Support non-interactive TLS passphrase input 3 years ago
libsky Add changelog and bump up version 3 years ago
libstress Fix logging output even when --json flag is passed 3 years ago
scripts Use deterministic finite automaton for validation 3 years ago
server Ignore errors in run loop 3 years ago
sky-bench Fix logging output even when --json flag is passed 3 years ago
sky-macros Add some general borrow optimizations 3 years ago
stress-test Add `drop keyspace <name> force` (#192) 3 years ago
.build.yml Ensure that we install the required perl modules 3 years ago
.ci.yml Fix bundling for `CARGO_TARGET_DIR` setups 3 years ago
.dockerignore Fix .dockerignore to include `skyd` 4 years ago
.gitignore Use Makefile for builds (#172) 3 years ago
AUTHORS.md Enable string escaping with quotes for skysh 4 years ago
CHANGELOG.md Ignore errors in run loop 3 years ago
CODEOWNERS Update CODEOWNERS 3 years ago
CODE_OF_CONDUCT.md Improve community documentation 4 years ago
CONTRIBUTING.md Parse the `swapks` header if it is provided 3 years ago
CONTRIBUTORS.md Improve docs 4 years ago
Cargo.lock Add `drop keyspace <name> force` (#192) 3 years ago
Cargo.toml Only run mutating DDL queries if state is okay 3 years ago
Dockerfile Upgrade deps, add changelog entry and bump version 4 years ago
LICENSE Formal terrapipe query parsing 4 years ago
Makefile Run tests parallelly in the `testsuite` keyspace 3 years ago
README.md Parse the `swapks` header if it is provided 3 years ago
SECURITY.md Update security policy [skip ci] 3 years ago
actions.jsonc Decompose linearity tests and utils into modules 3 years ago
pushrelease.sh Improve workflow and docs 4 years ago
release.sh Bump up version, add changelog and update scripts (#159) 3 years ago

README.md

<html>

Skytable

Your next NoSQL database

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

</html>

What is Skytable?

Skytable is an effort to provide the best of key/value stores, document stores and columnar databases, that is, simplicity, flexibility and queryability at scale. The name 'Skytable' exemplifies our vision to create a database that has limitless possibilities. Skytable was previously known as TerrabaseDB (and then Skybase) and is also nicknamed "STable", "Sky" and "SDB" by the community.

Skytable is curently under development, 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 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
  • 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.
  • 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

(...with more on the way)

Clients 🔌

The project currently maintains an official Rust driver and we have plans to support more languages along the way!

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!

<html> </html>

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 Skytable! 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.