Как я добавила групповой коммит в свою LSM-базу на Go и не пожалела

Wait 5 sec.

Синхронный WAL очень частое явление в базах данных, делая их durability максимальной. При таком исходе каждый батч записи это вызов fsync, и это дало мне 956k opr/s на 16кб значениях , звучит хорошо, но на самом деле: скорость записи упала в 5 раз.Поскольку в планах создать конкурентноспособное хранилище, я смотрела на то как справлялись с этим замедлением в RocksDB. И, если вы знаете хранилища на Go, где есть групповой коммит, то поделитесь пожалуйста, потому что я не смогла найти такого.В этой статье я расскажу:Что такое групповой коммит на пальцахПочему групповой коммит не для финтехаКак это реализовано у меня Как изменились цифры до и после внедренияВо сколько раз ScoriaDB с group commit быстрее BadgerDB и Pebble.Если вы пишете хранилище, логгер, кэш или просто любите копаться в LSM‑движках — добро пожаловать на борт, нас ждет короткое путешествие Узнать больше