SurrealDB
This article is written like a manual or guidebook. (March 2024) (Learn how and when to remove this template message) |
SurrealDB | |
Developer(s) | SurrealDB |
---|---|
Initial release | December 8, 2019 |
Stable release | v1.5.0
/ May 14, 2024 |
Repository | github |
Written in | Rust |
Engine | |
License | Business Source License, Apache License after 4 years |
Website | surrealdb |
Search SurrealDB on Amazon.
SurrealDB is an NewSQL[1] open-sourced multi-model database and database-as-a-service platform.[2] 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.[3][4][5]
The database is written in Rust,[6] with SDKs supporting languages such as JavaScript, Python, .NET, and others.[7] The database supports a number of modalities, including graph, relational, document and vector database features.
History and development[edit]
The company was founded by brothers Tobie Morgan Hitchcock and Jaime Morgan Hitchcock.[8] In 2023 it raised a $6 million seed funding round led by FirstMark.[2][9] The company is based out of London.[10] Version 1.0 of the database was release in September 2023[11]
The company's fully managed database service was in beta as of early 2023, with plans for a commercial launch in 2024. Investor Matt Turck from FirstMark sees SurrealDB competing in the growing database-as-a-service market, projected to be worth $24.8 billion by 2025.[2]
Technical features[edit]
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.[7][5]
Architecture[edit]
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[edit]
- Multi-tenancy data separation allows splitting data into namespaces and databases.
- Multi-table, multi-row transactions for fully ACID-compliant operations.
Data model[edit]
- Supports storage with and without schemas
- Supports basic types like booleans,[12] strings,[13] and numerics (64-bit integers and floats, and 128-bit decimals).[14]
- Empty values can be represented as
NONE
orNULL
.[12] - 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[edit]
- 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[5]
Additional features[edit]
- 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[edit]
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[7]
See Also[edit]
- List of graph databases
- Document-oriented database
- MongoDB
- Backend as a service
- Database as a service
References[edit]
- ↑ Peyton, Antony (2022-07-21). "Tech Startup SurrealDB Goes Live with Serverless Cloud Database". eWeek UK. Retrieved 2024-01-19.
- ↑ 2.0 2.1 2.2 Wiggers, Kyle (2023-01-04). "SurrealDB raises $6M for its database-as-a-service offering". TechCrunch. Retrieved 2024-01-19.
- ↑ "SurrealDB launch marks monumental milestone in the world of data management". UK Tech News. 2023-09-15. Retrieved 2024-01-19.
- ↑ Wood, Anna. "London's tech scene gets a reboot". Startups Magazine. Retrieved 2024-01-19.
- ↑ 5.0 5.1 5.2 Šelmeci, Roman (6 Nov 2023). "SurrealDB, AWS DynamoDB and AWS Lambda". Sudolabs.
- ↑ "SurrealDB: Open source scalable graph database has big potential". devmio - Software Know-How. 2022-08-23. Retrieved 2024-01-19.
- ↑ 7.0 7.1 7.2 "SurrealDB | Features | The ultimate multi-model database". SurrealDB. Retrieved 2024-01-19.
- ↑ Peyton, Antony (2021-09-29). "SurrealDB Keeps it Real with Serverless Cloud Database Launch". eWeek UK. Retrieved 2024-01-19.
- ↑ "SurrealDB | We are thrilled to announce our $6M Seed round led by FirstMark Capital and Matt Turck!". SurrealDB. Retrieved 2024-01-19.
- ↑ Maguire, Chris (2023-07-25). "Huckletree to open two new London hubs". BusinessCloud. Retrieved 2024-01-19.
- ↑ "SurrealDB | Releases | The ultimate multi-model database". SurrealDB. Retrieved 2024-01-19.
- ↑ 12.0 12.1 "Basic types | SurrealDB Docs". surrealdb.com. Retrieved 2024-01-20.
- ↑ "Strings | SurrealDB Docs". surrealdb.com. Retrieved 2024-01-20.
- ↑ "Numbers | SurrealDB Docs". surrealdb.com. Retrieved 2024-01-20.
This article "SurrealDB" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:SurrealDB. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.