A scalable, distributed, collaborative, document-graph database, for the realtime web
Hi geenat, CockroachDB is an awesome database! SurrealDB and CockroachDB are quite different, in that CockroachDB is effectively a highly-available distributed PostgreSQL database (aiming at that similar functionality), while SurrealDB is aiming to merge the relational / nosql / document / and graph databases together. Hence the functionality is quite different. To make SurrealDB distributed we have built it on top of TiKV (on a side note TiDB which is built by the creators of TiKV is more of a competitor to CockroachDB than SurrealDB is).
We will definitely in due course provide some documentation and comparisons with many of the other databases out there, and also we intend to do benchmarking with the other databases as soon as we have implemented a few of the performance issues that we know about (https://github.com/surrealdb/surrealdb/labels/performance)!
Distributed transactional key-value database, originally created to complement TiDB
Hi Diggsey, great question. We are currently focussed on functionality and stability, and then will draw our attention to performance. Coming this week we have a RocksDB storage implementation. We've only just launched our initial beta version, and we know there is a lot of improvement and work to be done (some of these performance issues we know about already and are on our Github issues list).
With regards to the consistency/isolation model, SurrealDB sits on top of a number of key-value stores. By using the distributed highly-available TiKV storage backend, https://tikv.org, (and we have a FoundationDB integration in the works), the database is designed to be highly-scalable and highly-available. The same guarantees (albeit just single-node, so no high-availability or scalability) will be available with the RocksDB implementation coming this week. By sitting on top of these key-value stores, SurrealDB ensures that all transactions are ACID compliant. We don't want to go for speed (for instance by writing to /dev/null) over anything, but want SurrealDB to be a reliable and performant backend for any application. Obviously we have a way to go to catch up with PostgreSQL (launched in 1996), but we will strive to get there!
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
A versioned, embedded, strongly-consistent, key-value database
Hi the_duke. The base implementation of that key-value store (written in Golang) can be found here: https://github.com/surrealdb/rixxdb
I don't think the implementation of the ideas in the thesis were added to the public project in the end.
We will be working on this in due course in Rust, however, and the implementation will be completely open source!
Marmot: Multi-writer distributed SQLite based on NATS
4 projects | news.ycombinator.com | 11 Dec 2023
just wanted to ask is there an in memory database that uses s3 or gcp cloud storage as permanent storage
1 project | /r/Database | 4 Jul 2023
SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s
5 projects | news.ycombinator.com | 12 Apr 2023
Strong Consistency with Raft and SQLite
6 projects | news.ycombinator.com | 21 Mar 2023
9 years of open-source database development: reviewing the designs
2 projects | /r/programming | 10 Mar 2023