Zig에서 뉴로모픽 KV 스토어
Source: Dev.to
Introduction
안녕하세요! 2026년에 저는 Zig로 새로운 프로젝트를 시작했습니다: Walbash DB라는 신경형 DB 엔진입니다. 이 이름은 제가 캔자스 시티에서 자란 동네인 Wabash와 WAL(Write‑Ahead Log) 및 Bash(Bourne Again Shell) 개념을 결합한 말장난입니다. 다소 어색한 이름이지만 그대로 쓰게 되었습니다.
저는 게임을 만들고 있으며, 신경형 컴퓨팅을 탐구할 구실이 필요했습니다. 이 데이터베이스는 제가 작업 중인 신경형 엔진의 시냅스 가중치를 저장하게 됩니다.
저는 “똑똑한 사람”이라기보다 인지 부하가 적은 방식을 선호합니다. 엔지니어링 경력 동안 많은 기능을 미리 제공하는 언어(예: Scala, Rust)를 사용하면 생산성이 떨어지는 것을 경험했습니다. 직업적으로는 Go를 사용하지만, 더 낮은 수준에서 최대한의 제어권을 제공하면서도 인지적으로 간단한 무언가를 원했습니다. Zig가 그 조건에 딱 맞았습니다. Odin도 낮은 수준이지만 문법이 Go와 너무 비슷해 Go 스타일 코드를 쓰는 습관을 끊기 어려웠습니다. Zig는 전혀 다른 근육 기억을 요구하는데, 이것을 개발하고 싶었습니다.
데이터베이스를 뒷받침하는 이론을 배우는 것은 쉽지 않았습니다. 데이터베이스 관련 서적을 읽으며 “왜 그런가”를 완전히 이해하지 못한 채 코드를 복사‑붙여넣기 하는 경우가 많았습니다. AI는 저에게 유용한 연구 파트너가 되어, 스스로의 속도와 스타일대로 학습할 수 있게 도와주었습니다. 하지만 제가 목표로 하는 성능은 너무 낮은 수준이고 특수하기 때문에 AI 출력만을 전적으로 신뢰하기는 어렵고, 직접 배우고 구현하는 즐거움을 잃고 싶지 않습니다.
이 프로젝트는 순수히 학습 목적입니다. 경쟁력 있는 기능을 기대하지 않으며, 개인용으로만 사용할 예정입니다. 진행 과정을 블로그에 기록해 제 여정을 공유하고 스스로를 독려하려 합니다.
DB를 설정하는 초기 단계에서는 진행 속도가 빠르지만, memtable과 테스트 단계에 들어가면 속도가 느려질 것으로 예상합니다—처음부터 DB를 만드는 일은 어렵기 때문입니다. 게임, 신경형 엔진, 그리고 이 DB 개발을 모두 파트‑타임으로 병행할 예정입니다.