DEV Community

Brandon Harrell
Brandon Harrell

Posted on

Neuromorphic KV store in Zig

Introduction

Hello in 2026 I decided to start a new project in Zig. It's actually a neuromorphic DB engine called Walbash DB. The name walbash is a play on Wabash. A neighborhood where I grew up in KC

Walbash is just a play on that. WAL-Bash. WAL (Write Ahead Log) and Bash (bourne again shell). But honestly its just a silly name. Moving on

I'm building a game, but I also want an excuse to do something with neuromorphic computing. I have a design concept using neuromorphic computing with my game that I may reveal later. But this database is to store synaptic weights to be used for a neuromorphic engine I'm working on

Why Zig

I'm not a smart guy. And what I mean by that is that I do like a lot of cognitive load. I've found in my engineering career that I prefer languages that give me maximum control while be cognitively straightforward. I remember trying to learn Scala and Rust over the years. These languages frontload you with features and makes it difficult to be productive

I work with Go professionally. But I wanted something low level because that's my interest. So Zig fit the bill. Odin exists too, but it syntatically is too similar to Go. Its hard for me to not think I'm not just writing in Go. Zig introduces a different muscle memory for me.

Why build your own database?

Because I've always wanted to. Just never had a good reason. And its really hard. Not just to execute, but to learn all the supporting theory. I've read books on databases and found myself just copy and pasting the code without understanding it. Which robs me of learning the "why".

AI has been a good way to research and learn on my own time with my own style. So AI is more of a research partner

Why is this not being generated with AI?

This is important. First I think the performance I'm going for isn't going to be done well by AI. It's too low level and niche for me to trust its output. Secondly I don't want to robbed of the joy or learn and implementing it myself. If my repo you will notice markdown files, but they are explicitly told not to generate code. This is very important for me

What makes your DB unique?

Absolutely nothing. It's just a learning exercise. I don't expect competitive features. This is also for my personal project. Not really meant to be used by anyone else. I'm blogging this because I just want to share my journey. It also keeps me on track.

How often should we expect updates?

Depending on progress. I'm starting the DB now so progress is fast. As I get into Memtables and testing, I expect things to slow down a lot. DB from scratch is hard. I anticipate a lot of testing. I'm also splitting time between my game and my neuromoprhic engine. And this is all being done part time.

Top comments (0)