Обзор многоуровневого хранения
Многоуровневое хранение — это возможность 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 сводит потерю производительности к минимуму с помощью таких механизмов, как локальный кэш.