SurrealDB wants to be the future of SQL

Out with the old geezer SQL. In the new way to use a database.

Move aside SQL!

SurrealDB gives the impression to be a jack of all trades. While the focus is on being a schemaless database by default, its language is reminiscent of classic SQL, with their own flavor of syntax added on top. Compared to the traditional standard, feels more modern and straight, and less cumbersome to learn.

$> surreal start memory
  • It exposes an HTTP REST endpoint and WebSockets (currently not documented but I can infer how it works nonetheless).
  • Combine that with a frontend app and a browser can directly query the database without risks.
  • You can define “events” on tables, that can see the value before and after the change of a row when a condition triggers it.
  • There is a lot of functions available at query time, from simple time and validation to geolocation and HTTP requests for easy Webhooks. You can even embed Javascript functions inside any statement.
  • Let me repeat that: You can even embed Javascript functions inside any statement.

1. It’s not battle-tested

The first indication of how a product may be good enough is to check who are using it, and how.

2. There is no migration path

By now all major projects run over a traditional SQL database, or they are heavily married to other database engines like MongoDB. There is no clear “migration” pipeline to move data from any of these database system to SurrealDB.

3. There are no performance metrics

You may say that SurrealDB feels like a slap in the face to other SQL engines out there, but while the syntax and convenience is there, what’s not is the talks about performance.

4. Tools are not there, yet

Most developers don’t want to interact directly with the database and spend hours managing data, and that’s why ORM exist in the first place: Doctrine, Eloquent, Sequelize, Diesel, GORM, among what I can remember.

SurrealDB is interesting, but still miles ahead

SurrealDB is not the present, not by a long shot, but it may be the future for projects that want to start now with a flexible database. For this to become the “next thing”, there are three things that must happen:

  • Migration paths from old SQL databases
  • Same or better performance than standard SQL engines.

--

--

Graphic Designer graduate. Full Stack Web Developer. Retired Tech & Gaming Editor. https://italobc.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Italo Baeza Cabrera

Graphic Designer graduate. Full Stack Web Developer. Retired Tech & Gaming Editor. https://italobc.com