Я считаю на систем дизайн собеседовании лучше не уточнять название бд до того как вы определились с типом нагрузки.
Выбор БД по названию — это архитектурная лотерея. Разница между B-Tree и LSM-Tree — это разница между библиотекой и блокнотом.
B-Trees (PostgreSQL, MySQL, Oracle) — это золотой стандарт для чтения. Они хранят данные в отсортированных блоках фиксированного размера.
Чтобы записать одну строку в B-Tree, диск делает 3–4 прыжка (Random I/O) для обновления индексов. На Highload это превращается в «бутылочное горлышко».
LSM-Trees (Cassandra, ScyllaDB, ClickHouse, RocksDB) — это «чит-код» для записи. Вместо того чтобы искать место на диске, они просто пишут в конец файла (Append-only).
Цифры:
• Random Write (B-Tree): ~100–500 операций в секунду на HDD, до 10k–100k на SSD.
• Sequential Write (LSM): Скорость ограничена только пропускной способностью шины (сотни МБ/с или даже ГБ/с).
Post #58
390
- 👍 5
- ❤🔥 2