Looking through the SurrealDB website and marketing copy, I can’t help but be a little bit skeptical of the feature set [1]. Many, many smart people have burned many millions of dollars and thousands of man hours building databases claiming far fewer capabilities.
Don’t get me wrong though, it would be a really awesome product with my dream feature set if they can actually pull it off. I wish them the best of luck and it will be very interesting see where SurrealDB ends up in a few years time!
True and if you look inside the code you can see the stated features are a result of underlying engine from those smart people (TiKV [0] in C and rust from pingcap). Surrealdb is standing on shoulders of giants at present, they are TiKV, FoundationDB and rocksdb. The feature set they mentioned mostly coming from TiKV at present.
TiKV is written in rust but then it depends on crates which use C and libc. Rust complements C, it is not an alternative to C, just another alternative to C++.
May be 20-30 years down the line, if it stays may be enough OS and libraries are built in native Rust without C then it might displace it, but at the moment Rust depends on C.
Rust is absolutely an alternative to C. The fact that Rust currently depends on C libc on some platforms is a pure implementation detail, and I believe there is ongoing work to remove that dependency.
C is implementation detail and that's what make it irreplaceable in short period of time. In my view Rust story will be similar to C++ if it continues to stay relevant for next 20-30 years and will be another alternative besides C++.
Right now Go is miles ahead of Rust when it comes to libraries and ecosystem. So it needs to catch up and once it overcomes Go popularity it might be nearer to C++. C is a different beast and will continue to be there it's the lingua franca of hardware programming and abstraction, unless something simpler comes and takes over which will also be 2-3 decades.
Right now Go is miles ahead of Rust when it comes to libraries and ecosystem.
I'm not sure that's true. A couple of years ago sure, but Rust is growing very fast.
I also think there's no reason to think C will stay around forever. The C ABI will be the lingua franca, but that doesn't mean you need to actually use C.
The only reason it has persisted for so long is lack of alternatives, but now we have at least Zig and Rust. Obviously there's a ton of momentum so it will still take a while to be replaced but I wouldn't be surprised if e.g. musl switches to Zig or Rust fairly soon.
I am sure its true, given Kubernetes, Docker and related projects, CockroachDB, prometheus, influxdb, nomad, otto, consul, grafana, terraform, snap, juju, Caddy, SeaweedFS, minio, milvus, syncthing, cilium are some of the examples in Go. Indeed it will be safe to say Go is one of the prominent language like Java, Python, C, C++ powering the internet. Rust still has a mountain to cross to reach even half as much usage as Go, except TiKV, Rust itself and Servo I don't see large open source software in Rust yet.
There is a lot of talk about it on HN and may be given 20-30 years it might become more widespread. Rust is still recovering from its failure of Servo not being used by Mozilla, given it failed to live up to expectations of replacing C++ in Firefox due to performance issues and resolving them within time constraints of project budget.
I tried searching for what kind of GraphQL support they offer on their repo (which is an advertised feature) and it still seems to be a WIP, though you have to kind of dig through the readme to find that out. Same problem with the full-text indexing feature, as another user here mentioned.
Hi user1029384756 - Tobie here, founder of SurrealDB. We do plan to support GraphQL integration soon (hopefully before our final 1.0 version). Our features page https://surrealdb.com/features is the best place to see what is built, and what we intend to build in due course! Hope this helps!
Hi user1029384756 - Tobie here, founder of SurrealDB. It's just a team of 2 of us at the moment, with the intention to grow the team very soon!
At the moment (as you have noted) the underlying storage engine is RocksDB (in single mode) or TiKV (in distributed mode), however, although we will always support deployment on top of these solutions, we intend to add our own embedded and distributed key-value stores in due course, which will offer different functionality in the long run!
We're looking to improve our roadmap page really soon to show exactly what we have planned / working on in the near term. In the meantime our features page https://surrealdb.com/features shows details most of the functionality that is already built, or coming in the future.
Comments
Looking through the SurrealDB website and marketing copy, I can’t help but be a little bit skeptical of the feature set [1]. Many, many smart people have burned many millions of dollars and thousands of man hours building databases claiming far fewer capabilities.
Don’t get me wrong though, it would be a really awesome product with my dream feature set if they can actually pull it off. I wish them the best of luck and it will be very interesting see where SurrealDB ends up in a few years time!
[1] https://surrealdb.com/why
True and if you look inside the code you can see the stated features are a result of underlying engine from those smart people (TiKV [0] in C and rust from pingcap). Surrealdb is standing on shoulders of giants at present, they are TiKV, FoundationDB and rocksdb. The feature set they mentioned mostly coming from TiKV at present.
[0] https://tikv.org/
I think TiKV is pure Rust no?
TiKV is written in rust but then it depends on crates which use C and libc. Rust complements C, it is not an alternative to C, just another alternative to C++.
May be 20-30 years down the line, if it stays may be enough OS and libraries are built in native Rust without C then it might displace it, but at the moment Rust depends on C.
Rust is absolutely an alternative to C. The fact that Rust currently depends on C libc on some platforms is a pure implementation detail, and I believe there is ongoing work to remove that dependency.
C is implementation detail and that's what make it irreplaceable in short period of time. In my view Rust story will be similar to C++ if it continues to stay relevant for next 20-30 years and will be another alternative besides C++.
Right now Go is miles ahead of Rust when it comes to libraries and ecosystem. So it needs to catch up and once it overcomes Go popularity it might be nearer to C++. C is a different beast and will continue to be there it's the lingua franca of hardware programming and abstraction, unless something simpler comes and takes over which will also be 2-3 decades.
I'm not sure that's true. A couple of years ago sure, but Rust is growing very fast.
I also think there's no reason to think C will stay around forever. The C ABI will be the lingua franca, but that doesn't mean you need to actually use C.
The only reason it has persisted for so long is lack of alternatives, but now we have at least Zig and Rust. Obviously there's a ton of momentum so it will still take a while to be replaced but I wouldn't be surprised if e.g. musl switches to Zig or Rust fairly soon.
I am sure its true, given Kubernetes, Docker and related projects, CockroachDB, prometheus, influxdb, nomad, otto, consul, grafana, terraform, snap, juju, Caddy, SeaweedFS, minio, milvus, syncthing, cilium are some of the examples in Go. Indeed it will be safe to say Go is one of the prominent language like Java, Python, C, C++ powering the internet. Rust still has a mountain to cross to reach even half as much usage as Go, except TiKV, Rust itself and Servo I don't see large open source software in Rust yet.
There is a lot of talk about it on HN and may be given 20-30 years it might become more widespread. Rust is still recovering from its failure of Servo not being used by Mozilla, given it failed to live up to expectations of replacing C++ in Firefox due to performance issues and resolving them within time constraints of project budget.
It does use RocksDB which is c++. But the result would probably be less stable if that had to be Rust as well.
You can use it now, 1.0 is in beta and does all the things they advertise, I'm starting to dig into it and it's very legit from what I've played with
I tried searching for what kind of GraphQL support they offer on their repo (which is an advertised feature) and it still seems to be a WIP, though you have to kind of dig through the readme to find that out. Same problem with the full-text indexing feature, as another user here mentioned.
Hi user1029384756 - Tobie here, founder of SurrealDB. We do plan to support GraphQL integration soon (hopefully before our final 1.0 version). Our features page https://surrealdb.com/features is the best place to see what is built, and what we intend to build in due course! Hope this helps!
Hi user1029384756 - Tobie here, founder of SurrealDB. It's just a team of 2 of us at the moment, with the intention to grow the team very soon!
At the moment (as you have noted) the underlying storage engine is RocksDB (in single mode) or TiKV (in distributed mode), however, although we will always support deployment on top of these solutions, we intend to add our own embedded and distributed key-value stores in due course, which will offer different functionality in the long run!
We're looking to improve our roadmap page really soon to show exactly what we have planned / working on in the near term. In the meantime our features page https://surrealdb.com/features shows details most of the functionality that is already built, or coming in the future.
I'm going to go on a limb an guess that its performance or memory usage will be terrible compared to traditional databases
Development velocity, however, could be off the charts with this kind of solution, as long as everything works as expected.