Перейти к содержимому
Последнее обновление

Обзор многоуровневого хранения

Многоуровневое хранение — это возможность Apache Doris для оптимизации хранения данных. Редко используемые холодные данные переносятся на более дешёвые носители (HDD, объектное хранилище, HDFS), а горячие данные остаются на высокопроизводительных носителях. Это позволяет существенно снизить затраты на хранение без потери эффективности запросов.

Сценарии применения​

  • Высокие затраты на хранение, которые необходимо снизить для исторических данных.
  • Данные имеют чётко выраженные горячие и холодные периоды доступа (например, данные за последние 7 дней являются горячими, а более ранние — холодными).
  • Можно использовать имеющиеся ресурсы объектного хранилища (S3/OSS/COS и т. д.) или HDFS.
  • Разные режимы развёртывания (совмещённое хранение и вычисления или разделение хранения и вычислений) требуют разных решений для хранения холодных данных.

Быстрый выбор​

Выберите подходящий режим многоуровневого хранения с учётом условий развёртывания и целей по снижению затрат:

Сценарий пользователяРекомендуемый режимКлючевое преимущество
Есть возможность развернуть систему с разделением хранения и вычислений и требуется максимально эластичное масштабированиеРазделение хранения и вычисленийХранение одной реплики с независимым масштабированием вычислений и хранения
Используется режим с совмещённым хранением и вычислениями, требуется оптимизировать использование локальных SSDЛокальное многоуровневое хранениеПеренос холодных данных с SSD на HDD для экономии ресурсов высокопроизводительного хранилища
Используется режим с совмещённым хранением и вычислениями, требуется снизить затраты с помощью объектного хранилища или HDFSУдалённое многоуровневое хранениеХранение одной реплики холодных данных в объектном хранилище или HDFS для существенного снижения затрат

Описание трёх режимов многоуровневого хранения​

Doris предлагает три решения для многоуровневого хранения холодных данных при разных условиях развёртывания. Вы можете выбрать подходящее решение с учётом своей ситуации.

Сравнительная таблица режимов​

В следующей таблице приведены условия применения и основные характеристики трёх режимов для быстрого сравнения:

Вариант хранения холодных данныхУсловия примененияОсновные характеристики
Разделение хранения и вычисленийЕсть возможность развернуть систему с разделением хранения и вычислений- Все данные хранятся в объектном хранилище в виде одной реплики
- Локальный кэш ускоряет доступ к горячим данным
- Ресурсы хранения и вычислений масштабируются независимо, что существенно снижает затраты на хранение
Локальное многоуровневое хранениеВ режиме с совмещённым хранением и вычислениями требуется дополнительно оптимизировать ресурсы локального хранилища- Поддерживается перенос холодных данных с SSD на HDD
- Полноценное использование локальных уровней хранения позволяет сократить затраты на высокопроизводительные носители
Удалённое многоуровневое хранениеВ режиме с совмещённым хранением и вычислениями требуется дополнительно снизить затраты с помощью дешёвого объектного хранилища или HDFS- Холодные данные сохраняются в объектном хранилище или HDFS в виде одной реплики
- Горячие данные продолжают храниться локально
- Нельзя использовать совместно с локальным многоуровневым хранением для одной и той же таблицы

1. Разделение хранения и вычислений​

Сценарий применения: есть возможность развернуть систему с разделением хранения и вычислений, требуется эластичное масштабирование и максимальное снижение затрат.

Основные характеристики:

  • Все данные хранятся в объектном хранилище в виде одной реплики.
  • Локальный кэш ускоряет доступ к горячим данным.
  • Ресурсы хранения и вычислений масштабируются независимо, что существенно снижает затраты на хранение.

2. Локальное многоуровневое хранение​

Сценарий применения: в режиме с совмещённым хранением и вычислениями требуется дополнительно оптимизировать ресурсы локального хранилища.

Основные характеристики:

  • Поддерживается перенос холодных данных с SSD на HDD.
  • Полноценное использование локальных уровней хранения позволяет сократить затраты на высокопроизводительные носители.

Подробные сведения о настройке и использовании см. в разделе Многоуровневое хранение на локальных дисках.

3. Удалённое многоуровневое хранение​

Сценарий применения: в режиме с совмещённым хранением и вычислениями требуется дополнительно снизить затраты с помощью дешёвого объектного хранилища или HDFS.

Основные характеристики:

  • Холодные данные сохраняются в объектном хранилище или HDFS в виде одной реплики.
  • Горячие данные продолжают храниться локально.
  • Нельзя использовать совместно с локальным многоуровневым хранением для одной и той же таблицы.

Подробные сведения о настройке и использовании см. в разделе Многоуровневое хранение с локальным и удалённым уровнями.

Цели проектирования​

Благодаря трём описанным режимам Doris гибко адаптируется к условиям развёртывания пользователей и позволяет достичь следующих целей:

  • Баланс между эффективностью запросов и затратами на хранение: для горячих данных сохраняется высокая скорость доступа, а холодные данные размещаются в дешёвом хранилище.
  • Гибкая адаптация к различным вариантам развёртывания: поддерживаются как режим с совмещённым хранением и вычислениями, так и режим с разделением хранения и вычислений.
  • Повторное использование существующей инфраструктуры: поддерживаются объектные хранилища, HDFS, локальные HDD и другие носители для холодных данных.

Часто задаваемые вопросы​

Вопрос 1: В чём принципиальное различие между разделением хранения и вычислений и удалённым многоуровневым хранением?

  • Разделение хранения и вычислений: все данные (включая горячие) хранятся в объектном хранилище в виде одной реплики, а локальный диск используется только как кэш для ускорения доступа.
  • Удалённое многоуровневое хранение: в объектное хранилище/HDFS переносятся только холодные данные, а горячие остаются в локальном хранилище. Это оптимизация в рамках архитектуры с совмещённым хранением и вычислениями.

Вопрос 2: Можно ли одновременно использовать локальное и удалённое многоуровневое хранение?

Нет. Для одной и той же таблицы нельзя сочетать локальное и удалённое многоуровневое хранение.

Вопрос 3: Как выбрать подходящий режим?

  • Если есть возможность развернуть систему с разделением хранения и вычислений, отдайте предпочтение разделению хранения и вычислений.
  • Если вы используете совмещённое хранение и вычисления и хотите лишь оптимизировать затраты на локальные диски, выберите локальное многоуровневое хранение.
  • Если вы используете совмещённое хранение и вычисления и хотите снизить затраты с помощью объектного хранилища или HDFS, выберите удалённое многоуровневое хранение.

Вопрос 4: Влияет ли многоуровневое хранение холодных данных на производительность запросов?

Запросы к холодным данным могут выполняться немного медленнее из-за различий в производительности носителей (задержки при обращении к HDD/объектному хранилищу выше, чем к SSD), но Doris сводит потерю производительности к минимуму с помощью таких механизмов, как локальный кэш.