Skytable 0.7 is here: Multiple keyspaces, tables and a lot more!

Sayan
3 min readAug 23, 2021

--

Photo by Aaron Burden on Unsplash

Skytable is a free and open-source NoSQL database, written in the Rust Programming Language (and C) that aims to simplify data modeling at scale without giving up on performance or scalability. I am extremely happy to announce the long awaited release of Skytable 0.7. This release is a benchmark in what we’ve built so far and it only gets better from here. This post is all about what you can expect.

#1: The metaverse: Multiple keyspaces and tables

That’s right — no more funny prefixing to separate your data. Tables and keyspaces are here. It’s really simple — a table contains your actual data. But don’t be mistaken — a table is not a SQL table: it can be anything from Key/Value to our future data models. A keyspace on the other hand is a logical collection of tables.It’s like this: say you have an app called ‘Coolcats’ where users can sign up and share images of cats. There are two main collections of data: accounts and posts. So, you’d create a keyspace like coolcats and two tables coolcats:accounts and coolcats:posts. You can learn more about it here.

In the (near) future, keyspaces will help determine the replication strategy, that is, you’ll literally be able to choose the redundancy you want for an application. We’ve tried to keep the terminology the same to make SQL folks feel right at home!

#2: Caching it out: Volatile tables and table properties

We all need to cache things, whether it is a query or something else. For these kind of tables, we don’t want persistence — that is, when the server restarts, we’re fine with starting afresh, with empty tables. Sounds good? Then that’s a recipe for a table property called volatile. This property ensures that the table's data is not flushed, while ensuring that the table itself always exists. You can read more here.

#3: Setting the stage for future data models

With 0.7, we built a storage format that is hardcoded to support data models and multiple keyspaces/tables. This means that we’re now ready to quickly design and implement new data models. What’s more — it’s really fast! The new storage engine is about 600% faster while flushing data and about 400% faster while reading data — yes, we worked that out!

#4: Wait, there’s more

There are new INSPECT queries that let us look at the properties of a table, easier ways to pass in TLS certificate passwords and so much more that it's hard to speak of it in this post! Skyhash 1.1 further introduces performance gains through the implementation of a new array type; that's one of the things about Skytable – we really care about performance – and performance without sacrificing safety. We're always working on improving things and revising implementations.

#5: So, what’s next

A LOT. No, the block letters are significant. There’s so much more coming to Skytable. And honestly, we couldn’t be more excited! You can view the project roadmap here. Go ahead download the latest release!. If you want to encourage our efforts, you can support us on our collective or star us on GitHub. And that’s for this post — see you at a later release!


This is a cross-post of the original post at: https://blog.skytable.io/skytable-0–7-is-here

--

--

Sayan

Programmer by passion, innovator by choice. BDFL for Skytable and actively involved in open-source software.