SurrealDB is an NewSQL[1] open-sourced multi-model database[2] and database-as-a-service platform.[3] The platform is designed to offer a structured yet flexible way of storing and querying data, aiming to simplify the app development process by minimizing the need for building backend APIs and database layers.[4][5][6]

The database is written in Rust,[7] with SDKs supporting languages such as JavaScript, Python, .NET, and others.[8] The database supports a number of modalities, including graph, relational, document and vector database features.

History and development

SurrealDB Ltd. [clarification needed] was founded by brothers Tobie Morgan Hitchcock and Jaime Morgan Hitchcock in 2021.[9] In November 2022 the company closed a $6 million seed round led by FirstMark.[3][10] The company is based out of London.[11][12] Version 1.0 of the database was released in September 2023.[13]

The company's fully managed database service was in beta as of early 2023, with plans for a commercial launch in 2024.

Technical features

SurrealDB is a multi-model database that aims to address the requirements of contemporary application development. It provides a range of features intended to offer flexibility and functionality, positioning it as a potential option for developers seeking adaptable database solutions.[8][6]

Architecture

SurrealDB offers various configurations for its architecture.

  • Single-node (in-memory) for multi-reader, single-writer querying and data analysis.
  • Web browser with WebAssembly library for remote database connections or IndexedDB-based persistence in the browser.
  • Single-node (on-disk) using RocksDB or SpeeDB for persistent data storage.
  • Distributed clusters using FoundationDB or TiKV for high availability and scalability

Platform

  • Multi-tenancy[14] data separation allows splitting data into namespaces and databases.
  • Multi-table, multi-row transactions for fully ACID-compliant operations.

Data model

  • Supports storage with and without schemas
  • Supports basic types like booleans,[15] strings,[16] and numerics (64-bit integers and floats, and 128-bit decimals).[17]
  • Empty values can be represented as NONE or NULL.[15]
  • Native support for arrays and objects with unlimited nesting depth.
  • Date-times in ISO-8601 format, converted and stored in UTC.
  • GeoJSON data types.
  • Futures and casting capabilities for computed and strongly typed values

SurrealQL

  • SQL-like query language with statements like SELECT, CREATE, UPDATE, DELETE, RELATE, and INSERT.
  • Features like FOR loops and THROW statements for custom error types.
  • Nested field queries, mathematical and geospatial operators.
  • Complex record IDs and record ID ranges for timeseries contexts[6]

Additional features

  • Pre-defined aggregate analytics views for data analysis.
  • Live queries and record changes with web-based data syncing.
  • Global parameters for database-wide value accessibility.
  • Custom functions for complex, user-defined logic within queries
  • Database as a backend which enables client applications to remove the need for Backend APIs with scoped permissions and user authentication.

SurrealKV

SurrealKV, set for inclusion in SurrealDB's 1.X release, is being developed as a native Rust-based key–value storage engine for both single-node and distributed systems. It aims to enable multiple concurrent writers and readers, with a focus on immutable data querying, versioned queries, data change auditing, and historic analysis. The distributed version will additionally offer scalability to handle terabytes of data and enhanced fault tolerance for enterprise-level applications[8]

See Also

References

  1. ^ Peyton, Antony (2022-07-21). "Tech Startup SurrealDB Goes Live with Serverless Cloud Database". eWeek UK. Retrieved 2024-01-19.
  2. ^ Barron, Jenna (2024-05-10). "SD Times Open-Source Project of the Week: SurrealDB". SD Times. Retrieved 2024-05-17.
  3. ^ a b Wiggers, Kyle (2023-01-04). "SurrealDB raises $6M for its database-as-a-service offering". TechCrunch. Retrieved 2024-01-19.
  4. ^ "SurrealDB launch marks monumental milestone in the world of data management". UK Tech News. 2023-09-15. Retrieved 2024-01-19.
  5. ^ Wood, Anna. "London's tech scene gets a reboot". Startups Magazine. Retrieved 2024-01-19.
  6. ^ a b c Šelmeci, Roman (6 Nov 2023). "SurrealDB, AWS DynamoDB and AWS Lambda". Sudolabs.
  7. ^ "SurrealDB: Open source scalable graph database has big potential". devmio - Software Know-How. 2022-08-23. Retrieved 2024-01-19.
  8. ^ a b c "SurrealDB | Features | The ultimate multi-model database". SurrealDB. Retrieved 2024-01-19.
  9. ^ Peyton, Antony (2021-09-29). "SurrealDB Keeps it Real with Serverless Cloud Database Launch". eWeek UK. Retrieved 2024-01-19.
  10. ^ Team, TechRound (2024-04-25). "Meet Tobie Morgan Hitchcock, CEO & Co-Founder Of SurrealDB". TechRound. Retrieved 2024-05-17.
  11. ^ Vrcic, Tea (2024-03-06). "10 fast growing UK startups to watch in 2024 and beyond!". EU-Startups. Retrieved 2024-05-17.
  12. ^ Maguire, Chris (2023-07-25). "Huckletree to open two new London hubs". BusinessCloud. Retrieved 2024-01-19.
  13. ^ Team, TechRound (2023-09-11). "SurrealDB: A Quantum Leap in Database Technology". TechRound. Retrieved 2024-05-17.
  14. ^ "Top 70+ startups in Database as a Service (DBaaS) - Tracxn". tracxn.com. 2024-04-05. Retrieved 2024-05-17.
  15. ^ a b "Basic types | SurrealDB Docs". surrealdb.com. Retrieved 2024-01-20.
  16. ^ "Strings | SurrealDB Docs". surrealdb.com. Retrieved 2024-01-20.
  17. ^ "Numbers | SurrealDB Docs". surrealdb.com. Retrieved 2024-01-20.