Какие отечественные базы данных, аналогичные NoSQL, вы знаете?

«Какие отечественные базы данных, аналогичные NoSQL, вы знаете?» — вопрос из категории Базы данных, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В DevOps-контексте важно понимать, как развернуть и администрировать эти СУБД. Вот несколько отечественных решений с NoSQL-характеристиками:

  1. Tarantool — in-memory платформа с моделью данных «ключ-значение» и встроенным Lua-интерпретатором для бизнес-логики. С точки зрения DevOps:

    • Развёртывание: Часто запускается в Docker или как systemd-сервис.
    • Пример конфигурации для репликации (config.lua):
      box.cfg{
          listen = 3301,
          replication = {
              'replicator:password@master-host:3301',
              'replicator:password@replica-host:3301'
          },
          read_only = false -- на реплике будет true
      }
    • Плюсы: Экстремально низкая задержка, встроенная очередь.
    • Минусы: Требует тщательной настройки репликации и мониторинга использования RAM.
  2. ClickHouse — колоночная аналитическая СУБД (OLAP). Хотя это не классический NoSQL, она часто используется для хранения и анализа больших объёмов событий (логи, метрики).

    • DevOps-аспекты: Масштабируется через шардирование и репликацию. Для управления в Kubernetes есть операторы.
    • Пример запроса для мониторинга:
      SELECT
          toStartOfMinute(event_time) AS minute,
          count() AS requests,
          avg(response_time_ms) AS avg_latency
      FROM application_logs
      WHERE event_time > now() - 3600
      GROUP BY minute
      ORDER BY minute DESC
  3. YDB (Yandex Database) — распределённая NewSQL/NoSQL база с поддержкой ACID-транзакций и SQL/YQL запросов.

    • DevOps-аспекты: Управляемая облачная служба, но есть версия для самостоятельного развёртывания (YDB Dedicated). Требует управления кластером из нескольких узлов (storage, compute).