louis,
@louis@emacs.ch avatar

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.

#surrealdb #postgresql #benchmark

dottorblaster,
@dottorblaster@fosstodon.org avatar

@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

offset___cyan,
@offset___cyan@emacs.ch avatar

@louis postgres will definitely outlive all the postgres killers, except it's twin flame mariadb

louis,
@louis@emacs.ch avatar

@offset___cyan The MariaDB Corp dug their own grave by investing all their money and resources for their cloud service "SkySQL", which they now abandoned due to cash shortage including the customers who use it. Not good.

For the last two years they basically ignored serious bug reports, chasing off users to MySQL and PostgresQL. I filed two bug reports about their JSON_TABLE function which were confirmed but never fixed, making it virtually unusable.

Big drama between MariaDB Corp and MariaDB Foundation. I can't take them serious anymore.

offset___cyan,
@offset___cyan@emacs.ch avatar

deleted_by_author

  • Loading...
  • louis,
    @louis@emacs.ch avatar

    @offset___cyan SQLite never disappoints and it would be my first choice if I did not need remote access to the database from different clients.

    offset___cyan,
    @offset___cyan@emacs.ch avatar

    deleted_by_author

  • Loading...
  • louis,
    @louis@emacs.ch avatar

    @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.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • PostgreSQL
  • mdbf
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • Youngstown
  • everett
  • cisconetworking
  • slotface
  • GTA5RPClips
  • rosin
  • thenastyranch
  • kavyap
  • tacticalgear
  • modclub
  • JUstTest
  • osvaldo12
  • Durango
  • khanakhh
  • anitta
  • provamag3
  • ngwrru68w68
  • cubers
  • tester
  • ethstaker
  • megavids
  • normalnudes
  • Leos
  • lostlight
  • All magazines