что вы предложили имеет внутри разные структуры данных.
У sled (это бд еще имеет статус beta) это микс LSM и прочего с явным преимуществом в скорости вставки данных, но с минусами в виде чтения и размера данных на диске (не помню есть ли у sled WAL).
У RocksDB тоже LSM, но там внутри есть сжатие данных, поэтому не так много занимает места на диске по сравнению с sled + оверхед в виде WAL.
У LMDB тоже B+tree, но чтение не блокируется ничем и самое быстрое из всех этих бд, а на запись у вас только 1 транзакция, которая пишет только когда нет транзакций на чтение, + нет WAL из-за особенностей архитектуры, но при этом отсутствие WAL не делает эту бд плохой по Durability.
Так же у LMDB есть лучший клон - libmdbx. Эта бд лучше во всем от LMDB - много что пофикшено, много какие лимиты увеличены, производительность везде увеличина. Можете ознакомиться с их бенчмарками на их странице https://github.com/erthink/libmdbx
P.s. Плюс еще материал для обдумывания очень интересное сравнение lsm vs btree есть у TiKV базы данных, советую к прочтению https://tikv.org/deep-dive/key-value-engine/b-tree-vs-lsm/
Это я примерно знаю. Я хочу увидеть более-менее реальные числа перфа для различных операций чтения и записи, например. Внутреннее устройство меня как пользователя не особо интересует
Обсуждают сегодня