7349e461e6
This is very useful because it removes the need for user intervention in the event save on termination fails. Say the save operation fails due to 'some bad daemon' changing the directory's perms. Now skyd reports this error while trying to save upon termination. Our sysadmin now fixes the perms issue. The previous design would force the sysadmin to _somehow_ foreground skyd and hit enter. That is silly. The new design just attempts to do a save operation every 10 seconds. So in case the issue is fixed, the save operation will recover on its own. Why not exponential backoff? That's because the issue can be fixed some long time later and we may have reached a large backoff value so the save that could have succeeded would have to wait for a long duration before it can do anything meaningful. This also fixes a bug that caused BGSAVE errors to be reported as info class log entries. |
3 years ago | |
---|---|---|
.github | 3 years ago | |
assets | 4 years ago | |
ci | 3 years ago | |
cli | 3 years ago | |
examples/config-files | 3 years ago | |
libsky | 3 years ago | |
server | 3 years ago | |
sky-bench | 3 years ago | |
sky-macros | 3 years ago | |
.ci.yml | 3 years ago | |
.dockerignore | 4 years ago | |
.gitignore | 3 years ago | |
AUTHORS.md | 4 years ago | |
CHANGELOG.md | 3 years ago | |
CODEOWNERS | 3 years ago | |
CODE_OF_CONDUCT.md | 4 years ago | |
CONTRIBUTING.md | 3 years ago | |
CONTRIBUTORS.md | 4 years ago | |
Cargo.lock | 3 years ago | |
Cargo.toml | 4 years ago | |
Dockerfile | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 3 years ago | |
actions.jsonc | 3 years ago | |
pushrelease.sh | 4 years ago | |
release.sh | 3 years ago |
README.md
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 🚀
- Download a bundle for your platform from here ⬇️
- Unzip the bundle
- Make the files executable (run
chmod +x sdb skysh
on *nix systems) - First run
sdb
to start the database server and then runskysh
to start the interactive shell - Run commands like:
SET foo bar
,GET bar
,UPDATE cat mitten
orDEL proprietary
🤪 onskysh
!
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 💻
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 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.