PostgreSQL から Zilliz Cloud への移行
このトピックでは、PostgreSQL から移行する際に Zilliz Cloud がデータ型マッピング、コレクションの命名規則、および考慮事項をどのように処理するかについて説明します。
インデックス設定と移行後の手順については、External Migration Basics を参照してください。
事前準備
PostgreSQL から Zilliz Cloud への移行を開始する前に、以下の要件を満たしていることを確認してください。
PostgreSQL の要件
| 要件 | 詳細 |
|---|---|
| ネットワークアクセス | ソースの PostgreSQL データベースは、パブリックインターネットからアクセスできる必要があります。 |
| データベースアクセス | 必要な権限を持つ有効なデータベースエンドポイント、ユーザー名、およびパスワード |
| pgvector 拡張機能 | テーブルは、ベクトルデータの保存に pgvector 拡張機能を使用する必要があります。 |
| ベクトルフィールドの要件 | 各ソーステーブルには少なくとも 1 つのベクトルフィールドが含まれている必要があり、ベクトルフィールドには null 値を含めることはできません。 |
| データの可用性 | ソーステーブルにはデータが含まれている必要があります。空のテーブルは移行できません。 |
Zilliz Cloud の要件
| 要件 | 詳細 |
|---|---|
| ユーザーロール | Organization Owner または Project Admin |
| クラスター容量 | 十分なストレージとコンピューティングリソース(CU サイズを見積もるには CU 計算ツール を使用) |
| ネットワークアクセス | ネットワーク制限を使用する場合は、Zilliz Cloud IPs を許可リストに追加してください。 |
データ型マッピング
PostgreSQL のデータ型が Zilliz Cloud にどのようにマッピングされるかを理解することは、移行を計画するうえで重要です:
PostgreSQL のフィールド型 | Zilliz Cloud のフィールド型 | 説明 |
|---|---|---|
主キー | 主キー / Auto ID |
データを移行する際に Auto ID を有効にできます。ただし、有効にすると、ソースコレクションの元の主キー値は破棄されます。 |
ベクトル | FLOAT_VECTOR | ベクトルの次元は変更されません。 |
text/varchar/date/time | VARCHAR | 文字列として保存されます。 |
bigint | INT64 | |
integer | INT32 | |
smallint | INT16 | |
double precision | DOUBLE | |
real | FLOAT | |
boolean | BOOL | |
array | ARRAY | |
json | JSON |
PostgreSQL 固有の処理ルール
コレクションの命名規則
PostgreSQL のテーブル名は、以下の考慮事項を踏まえて Zilliz Cloud に転送されます:
| シナリオ | 影響 | 解決策 |
|---|---|---|
| デフォルトの命名 | コレクション名はソーステーブル名と完全に一致します。 | 名前は PostgreSQL からそのまま保持されます。 |
| 命名の競合 | 同じ名前のコレクションがすでに存在する場合、ジョブを送信できません。 | 既存のコレクションを削除するか、別のデータベースを選択するか、移行構成時に名前を変更します。 |
| コレクション名の変更 | 移行時にサポートされています。 | 移行構成プロセス中にコレクションの名前を変更できます。 |
移行時の考慮事項
PostgreSQL の移行では、以下の機能はサポートされていません:
| 制限事項 | 影響 | 代替方法 |
|---|---|---|
| 動的フィールドから固定フィールドへの変換 | 既存の動的フィールドを固定型に変換できません。 | フィールドは元の動的な性質を維持します。 |
| フィールドの追加 | 移行中に新しいフィールドを追加できません。 | 既存の Elasticsearch フィールドのみが移行されます。 |