DEV Community

Discussion on: πŸš€ Just launched a new scalable cloud graph database! Any feedback/users/testers appreciated!

Collapse
 
peteole profile image
Ole Petersen

This looks really cool!!!
Do I see correctly that the database is totally written from scratch in Rust?
The query syntax looks pretty elegant to me!
A killer feature would be a declarative schema management for me.

Collapse
 
jaimemh profile image
Jaime Morgan Hitchcock • Edited

Thank you very much @peteole! Absolutely! Written entirely in Rust from scratch. We have a schema definition language and schema migration/updating functionality on our roadmap!

Collapse
 
peteole profile image
Ole Petersen

I was looking for something exactly like this for a long time! I have a feeling there was much too little going on in the database market for the last years and a rewrite from scratch that fixes the historical issues of sql seems like the right thing we need!

Thread Thread
 
jaimemh profile image
Jaime Morgan Hitchcock

We have some really big things planned for SurrealDB and there is a lot of stuff on our roadmap. It is great to have you on the journey with us. Thank you very much for your kind words @peteole!

Thread Thread
 
peteole profile image
Ole Petersen

I imagine that. Do you also plan typesafe client libraries generated from the database schema like edgedb? Maybe it's even possible to combine a vscode extension with some typescript magic to generate response types on the fly as well as syntax highlighting (or even intellisense?) in the parameters for the query. For SQL there is sqlx doing something like that and I believe it would be really cool if you could support it natively. But I can imagine there are lots of other cool things that can be added as well :)

Thread Thread
 
jaimemh profile image
Jaime Morgan Hitchcock

Hi @peteole, absolutely! We have a GraphQL implementation with schema definition support on the roadmap. Syntax highlighting for SurrealQL is planned for Atom, Vscode, Sublime Text, and Codemirror. That’s actually a really good idea to support native compile-time parsing of SurrealQL code. This is absolutely something we can do with the SurrealDB Rust library. Are you a Rust user?

Thread Thread
 
peteole profile image
Ole Petersen

I've recently worked a bit with rust. What's a bit of an issue with the compile time parsing of SurrealQL code is that you have to somehow feed the database schema to the compiler. In sqlx it is sometimes a bit annoying that initial builds fail when opening the project since the dev database the schema is fetched from is not yet running. Maybe one could directly fetch the database schema from a declarative schema definition file? In SQL it is not that simple since you have a huge list of migrations to parse, but maybe if you define the database schema with something like graphql types it could work...

Thread Thread
 
jaimemh profile image
Jaime Morgan Hitchcock • Edited

Absolutely @peteole, and that’s where the GraphQL schema comes in. I like the idea of SQLX, but I don’t like the idea of having to connect to a remote service in order to compile the code fully. A schema declaration file should sit in your project, and enable the code to compile. This is a great idea!