DEV Community

Cover image for Building the database of tomorrow
Tobie Morgan Hitchcock for SurrealDB

Posted on • Originally published at

Building the database of tomorrow


After years of building cloud-based SaaS systems, with realtime APIs, complicated security permissions, and multiple separate database backends, in 2015 we started conceptualising and planning a new database platform for building and scaling applications more quickly, while still allowing for the storage and querying of data in a structured yet flexible manner. The result was SurrealDB.

Taking inspiration from a range of databases including MySQL, OrientDB, CouchDB, InfluxDB, DynamoDB, MongoDB, RethinkDB, CockroachDB, Neo4j, and Firebase, development began on SurrealDB in 2016 with the intention of creating a scalable cloud graph database, built using Golang.

We wanted to build a database that we didn’t have to manage, that handled schema-less or schema-full data patterns, that could operate like a relational database (but without the JOINs), that could compete with the best document databases (but with a nicer more powerful query language), and that enabled us to build real-time applications effortlessly. Finally we wanted to build applications directly against our database, right from Chrome, Edge, or Safari. No more complicated APIs, no more complicated backends, no more complicated (and often error prone) security permissions. A database that allowed us to focus on our apps, not our infrastructure.

In 2021 the decision was made to open source SurrealDB, making it available to other developers and organisations in a private beta. Having learnt a great deal about building a future-ready database, the decision was made to re-build using Rust, in order to enforce data-sharing guarantees.

Today we are very, very excited to announce that SurrealDB is now in open beta to the world - SurrealDB 1.0-beta! The first beta version supports a large amount of functionality, with the ability to run in a highly-available, highly-scalable distributed environment. A highly-performant query language enables use of many different data types, and embedded JavaScript functions can be used for more complex functions and triggers.

Please give SurrealDB a star us on GitHub, follow us on Linkedin, follow us on Twitter, join us on Discord, and check out our website. If you have any questions about installing, starting or using SurrealDB, or you have an idea for a feature you would love to see in SurrealDB, let us know on GitHub Discussions and GitHub issues. We shall appreciate it immensely. Meanwhile, stay cool in this crazy weather and thank you for all the support over the years!

Founder & CEO, SurrealDB

Top comments (3)

mikepeiman profile image
Mike Peiman

This looks awesome! It feels intuitive, powerful, sensible, consistent, flexible.... I'm no DB expert, just a front-end dev who likes to geek out on tech a bit too much... But I will definitely be giving this a try on a new project soon and see how it works for me, and for sure I'll be keeping an eye on it.

Really impressed with your vision and work. KEEP IT UP! This kind of ambition and vision is inspiring.

cebbinghaus profile image

SurrealDB truly is the database of tomorrow. I really hope it can make a name for itself by innovating and revolutionizing the current Data storage landscape. My only concern is if the performance will hold up against SQL databases that have had decades to mature (of course it won't initially). I for one will be starting all of my projects with surrealdb from now on due to its incredible flexibility.

theseusyang1 profile image

where we can look the benchmark of surrealdb?