Cluster databases with ReziDB

JairusSW
2 min readMar 25, 2021

You probably had the problem before. You created your backend with a great database but found that you can’t shard it. I’m going to share how I met these problems and solved them with a database built for the purpose.

# The Beginning
I wanted a database that was quite small and fast, but supported clustering. I wanted to use LevelDB, but it can’t support clustering. After some time, I discovered that it was possible to create a IPC socket and shard the database across multiple processes.

I became so excited that I started to work on a small project called ReziDB. It quickly evolved to include features such as clustering, querying, and at the top, speed.

# The Release

Recently, ReziDB walked into the world as a GitHub repository and a NPM package. It fills the gap between huge, remote databases and the small JSON-based databases.

# The Result

ReziDB had outstanding results. It maxxed out at around 70,000 ops/s (get) and 56,000 ops/s (set). In cluster mode, it ran around ~6,000 ops/s slower, but still held the amazing speed.

# The future

ReziDB is still a live project and is due for quite a few features. A few of the top features would be a UDP/HTTP connection, sharding across machines, a real dashboard and security, and more.

GitHub: https://github.com/JairusSW/ReziDB

NPM: https://npmjs.com/package/rezidb

--

--