Планирование развертывания#

Данный документ разъясняет важные решения, которые вам необходимо предпринять для промышленного развертывания каталога.

Способ развертывания#

CedrusData Catalog может быть запущен из раскованного архива или Docker-образа. Оба способа подходят для промышленного использования.

Запуск из {doc}`раскованного архива </deployment/archive> позволяет администраторам легче экспериментировать с конфигурацией и быстрее получать доступ к различным рабочим файлам каталога

Запуск из Docker-образа позволяет работать с продуктом без установки зависимостей (Java 21, Python), но требует более тщательного планирования отображения портов и директорий Docker-контейнера.

Выбор СУБД#

CedrusData Catalog сохраняет информацию в реляционной СУБД. Вы можете использовать SQLite или PostgreSQL.

SQLite работает в embedded режиме, что даем вам возможность запустить каталог без необходимости развертывания отдельного сервера СУБД. Данный вариант хорошо подходит для тестовых развертываний. Недостатком является совмещение СУБД с каталогом на одном хосте: если по какой-то причине сервер каталога окажется недоступным, то недоступной будет и СУБД каталога.

При использовании PostgreSQL вы получаете возможность отделить СУБД от каталога. Данный вариант рекомендован для промышленного развертывания. Для обеспечения сохранности данных каталога вы должны использовать механизмы бэкапов и/или репликации, предоставляемые PostgreSQL.

Примечание

В будущем в каталог будет добавлен режим работы High Availability на основе протокола Raft. При использовании данного режима рекомендованной СУБД будет SQLite, так как данные СУБД будут реплицироваться между узлами.

Включение шифрования трафика с помощью TLS#

CedrusData Catalog работает по протоколу HTTP, и может передавать или получать чувствительную информацию, такую как имена пользователей, пароли и ключи доступа. По умолчанию шифрование трафика между каталогом и клиентами отключено.

При работе с доверенными клиентам во внутренней сети (например, кластер CedrusData или Trino), можно продолжить работу по незащищенному протоколу HTTP.

При работе с публичными клиентами (например, пользовательская сессия Apache Spark), необходимо включить шифрование трафика. Для этого вы должны выбрать подходящую стратегию шифрования: сертификаты или TLS termination proxy.

Подключение файловых систем#

В большинстве случаев вам потребуется подключить одну или несколько файловых систем. Ознакомьтесь с руководствами и примерами конфигурации файловых систем: S3, HDFS.

Для файловых систем на основе протокола S3 вы должны в первую очередь выбрать стратегию доступа к файловой системе: статические ключи доступа или временные ключи STS.

Для HDFS вы должны получить файлы конфигурации (core-site.xml, hdfs-site.xml и т.д.), а также решить, будете ли вы использовать имперсонацию и Kerberos.

После создания файловой системы используйте команду file-system check для проверки работоспособности.

Производительность Iceberg каталог#

Выполнение пользовательских команд к Iceberg каталогу часто сопряжено с удаленными вызовами к файловой системе и СУБД. Для обеспечения высокой производительности CedrusData Catalog активно кэширует метаданные таблиц Apache Iceberg. Если количество таблиц Iceberg в вашей схеме превышает несколько тысяч, вам может потребоваться увеличить размер кэша метаданных Iceberg.

Настройка мониторинга#

Ознакомьтесь с различными способами мониторинга состояния каталога:

  • JMX для контроля состояния через объекты JMX

  • OpenMetrics для интеграции с Prometheus и Grafana

  • OpenTelemetry для включения трассировки отдельных компонентов каталога