Общий каталог и общий движок базы данных
Доступно исключительно в ClickHouse Cloud (и в облачных сервисах первых лиц-партнеров)
Общий каталог — это облачно-ориентированный компонент, ответственный за репликацию метаданных и DDL-операций баз данных и таблиц, использующих статeless движки, по репликам в ClickHouse Cloud. Он обеспечивает согласованное и централизованное управление состоянием для этих объектов, гарантируя согласованность метаданных даже в динамичных или частично оффлайновых средах.
Общий каталог не реплицирует сами таблицы, но гарантирует, что все реплики имеют согласованный обзор определений базы данных и таблиц, реплицируя DDL-запросы и метаданные.
Он поддерживает репликацию следующих движков базы данных:
- Shared
- PostgreSQL
- MySQL
- DataLakeCatalog
Архитектура и хранение метаданных
Все метаданные и история запросов DDL в Общем каталоге хранятся централизованно в ZooKeeper. Ничто не сохраняется на локальном диске. Эта архитектура обеспечивает:
- Согласованное состояние на всех репликах
- Stateless вычислительные узлы
- Быстрое и надежное начальное развертывание реплик
Общий движок базы данных
Общий движок базы данных работает в связке с Общим каталогом для управления базами данных, таблицы которых используют stateless движки таблиц, такие как SharedMergeTree
. Эти движки таблиц не записывают постоянное состояние на диск и совместимы с динамическими вычислительными средами.
Общий движок базы данных строится на основе и улучшает поведение Реплицируемого движка базы данных, предлагая дополнительные гарантии и эксплуатационные преимущества.
Ключевые преимущества
-
Атомарное создание TABLE ... AS SELECT Создание таблицы и вставка данных выполняются атомарно — либо вся операция завершается успешно, либо таблица вообще не создается.
-
ПЕРЕИМЕНОВАТЬ TABLE между базами данных Позволяет атомарно перемещать таблицы между базами данных:
- Автоматическое восстановление таблицы с UNDROP TABLE Удаленные таблицы сохраняются в течение стандартного периода 8 часов и могут быть восстановлены:
Период хранения настраивается через настройки сервера.
-
Улучшенное разделение вычислений В отличие от Реплицируемого движка базы данных, который требует, чтобы все реплики были онлайн для обработки запроса DROP, Общий каталог выполняет централизованное удаление метаданных. Это позволяет операциям успешно выполняться даже тогда, когда некоторые реплики находятся в оффлайне.
-
Автоматическая репликация метаданных Общий каталог обеспечивает автоматическую репликацию определений баз данных на все серверы при запуске. Операторы не должны вручную настраивать или синхронизировать метаданные на новых экземплярах.
-
Централизованное, версионированное состояние метаданных Общий каталог хранит единственный источник достоверной информации в ZooKeeper. Когда реплика запускается, она получает последнее состояние и применяет отличия, чтобы достичь согласованности. Во время выполнения запроса система может дождаться, когда другие реплики достигнут хотя бы необходимой версии метаданных, чтобы обеспечить корректность.
Использование в ClickHouse Cloud
Для конечных пользователей использование Общего каталога и Общего движка базы данных не требует дополнительной настройки. Создание базы данных остается таким же, как всегда:
ClickHouse Cloud автоматически назначает Общий движок базы данных для баз данных. Все таблицы, созданные в такой базе данных с использованием stateless движков, автоматически получат выгоду от возможностей репликации и координации Общего каталога.
Резюме
Общий каталог и Общий движок базы данных обеспечивают:
- Надежную и автоматическую репликацию метаданных для stateless движков
- Stateless вычисления без локальной постоянства метаданных
- Атомарные операции для сложного DDL
- Улучшенную поддержку эластичных, эфемерных или частично оффлайновых вычислительных сред
- Бесшовное использование для пользователей ClickHouse Cloud
Эти возможности делают Общий каталог основой для масштабируемого, облачно-ориентированного управления метаданными в ClickHouse Cloud.