Semurg
Hi All,
Long-time reader, finally made an account.
I wanted to introduce something my team and I have been building, mostly because the core of it is an Elixir bet and I would really like this community’s take on it.
Semurg holds every type of data (relational, graph, object, document, search, vector, time-series) as one container, in a single engine over one copy of the data, CPU-only, on hardware you control. The engine is a commercial, closed-source product, but the installer and a full benchmark suite are now open, and the first node is free forever. It is live with no login at one.semurg.io, and you can now stand up your own node in one command and benchmark it yourself:
Install a node (prebuilt engine, no compiler, no Rust, no separate Erlang): GitHub - One-Semurg/Semurg-Install: Official one-command installer for Semurg. Downloads and runs the released Semurg engine — your first node is always free. Install script and release binaries only; this repo does not contain the engine source. · GitHub
Benchmark it on your own box against the engines you already run, equal-answer gated and bit-exact: GitHub - One-Semurg/Semurg-Benchmark-Suite: Run-it-yourself benchmarks comparing Semurg to leading open-source databases across eleven data domains - on your own hardware, your own results (no published numbers). · GitHub
Thanks
Trending in Announcing
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #elixirconf-eu
- #metaprogramming
- #hex










Showing Posts 1 to 1- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
Semurg
Quick update for anyone who saw this back in July, since a few things changed.
The site moved. semurg.io is retired. Everything is now at one.semurg.io.
Anyone can run it themselves now. Back then it was live to poke at, but closed and hosted by me. That changed. The engine is still closed source, but the installer and a full benchmark suite are now public, and the first node is free forever. You stand up a real node on your own hardware in one command, and you benchmark it against whatever you already run, with no account, no sales call, and nobody in the loop but you.
Install a node (prebuilt engine, no compiler, no Rust, no separate Erlang to set up):
Benchmark it on your own box (equal-answer gated, bit-exact, no fake numbers; it stands up each open-source incumbent from its official image and runs the same queries on the same deterministic data, and prints the losses straight next to the wins):
Here is the actual reason I am posting, though. I want your feedback to make the engine better. It is early, and the fastest way I know to uplift it is to put it in front of people who will run it on workloads I have not thought of and tell me exactly where it falls over. If you clone the suite and Semurg loses a lane on your box, that is the single most useful thing you can send me, because every one of those becomes the next thing I fix.
A couple of honest places it will lose today, so you know I mean it. The OLAP lane prints Semurg’s raw-scan loss to DuckDB straight, right next to the O(1) fold win, because a columnar warehouse is built to win that scan and I would rather show it than hide it. Where it does something the others cannot is the out-of-core graph regime: on a fixed small memory budget the in-RAM engines DNF and Semurg finishes the traversal at flat memory, which is the property I actually care about. Run it, break it, and tell me what caught you out or where it lost.
On the BEAM and Rust side from the original post: it is the same engine, still one concurrent NIF arm per physical core, dirty schedulers for the long jobs, batched crossings with only ids and offsets across the boundary, and a pure-BEAM fallback per NIF. The single-node install is just that engine packaged so you can run it without me in the loop, and watching where it breaks in other people’s hands is how it gets good.
Final updates should be pushed to the engine and the benchmark suite in days and then is ready for full testing and benchmarking.