11. In-Memory базы данных. Преимущества и недостатки. Примеры использования.
In-memory Database — база данных в оперативной памяти.
Преимущества:
- Высокая производительность.
- Структуры данных в памяти.
- Поддержка высокоуровневыми языками.
- Репликация (передача изменений в информации, произведенных в одном узле системы баз данных, на другие узлы).
Недостатки:
- Надежность (уязвимость к отказам, так как оперативная память — энергозависимая память). Существуют ряд методов, которые позволяют снизить этот риск: снэпшоты, логи транзакций, NVRAM, NVDIMM
- При частом обновлении данных в БД неэффективно, так как постоянно будет происходить двойное обращение к памяти (сначала к In-memory Database, потом к основной БД).
Redis (in English — REmote DIctionary Server) — сервер БД, хранилище структур данных в оперативной памяти в формате “ключ-значение”.
Типы данных, поддерживаемые Redis:
- Строки.
- Списки.
- Хеш-таблицы.
- Множества.
- Упорядоченные множества.
Топология Redis
- Один Redis-инстанс. Состоит из одного сервера. Крайняя уязвимость к отказам.