Have any of you Rust developers ever used Skytable and been satisfied so far? Is it also 100% open source or do I have to pay attention to something like SurrealDB and can GraphQL or something similar also be used on it?
Which of these #Rust databases is probably more practical and faster for a fast #WebDev project in pure #RustLang, which #NoSQL database would you prefer?
(The question about #DB is not meant seriously, because depending on the task and the desired solution, the results will be different.)
Just gave SurrealDB 1.0.0, one of the new Rust kids on the block, a try. Goal: compare performance to PostgreSQL.
Both databases were setup on the same machine (x86_64, 8 cores).
Data: a table with 50.000 small rows (~60bytes). One column is a INT value between NULL and 250.
The raw file size on both databases was below 9 MBs.
Query in Postgres:
select count(*) from objects where score > 100;<br></br>
Query in SurrealDB:
select count() from objects <br></br>where score > 100<br></br>group all<br></br>
The count result will be 22.000.
Here are the results after a few repeated executions:
No index:
Postgres: 28ms
SurrealDB: 801ms
With index:
Postgres: 12ms
SurrealDB: 620ms
Time for creating the index:
Postgres: 50ms
SurrealDB: 8.140ms
I'm kind of disappointed about the result, given the small table size. I can't see how SurrealDB would scale with bigger setups and wonder about the hype around it.
@offset___cyan I had a great chat with Glauber Costa, one of the founders of Turso, the other day and I still experiment with it. However, when you work with remote SQLite, your tooling must explicitly support/implement libSQL. They have libs for programming languages but there is no GUI that supports it as of today.
So you can't just pop up your client and look into the database or export/import some data. For that you either have to write scripts in a supported programming language or download the whole database to your local machine. When you deal with databases > 10 or even 100 GB, it quickly becomes an issue.
Same goes for backups. There is no backup service that supports it (yet), so you have to roll your own solution and copy (meaning: download) the whole database to some external machine every day (or multiple times a day).
While Turso has great features like replication to multiple regional zones etc. it is designed so that you have many little databases per tenant or user.
My use case is more traditional in that I often need to work on the live database, which is currently 150 GB and growing.
@louis@xgqt woh. To be honest I expected so much more, this is very meh. I hope future releases get better, but I have to say Postgres never disapponted me and I never actively looked for a replacement in my use cases
I want to use #surrealdb, but I am unsure if it is safe enough to use in a hobby project. I know many people have already started using it, and I doubt anything I make will get heavy usage... but it’s such a powerful, different type of #database I really want to try leveraging it.
@arch I mean my learning workers project that I still run in production for https://hack13.link/ is using Cloudflare KV Store and it works super fast and well. https://github.com/hack13/hacks-links that said, I should look at cleaning that up at some point, because I am sure there are cleaner ways of doing things with it these days.