docs.surrealdb.com
docs.surrealdb.com copied to clipboard
Documentation: How to start surrealdb with the SpeeDB engine
Description
Thanks to SpeeDB storage engine implementation surrealdb/surrealdb#2076, surrealdb can also be started with Speed. However, there is no documentation for this.
If you start the current version 1.0 with surreal start --user root speedb://database.db the user gets the following back:
ERROR surreal::cli: There was a problem with the database: There was a problem with the underlying datastore: Cannot connect to the speedb storage engine as it is not enabled in this build of SurrealDB
So how do you start or enabled surrealdb with the speedb engine? Especially in cloud environments, Speedb is many times better than RocksDB, which is mainly designed for SSDs and high IO. Cloud environments usually have network storage.
Do I need to recompile surrealdb or copy the binary from speedb somewhere. It would be great if you could describe this in more detail somewhere. Thank you
There is nothing wrong with the way you are trying to start it @admtech. As stated in the error message, it's not enabled in that binary. This means that the relevant feature (storage-speedb) wasn't enabled when building it.
hey @admtech!
Yeah, for now you will need to compile Surreal yourself with speedb support.
You will need to run something like cargo build --release --feature storage-speedb, and make sure you have the speedb library installed in your system.
Any way just to have this as a binary somewhere instead of having to build it?
Can we just get a cargo installable client please? That was we could cargo install --features storage-speedb and be done with it :D
Why not make speedb the default file-based storage engine considering the fact that it is an improvement over RocksDB?
We have decided to remove SpeeDB as a storage engine from SurrealDB to streamline and enhance our core functionality and performance. SurrealDB 2.0 will focus on a select group of core storage engines, including Memory, SurrealKV, RocksDB, TiKV, and FoundationDB, each offering unique capabilities.
The upcoming enhancements to RocksDB and the introduction of SurrealKV as a built-in datastore with exclusive features further reduce the need for SpeeDB. Additionally, SpeeDB, now part of Redis, lacks regular updates and isn't a primary focus as an open-source key-value store. Consequently, we have removed SpeeDB to prioritize these improvements and better serve our users.
You can read more on the following PR: https://github.com/surrealdb/surrealdb/pull/4171
Ok, thanks for the explanation. Makes sense. I'll have to migrate one of my dbs, but luckily I don't have a bunch on speedb atm. Probably make it easier to build my app now too lol.