skytable / skytable

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
https://skytable.io
GNU Affero General Public License v3.0
2.43k stars 88 forks source link

Project Roadmap: 2023-24 #203

Open ohsayan opened 3 years ago

ohsayan commented 3 years ago

The roadmap

Note: This comment is frequently updated with progress from time to time

When we started out with Skytable — we didn't start with a small goal. We started out ambitious — to reduce the problems that developers face while modeling data. Over the last one year, we have learned many things and received a lot of feedback from the community, and now it is time that we use all those learnings and put them to paper (or to code xD):

What we put together

What's next

Leave comments if you have any specific feedback for the ideas listed here. If you have any other ideas, it's a good idea to open a feature request or discuss it on our discord server.

Let's make it happen!

MarkSwanson commented 3 years ago

Nice to see the roadmap. Especially interested to see replication specifics!

r3wt commented 3 years ago

Hi, currently working on building a client for skytable in node.js. I'm curious if you had given any thought to mTLS as an authentication scheme?

ohsayan commented 3 years ago

Hi, currently working on building a client for skytable in node.js. I'm curious if you had given any thought to mTLS as an authentication scheme?

+1. Zero Trust authentication (or security) definitely sounds like one of the things we'd want to have for authentication, and simplicity too. I'm definitely keeping this noted (the auth feature's ETA is 0.7.2+).

ohsayan commented 2 years ago

Token-based authn has landed! One more box ticked :)

firedupmike commented 2 years ago

Really glad to see the roadmap! Have been following the project for a while now, and it's getting better everyday. Just to add here, are there any plans for adding PUB/SUB? That would help in the move away from Redis

ohsayan commented 2 years ago

Really glad to see the roadmap! Have been following the project for a while now, and it's getting better everyday. Just to add here, are there any plans for adding PUB/SUB? That would help in the move away from Redis

We've been asked for PUB/SUB several times, and I think it's time — yes, PUB/SUB is on the roadmap now.

takkuumi commented 2 years ago

Are there a skytable connection pool?

ohsayan commented 2 years ago

Are there a skytable connection pool?

Since pools are implemented at the library level, it depends on the client you are using. The official Rust client driver has connection pooling in the preview release track.

ohsayan commented 2 years ago

@NateLing Just to keep you updated, the Skytable Rust driver now supports connection pooling (out of preview).

takkuumi commented 2 years ago

@ohsayan It's great, i will try it

forrestli74 commented 2 years ago

What's the reason to keep some of the roadmap secret? If it's because it's not mature enough, you could just say "tentative" or something.

ohsayan commented 2 years ago

What's the reason to keep some of the roadmap secret? If it's because it's not mature enough, you could just say "tentative" or something.

I've updated it. It was mostly kept as a surprise for the community, which is why.

emchristiansen commented 1 year ago

For replication, I'd love to see an option for simple peer discovery and synchronization via gossip with eventual consistency and some simple heuristics for conflict resolution.

AFAICT there's a market need for a dead-simple replicated, scalable, key-value store (etcd comes closest but it's surprisingly painful to dynamically add nodes or deal with node failures). The user should be able to add a new node to the network by just giving it an authentication token and pointing it at an existing node. If a node goes offline the other nodes should just update their peer lists and continue on their merry ways.

I've looked at MongoDB, Redis, etcd, Cassandra, ScyllaDB, TiKV, and several others, and none of them seem to fit the mold.

ohsayan commented 1 year ago

@emchristiansen Thank you for your note here. Different database implementations for C&R have been influenced by a multitude of decisions, and I'd avoid commenting on the same.

While we're utilizing existing "proven" schemes for logical partitioning and FT — hear me out: I do not necessarily find the ideas behind the implementations of some of these systems to resonate with mine. That is to say, while we're using existing research and ideas from current systems — we're taking our own approaches to many design decisions.

Another important influence is wrt the consistency model chosen and the tradeoffs offsetting from it. Skytable intends to chose AP over C, but we're also doing something here.

TL;DR — We're working on our own innovations in this space and will try to make the best tradeoffs in our design choices.

Please hang on with us — we're on it!

insanpraja commented 1 year ago

Hi, would a TiKV backend be possible for Skytable? that would made it instant clustering.

Great database, btw!

zamazan4ik commented 1 year ago

@ohsayan Could you please clarify the status of the project? As far as I see, Skytable didn't have commits for a long time. So if you decided to stop working on Skytable - could you please add a note about it somewhere to the README file?

ohsayan commented 1 year ago

@ohsayan Could you please clarify the status of the project? As far as I see, Skytable didn't have commits for a long time. So if you decided to stop working on Skytable - could you please add a note about it somewhere to the README file?

Hi @zamazan4ik! Skytable is 100% alive and is in active development. Skytable 0.8 is set to be released soon with several of the features in the roadmap. Development is being done in a private repo and will be merged into this repo once everything is ready :)

ohsayan commented 1 year ago

Opened #317 for the release. See you at the release blog post :))

ohsayan commented 11 months ago

Folks, Skytable Octave has been shipped this week. If you missed the announcement, here's a link to it: https://skytable.io/blog/2023/12/skytable-octave-is-here

I think it's time that we open a new roadmap issue! Next up clustering and replication 🚀

takkuumi commented 11 months ago

各位,Skytable Octave 已于本周发货。如果您错过了该公告,请点击以下链接: https: //skytable.io/blog/2023/12/skytable-octave-is-here

我认为是时候我们提出一个新的路线图问题了!接下来是集群和复制🚀

Could skytable be used as a storage engine surrealdb?

ohsayan commented 11 months ago

各位,Skytable Octave 已于本周发货。如果您错过了该公告,请点击以下链接: https: //skytable.io/blog/2023/12/skytable-octave-is-here

我认为是时候我们提出一个新的路线图问题了!接下来是集群和复制🚀

Could skytable be used as a storage engine surrealdb?

No

ohsayan commented 8 months ago

For everyone following this issue, Skytable 0.8 was released with a lot of these features including a new query language and a new storage engine. The work continues!

ohsayan commented 2 months ago

For those following this issue, we're on track to release Skytable 0.9 which will largely complete a lot of the TODOs listed here.

Track the release here: https://radar.skytable.io/0.9

ohsayan commented 3 weeks ago

Folks, clustering (and HA) is shipping very soon and will likely hit the stable channel by the end of this month.