Хранение данных

Эффективное хранение данных — основа любого аналитического хранилища. YDB использует колоночный формат, архитектуру с разделением хранения и вычислений и автоматические процессы обслуживания для обеспечения высокой производительности и низкой стоимости владения.

Колоночные таблицы

Данные в колоночных таблицах хранятся по столбцам, а не по строкам. Этот подход является стандартом для OLAP-систем и даёт два ключевых преимущества:

  1. Сокращение объёма чтения: при выполнении запроса (SELECT column_a, column_b FROM ...) с диска считываются данные только тех столбцов, которые участвуют в запросе;
  2. Сжатие данных: данные одного типа в столбце сжимаются лучше, чем разнородные данные в строке. YDB использует алгоритм сжатия LZ4.

Архитектура с разделением хранения и вычислений

Разделение хранения и вычислений — это архитектурный принцип YDB. Узлы, отвечающие за хранение данных (storage nodes), и узлы, выполняющие запросы (dynamic nodes), разделены. Это позволяет:

  • Независимо масштабировать ресурсы: если не хватает места на диске, вы добавляете узлы хранения. Если не хватает CPU для запросов — добавляете узлы вычислений. Это отличается от систем с жёстко связанными ресурсами хранения и вычислений;
  • Быстро перераспределять нагрузку: для перераспределения вычислительной нагрузки между узлами не требуется физическое перемещение данных, переносятся только метаданные.

Автоматическая оптимизация хранения

YDB спроектирован так, чтобы минимизировать ручные операции по обслуживанию.

  • Автоматическое уплотнение (compaction) данных: Данные хранятся в LSM-подобных структурах; процессы слияния и оптимизации данных происходят постоянно в фоновом режиме; вам не нужно запускать VACUUM или аналогичные команды.
  • Автоматическое удаление данных: Для управления жизненным циклом данных используйте механизм удаления по TTL.

Встроенная отказоустойчивость

YDB изначально создавалась как отказоустойчивая система и поддерживает различные режимы размещения данных для защиты от сбоев оборудования, стоек или даже целых дата-центров.