Hacker News new | ask | show | jobs
by user1029384756 1378 days ago
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

4 comments

> Many,many smart people…

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.

> 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.

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.