> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Shared Catalog と共有データベースエンジン

> ClickHouse Cloud における Shared Catalog コンポーネントと共有データベースエンジンについて説明します

**ClickHouse Cloud (および ClickHouse 提供のパートナークラウドサービス) でのみ利用できます**

Shared Catalog は、ClickHouse Cloud において、ステートレスエンジンを使用するデータベースやテーブルのメタデータと DDL 操作をレプリカ間でレプリケーションするクラウドネイティブなコンポーネントです。これにより、これらのオブジェクトの状態を一元的かつ一貫して管理でき、動的な環境や一部のレプリカがオフラインの環境でもメタデータの整合性を維持できます。

Shared Catalog は **テーブル自体をレプリケーションするものではありません**。一方で、DDL クエリとメタデータをレプリケーションすることで、すべてのレプリカがデータベース定義およびテーブル定義について一貫したビューを持てるようにします。

次のデータベースエンジンのレプリケーションをサポートしています。

* Shared
* PostgreSQL
* MySQL
* DataLakeCatalog

<div id="architecture-and-metadata-storage">
  ## アーキテクチャとメタデータの保存
</div>

Shared Catalog 内のすべてのメタデータと DDL クエリ履歴は、ZooKeeper に一元的に保存されます。ローカルディスクには何も永続化されません。このアーキテクチャにより、次が実現されます。

* すべてのレプリカ間で状態の一貫性を確保
* コンピュートノードのステートレス化
* レプリカの高速かつ信頼性の高いブートストラップ

<div id="shared-database-engine">
  ## 共有データベースエンジン
</div>

**共有データベースエンジン**は、Shared Catalog と連携して、`SharedMergeTree` のような**ステートレスなテーブルエンジン**を使用するテーブルを含むデータベースを管理します。これらのテーブルエンジンは永続的な状態をディスクに書き込まず、動的なコンピュート環境に対応しています。

共有データベースエンジンは、Replicated データベースエンジンの動作をベースにそれを改良したもので、追加の保証と運用上の利点も提供します。

<div id="key-benefits">
  ### 主な利点
</div>

* **Atomic CREATE TABLE ... AS SELECT**
  テーブルの作成とデータの insert はアトミックに実行されます。つまり、処理全体が完了するか、テーブルがまったく作成されないかのいずれかです。

* **データベース間での RENAME TABLE**
  データベースをまたいだテーブルのアトミックな移動が可能です:
  ```sql theme={null}
  RENAME TABLE db1.table TO db2.table;
  ```

* **UNDROP TABLE による自動テーブル復元**
  drop されたテーブルはデフォルトで 8 時間保持され、その間は復元できます:
  ```sql theme={null}
  UNDROP TABLE my_table;
  ```
  この保持期間はサーバー設定で変更できます。

* **コンピュート・コンピュート分離の強化**
  DROP クエリの処理にはすべてのレプリカがオンラインである必要がある Replicated データベースエンジンとは異なり、Shared Catalog ではメタデータの削除が一元的に行われます。そのため、一部のレプリカがオフラインでも操作を正常に実行できます。

* **メタデータの自動レプリケーション**
  Shared Catalog により、起動時にデータベース定義がすべてのサーバーへ自動的にレプリケートされます。新しいインスタンスでメタデータを手動で設定したり同期したりする必要はありません。

* **一元管理されたバージョン付きメタデータ状態**
  Shared Catalog は ZooKeeper に単一の信頼できる情報源を保存します。レプリカは起動時に最新の状態を取得し、差分を適用して整合性を保ちます。クエリの実行中は、正確性を確保するために、他のレプリカが少なくとも必要なバージョンのメタデータに到達するまでシステムが待機できます。

<div id="usage-in-clickhouse-cloud">
  ## ClickHouse Cloud での使用
</div>

エンドユーザーがShared Catalog と共有データベースエンジンを使用する際に、追加の設定は不要です。データベースの作成方法も従来どおりです。

```sql theme={null}
CREATE DATABASE my_database;
```

ClickHouse Cloud では、データベースに自動的に共有データベースエンジンが割り当てられます。そのようなデータベース内でステートレスエンジンを使って作成されたテーブルは、自動的に Shared Catalog のレプリケーション機能と協調機能の恩恵を受けます。

<div id="summary">
  ## 概要
</div>

Shared Catalog と共有データベースエンジンには、次の特長があります。

* ステートレスエンジン向けの、信頼性の高い自動メタデータレプリケーション
* ローカルにメタデータを保持しないステートレスなコンピュート
* 複雑な DDL に対するアトミックな操作
* 弾力的、一時的、または部分的にオフラインとなるコンピュート環境への対応強化
* ClickHouse Cloud ユーザーにとってシームレスな利用体験

これらの機能により、Shared Catalog は ClickHouse Cloud におけるスケーラブルでクラウドネイティブなメタデータ管理の基盤となります。
