Перейти к основному содержанию
Перейти к основному содержанию

Общий каталог и общий движок базы данных

Доступно исключительно в ClickHouse Cloud (и в облачных сервисах партнёров первого уровня)

Shared Catalog — это облачный компонент, отвечающий за репликацию метаданных и DDL-операций баз данных и таблиц, использующих движки без сохранения состояния (stateless), между репликами в ClickHouse Cloud. Он обеспечивает согласованное и централизованное управление состоянием этих объектов, гарантируя согласованность метаданных даже в динамичных или частично недоступных средах.

Shared Catalog не реплицирует сами таблицы, но обеспечивает единое и согласованное представление определений баз данных и таблиц на всех репликах за счёт репликации DDL-запросов и метаданных.

Поддерживается репликация следующих движков баз данных:

  • Shared
  • PostgreSQL
  • MySQL
  • DataLakeCatalog

Архитектура и хранение метаданных

Все метаданные и история DDL‑запросов в Shared Catalog хранятся централизованно в ZooKeeper. Ничего не сохраняется на локальные диски. Такая архитектура обеспечивает:

  • Согласованное состояние всех реплик
  • Отсутствие состояния у вычислительных узлов (stateless)
  • Быстрый и надёжный запуск реплик

Shared database engine

Shared database engine работает совместно с Shared Catalog для управления базами данных, таблицы которых используют stateless‑движки таблиц, такие как SharedMergeTree. Эти движки таблиц не записывают постоянное состояние на диск и совместимы с динамическими вычислительными средами.

Shared database engine развивает и улучшает поведение Replicated database engine, предоставляя дополнительные гарантии и операционные преимущества.

Ключевые преимущества

  • Atomic CREATE TABLE ... AS SELECT
    Создание таблицы и вставка данных выполняются атомарно — либо вся операция завершается полностью, либо таблица не создаётся вовсе.

  • RENAME TABLE между базами данных
    Обеспечивает атомарное перемещение таблиц между базами данных:

    RENAME TABLE db1.table TO db2.table;
    
  • Автоматическое восстановление таблиц с помощью UNDROP TABLE
    Удалённые таблицы по умолчанию сохраняются в течение 8 часов и могут быть восстановлены:

    UNDROP TABLE my_table;
    

    Окно хранения настраивается в параметрах сервера.

  • Улучшенное разделение вычислительных ресурсов (compute-compute separation)
    В отличие от Replicated database engine, который требует, чтобы все реплики были в сети для обработки запроса DROP, Shared Catalog выполняет централизованное удаление метаданных. Это позволяет успешно выполнять операции даже при недоступности части реплик.

  • Автоматическая репликация метаданных
    Shared Catalog гарантирует, что определения баз данных автоматически реплицируются на все серверы при старте. Операторам не нужно вручную настраивать или синхронизировать метаданные на новых экземплярах.

  • Централизованное, версионируемое состояние метаданных
    Shared Catalog хранит единый источник истины в ZooKeeper. Когда реплика запускается, она получает последнее состояние и применяет разницу (diff), чтобы достичь согласованности. Во время выполнения запроса система может дождаться, пока другие реплики достигнут как минимум требуемой версии метаданных для обеспечения корректности.

Использование в ClickHouse Cloud

Для конечных пользователей использование Shared Catalog и движка базы данных Shared не требует какой-либо дополнительной настройки. Создание базы данных осуществляется как обычно:

CREATE DATABASE my_database;

ClickHouse Cloud автоматически назначает базам данных движок базы данных Shared. Любые таблицы, созданные в такой базе данных с использованием stateless-движков, автоматически получают все преимущества репликации и координации, обеспечиваемых Shared Catalog.

Краткое содержание

Shared Catalog и движок базы данных Shared обеспечивают:

  • Надёжную и автоматическую репликацию метаданных для stateless-движков
  • Stateless-вычисления без локального хранения метаданных
  • Атомарные операции для сложных DDL
  • Улучшенную поддержку эластичных, эфемерных или частично недоступных вычислительных сред
  • Бесшовное использование для пользователей ClickHouse Cloud

Эти возможности делают Shared Catalog основой масштабируемого cloud-native управления метаданными в ClickHouse Cloud.