Хотелось пополнить резюме, а написала LSM-движок с MVCC, снапшотами и Value Log на чистом Go
Средний
14 мин
Неделю назад я не думала, что буду писать базу данных. Начиналось всё с плана добавить строчку в резюме. Но получилось: LSM‑дерево, MVCC, снапшоты, транзакции, Value Log, WAL, компакшн, Column Families и даже GC. Вы когда нибудь делали документацию в doc/ для пет-проекта? Я да! И всё на чистом Go. При этом бд не только встраиваемая, но и отдельно разворачивается как сервер (gRPC для 12 языков и CLI). Исходный код открыт.
Рассказываю как собирала конструктор, чьи решения подсматривала, каждый сложный термин поясняю. Рассказываю, где допускала ошибки и как решала проблемы, а что оставила в долгий ящик, и в конце даже небольшая любовная драма в CLI <3