The serverless cloud database for Jamstack, with SurrealQL and GraphQL

SurrealDB is a flexible, developer-friendly, fully ACID transactional, realtime document-graph web database for serverless applications. Never again worry about database provisioning, scaling, sharding, replication, or correctness.

Flexible data modelling

Using an advanced query language, SurrealDB lets you store and access data using relational, document, graph, and embedded methodologies. The innovative data model enables you to model and access links between data records in an efficient way without complicated JOINs.

Query using SQL

The primary method of querying SurrealDB is using SurrealQL, a similar but modified version of traditional SQL. SurrealQL enables linked documents to be traversed and queried efficiently, while still using an imperative language which remains understandable by data scientists.

GraphQL, REST, or WebSockets

When connecting directly from an end-user device, you can choose to query the data using SurrealQL, GraphQL, or using a traditional REST API. In addition, WebSockets enable high-performance bi-directional realtime syncing of any updated data.

Real-time data syncing

When connecting with SurrealDB, all connections are made using WebSockets, allowing for bi-directional data syncing. Dependent on data access permissions, client-based document subscriptions are triggered in real-time whenever changes are made to the data.

In-built access and permissions

SurrealDB is designed as a web database, with clients connecting directly to it from browsers, mobile devices, and desktop apps. Configure your access rules easily using SQL statements, ensuring only the correct users have access to their respective data.

Web-native secure access

With support for SSL/TLS, Single-Sign-On, external 3rd party authentication, JWT token based authentication, and custom business authentication logic - SurrealDB offers strong security, with the flexibility of custom authentication methods that suit your app or business.

Global low-latency

Choose where you want your data to reside, and serve customers anywhere - with consistent data, replicated in real-time across multiple regions, allowing you to keep application loading speeds super-fast.

Hands-free elasticity

When using SurrealDB in the cloud, transparent behind-the-scenes scaling ensures that your apps never run out of capacity or storage, while you pay only for the data storage that you use.

Hassle free operation

SurrealDB is built from the ground-up to run as a cloud-first database. Configurable with just a single command, either as a binary, or from within a Docker instance, SurrealDB is easy to start, easy to scale, and easy to maintain. All the hard work is done for you.

Javascript framework connectors

In addition to the client libraries for the popular languages, SurrealDB maintains database client connectors for some of the popular Javascript frameworks, including Angular.js, and Ember.js. These connectors support real-time data asubscriptions and notifications using a binary protocol over a WebSocket connection, enabling advanced application functionality and awesome performance.

Ember.js Complete

ember install ember-surreal
GitHub Documentation

Angular.js Coming soon

npm install angular-surreal
GitHub Documentation

React.js Complete

npm install surrealdb
GitHub Documentation

Vue.js Complete

npm install surrealdb
GitHub Documentation

We are building SurrealDB for everyone

SurrealDB is being built in the open. We would love for you to be involved.

Find us on GitHub
 
View our open source projects