Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Калыс Осмонов: "B-Tree vs. LSM-Tree: какую сист...

Railsware
December 15, 2018

Калыс Осмонов: "B-Tree vs. LSM-Tree: какую систему БД использовать для следующего проекта"

Railsware

December 15, 2018

Transcript

23 slides
  1. 12/16/2018 Tiligram http://ru.osmonov.com/events/gdg2018/index.html?print-pdf 1/23 B-Tree vs. LSM-Tree: B-Tree vs. LSM-Tree:

    какую какую систему систему B-Tree vs. LSM-Tree: B-Tree vs. LSM-Tree: какую какую систему систему БД БД использовать использовать для для следующего следующего БД БД использовать использовать для для следующего следующего проекта проекта проекта проекта @railsware
  2. 12/16/2018 Tiligram http://ru.osmonov.com/events/gdg2018/index.html?print-pdf 2/23 Проблемы Проблемы при при выборе выборе

    СУБД СУБД Проблемы Проблемы при при выборе выборе СУБД СУБД Overkill Ограниченный кругозор Отсутствие анализа
  3. 12/16/2018 Tiligram http://ru.osmonov.com/events/gdg2018/index.html?print-pdf 3/23 Пет Пет проджект проджект Tiligram Tiligram

    Пет Пет проджект проджект Tiligram Tiligram Go lang Bolt DB, Badger и embedded storage в целом Bleve search
  4. 12/16/2018 Tiligram http://ru.osmonov.com/events/gdg2018/index.html?print-pdf 4/23 Локальные Локальные хранилища хранилища (Embeddable (Embeddable

    Локальные Локальные хранилища хранилища (Embeddable (Embeddable store) store) store) store) RocksDB (NATS, iron.io) LevelDB Badger Bolt Bunt
  5. 12/16/2018 Tiligram http://ru.osmonov.com/events/gdg2018/index.html?print-pdf 5/23 BoltDB BoltDB BoltDB BoltDB Стабильный и

    надежный Популярный B-Tree Оптимизирован на чтение
  6. 12/16/2018 Tiligram http://ru.osmonov.com/events/gdg2018/index.html?print-pdf 9/23 Бинарное Бинарное дерево дерево поиска поиска

    (BST) (BST) Бинарное Бинарное дерево дерево поиска поиска (BST) (BST) Массив Массив ( (несорт несорт.) .) Связный Связный список список Массив Массив ( (сорт сорт.) .) BS BS ( (ба ба Поиск O(n) O(n) O(log n) O( Добавление O(1) O(1) O(n) O( Удаление O(n) O(n) O(n) O(
  7. 12/16/2018 Tiligram http://ru.osmonov.com/events/gdg2018/index.html?print-pdf 20/23 Объединение Объединение данных данных из из

    SSTable SSTable Объединение Объединение данных данных из из SSTable SSTable
  8. 12/16/2018 Tiligram http://ru.osmonov.com/events/gdg2018/index.html?print-pdf 21/23 Процесс Процесс уплотнения уплотнения данных данных

    (Compaction) (Compaction) Процесс Процесс уплотнения уплотнения данных данных (Compaction) (Compaction)
  9. 12/16/2018 Tiligram http://ru.osmonov.com/events/gdg2018/index.html?print-pdf 22/23 B-Tree B-Tree LSM-Tree LSM-Tree Оптимизация на

    чтение Оптимизация на запись Не хранится история всех изменений Отсутствие фрагментации Нужно дефрагментировать Нужно уплотнять Использование блокировок во время записи Параллельный доступ без блокировок

More Decks by Railsware

Other Decks in Technology