PostgreSQL から Zilliz Cloud への移行
このトピックでは、PostgreSQL から移行する際の Zilliz Cloud におけるデータ型マッピング、コレクションの命名規則、および注意事項について説明します。
前提条件
PostgreSQL から Zilliz Cloud への移行を開始する前に、以下の要件を満たしていることを確認してください。
PostgreSQL の要件
| 要件 | 詳細 |
|---|---|
| ネットワークアクセス | 移行元の PostgreSQL データベースがパブリックインターネットからアクセス可能であること |
| データベースアクセス | 必要な権限を持つ有効なデータベースエンドポイント、ユーザー名、パスワード |
| pgvector 拡張機能 | テーブルでベクトルデータの保存に pgvector 拡張機能が使用されていること |
| ベクトルフィールドの要件 | 各移行元テーブルに少なくとも 1 つのベクトルフィールドが含まれており、ベクトルフィールドに null 値が含まれていないこと |
| データの可用性 | 移行元テーブルにデータが含まれていること。空のテーブルは移行できません。 |
Zilliz Cloud の要件
| 要件 | 詳細 |
|---|---|
| ユーザーロール | Organization Owner または Project Admin |
| クラスター容量 | 十分なストレージおよびコンピューティングリソース(CU サイズの見積もりには CU calculator を使用) |
| ネットワークアクセス | ネットワーク制限を使用している場合は、Zilliz Cloud IPs を許可リストに追加すること |
データ型マッピング
移行を計画する際は、PostgreSQL のデータ型が Zilliz Cloud にどのようにマッピングされるかを理解することが重要です。
PostgreSQL フィールド型 | Zilliz Cloud フィールド型 | 説明 |
|---|---|---|
Primary key | Primary key / 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 フィールドのみが移行されます |