Выбор подходящего режима развёртывания
Быстрый выбор
Чтобы быстро выбрать вариант развёртывания, ориентируйтесь на свои задачи:
| Сценарий | Рекомендуемый вариант |
|---|---|
| Требуется эластичное масштабирование, развёртывание в облаке | Разделение хранения и вычислений + развёртывание на облачной платформе |
| Фиксированный масштаб, размещение в собственной инфраструктуре | Совмещение хранения и вычислений + ручное развёртывание |
| Крупный кластер, требуется автоматизированное управление | Разделение хранения и вычислений + развёртывание в Kubernetes |
Совмещение и разделение хранения и вычислений
| Характеристика | Совмещение хранения и вычислений | Разделение хранения и вычислений |
|---|---|---|
| Архитектура | Данные и вычисления тесно связаны; узлы BE отвечают и за хранение, и за выполнение запросов | Вычислительный слой (BE) и слой хранения (Shared Storage) разделены |
| Сценарии использования | Фиксированный масштаб задач, высокие требования к производительности запросов, среды без общего хранилища | Потребность в эластичном масштабировании, развёртывание в облаке, аналитика больших данных |
| Преимущества | Простая архитектура, низкая задержка, внешнее общее хранилище не требуется | Независимое масштабирование вычислительных ресурсов, более низкая стоимость хранения, более гибкая изоляция ресурсов |
| Недостатки | Вычислительные ресурсы нельзя масштабировать независимо | Больше компонентов, требуется стабильная работа сервиса общего хранилища |
Способы развёртывания
Ручное развёртывание
Развёртывание вручную с помощью скриптов и файлов конфигурации. Подходит для небольших и средних кластеров, а также для первоначальной проверки.
- Подходит для: быстрой проверки, минимальных конфигураций, знакомства с архитектурой кластера
- Не подходит для: крупных кластеров, сред, требующих частых изменений
Подробные инструкции см. в разделах Ручное развёртывание кластера с совмещением хранения и вычислений или Ручное развёртывание кластера с разделением хранения и вычислений.
Развёртывание в Kubernetes
Управление кластерами в Kubernetes с помощью Doris Operator. Подходит для крупных производственных сред и сценариев, требующих автоматизации.
- Подходит для: крупных кластеров, сценариев, требующих декларативного управления, развёртывания в гибридном облаке
- Требования: кластер Kubernetes, Doris Operator
Подробные инструкции см. в разделе Развёртывание в Kubernetes.
Развёртывание на облачной платформе
Развёртывание на облачных платформах, таких как Alibaba Cloud и AWS, с использованием инфраструктуры, разработанной для облачной среды.
- Подходит для: облачных рабочих нагрузок, сценариев, требующих быстрого выделения ресурсов, изоляции сред
- Поддерживаются: Alibaba Cloud ECI, AWS EKS и другие сервисы
Подробные инструкции см. в разделе Развёртывание на облачной платформе.
Рекомендации по выбору
- Первое знакомство с Doris: начните с совмещения хранения и вычислений + ручного развёртывания. Архитектура проста и позволяет легко приступить к работе.
- Производственная среда небольшого или среднего масштаба: совмещение хранения и вычислений + ручное развёртывание или развёртывание в Kubernetes.
- Развёртывание в облаке с потребностью в эластичном масштабировании: разделение хранения и вычислений + развёртывание на облачной платформе или в Kubernetes.
- Крупный производственный кластер: разделение хранения и вычислений + развёртывание в Kubernetes, упрощающее автоматизацию эксплуатации.
Часто задаваемые вопросы
Вопрос: Сильно ли архитектура с разделением хранения и вычислений влияет на производительность запросов?
В большинстве случаев архитектура с разделением хранения и вычислений создаёт некоторые дополнительные сетевые издержки, поскольку вычислительный слой и слой хранения разделены, однако в большинстве сценариев их влияние ограничено. Причины следующие:
- Shared Storage обычно развёртывается в среде с высокоскоростной сетью (например, 25Gbps RDMA).
- Механизмы кэширования данных позволяют эффективно сократить частоту удалённого чтения.
- Для некоторых сценариев с крайне высокими требованиями к низкой задержке совмещение хранения и вычислений может оказаться более подходящим вариантом.
Вопрос: Как перевести существующий кластер с совмещения хранения и вычислений на их разделение?
Процесс миграции в общих чертах выглядит так:
- Разверните кластер с разделением хранения и вычислений в новой среде.
- Перенесите данные с помощью Broker Load или Stream Load.
- Проверьте согласованность данных и производительность запросов.
- Выведите старый кластер из эксплуатации.
Вопрос: Требуется ли для развёртывания в Kubernetes отдельная команда эксплуатации?
Это зависит от размера кластера:
- Небольшие кластеры (не более 10 узлов): дополнительная сложность развёртывания в Kubernetes может быть неоправданной.
- Средние и крупные кластеры (10+ узлов): возможности автоматизации Kubernetes могут значительно снизить эксплуатационные затраты.
Вопрос: Как выбрать между развёртыванием на облачной платформе и развёртыванием в Kubernetes?
| Характеристика | Развёртывание на облачной платформе | Развёртывание в Kubernetes |
|---|---|---|
| Сценарии использования | Быстрое развёртывание, эластичное выделение ресурсов | Гибридное облако, мультиоблачные среды |
| Сложность управления | Низкая | Средняя |
| Гибкость | Ограничена возможностями облачной платформы | Высокая, с возможностью настройки |
| Стоимость | Возможны дополнительные расходы на облачные сервисы | Проще контролировать |