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 952c5caa86
Poison the database by default if snapshotting fails (#160)
* Stop accepting writes if snapshotting fails

This is an important consideration: if BGSAVE fails and poisons the
database, snapshotting can and should too. But this is debatable in some
parts. For example, users may configure snapshots to be on a network
file system (symlinked maybe) and this can fail.
Now in some cases, this failure 'may be acceptable'. This commit adds a
way to customize this behavior through the `failsafe` key in the
snapshots section of the cfg file and through the --stop-write-on-fail
option passed to `skyd` on startup. However, BGSAVE remains unchanged:
it will always poison the database if it fails. If the user doesn't want
this, they can simply disable BGSAVE.

* Add changelog
3 years ago
.github Bump up version, add changelog and update scripts (#159) 3 years ago
assets Rebrand from TerrabaseDB to Skybase (#90) 4 years ago
ci Change wd to artifacts to package bundle 3 years ago
cli Upgrade skytable client driver version 3 years ago
examples/config-files Poison the database by default if snapshotting fails (#160) 3 years ago
libsky Upgrade skytable client driver version 3 years ago
server Poison the database by default if snapshotting fails (#160) 3 years ago
sky-bench Upgrade skytable client driver version 3 years ago
sky-macros Upgrade skytable client driver version 3 years ago
.ci.yml Terminate skyd instantly [skip ci] 3 years ago
.dockerignore Fix .dockerignore to include `skyd` 4 years ago
.gitignore Change the data file path to data/data.bin 3 years ago
AUTHORS.md Enable string escaping with quotes for skysh 4 years ago
CHANGELOG.md Poison the database by default if snapshotting fails (#160) 3 years ago
CODEOWNERS Update CODEOWNERS 3 years ago
CODE_OF_CONDUCT.md Improve community documentation 4 years ago
CONTRIBUTING.md And now we're Skytable 4 years ago
CONTRIBUTORS.md Improve docs 4 years ago
Cargo.lock Upgrade skytable client driver version 3 years ago
Cargo.toml Rebrand from TerrabaseDB to Skybase (#90) 4 years ago
Dockerfile Upgrade deps, add changelog entry and bump version 4 years ago
LICENSE Formal terrapipe query parsing 4 years ago
README.md Bump up version, add changelog and update scripts (#159) 3 years ago
actions.jsonc Bump up version, add changelog and update scripts (#159) 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

The next-generation NoSQL database

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

</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 sdb skysh on *nix systems)
  4. First run sdb 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
  • 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 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

(... and 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.