Postgre SQLからZilliz Cloudに移行
Postgre SQLは、拡張性、データの整合性、パフォーマンスで有名な堅牢でオープンソースのオブジェクトリレーショナルデータベースエンジンです。pgvector拡張機能を利用することで、Postgre SQLはベクトルデータを保存および管理する機能を獲得します。
オンプレミスまたはクラウドホストにpgvectorがインストールされたPostgre SQLデータベースを持っている場合、それらをZilliz Cloudクラスターにシームレスに移行できます。この移行過程には、既存のソースデータベースとの接続を確立し、そのデータをソーステーブルからZilliz Cloud上の対応するターゲットコレクションに複製することが含まれます。
考慮事項
-
次のPostgre SQLデータ型を移行できます:vector、text/varchar/date/time/json、smallint、bigint、bigint、integer、smallint、倍精度、real、boolean、array。テーブルにサポートされていないデータ型のフィールドがある場合は、それらのフィールドを移行しないか、サポートチケットを送信することができます。Postgre SQLデータ型がZilliz Cloudにマップされる方法については、フィールドマッピングリファレンスを参照してください。
-
互換性を確保するため、Auto IDは無効になり、Zilliz Cloud上の各ターゲットコレクションに対して変更することはできません。
-
各移行タスクについて、各ソーステーブルから1つのベクトルフィールドのみを選択できます。
-
各移行タスクは、単一のソースPostgre SQLデータベースに制限されます。複数のソースデータベースにデータがある場合は、複数の移行ジョブを有効にできます。
始める前に
次の前提条件が満たされていることを確認してください。
-
ソースのPostgre SQLデータベースは一般のインターネットからアクセスできます。
-
ネットワーク環境で許可リストが設定されている場合は、Zilliz CloudのIPアドレスが追加されていることを確認してください。詳細については、「Zilliz CloudのIPアドレス」を参照してください。
-
組織オーナーまたはプロジェクト管理者の役割が付与されています。必要な権限がない場合は、Zilliz Cloudの管理者にお問い合わせください。
Postgre SQLからZilliz Cloudに移行
ソースデータを任意のプランレベルのZilliz Cloudクラスタに移行できます(CU体格がソースデータに対応している場合)。
-
Zilliz Cloud コンソールにログインします。
-
ターゲットプロジェクトに移動し、移行>Postgre SQLを選択してください。
-
「データソースに接続」ステップで、ソースPostgre SQLデータベースのエンドポイントを「データベースエンドポイント」フィールドに入力し、データベースに関連付けられたユーザ名とパスワードを入力して、「次へ」をクリックします。
📘ノート接続情報の詳細については、データベースへの接続を参照してください。
-
「ソースとターゲットを選択」ステップで、ソースデータベースとターゲットのZilliz Cloudクラスタの設定を行います。次に、「次へ」をクリックしてください。
📘ノートPostgre SQLから移行する各テーブルには、ベクトルフィールドを含める必要があります。
-
「スキーマ構成」ステップでは、
-
Postgre SQLデータと対応するZilliz Cloudデータタイプとのデータマッピングを確認してください。Zilliz Cloudには、Postgre SQLデータタイプを自分自身にマッピングするためのデフォルトのメカニズムがありますが、必要に応じてレビューして調整することができます。現在、フィールドの名前を変更することはできますが、基礎となるデータタイプを変更することはできません。
-
「詳細設定」で、ダイナミックフィールドとパーティションキーを設定します。詳細については、「ダイナミックフィールド」と「パーティションキーを使う」を参照してください。
-
[ターゲットコレクション名と説明]で、ターゲットコレクション名と説明をカスタマイズします。コレクション名は、各クラスターで一意である必要があります。名前が既存の名前と重複する場合は、コレクション名を変更します。
-
-
[移行]をクリックします。
移行過程を監視する
「移行」をクリックすると、移行ジョブが生成されます。ジョブページで移行の進捗状況を確認できます。ジョブのステータスが「IN PROGRESS」から「SUCCESSFUL」に切り替わると、移行が完了します。
移行後、ターゲットクラスタ内のコレクションとエンティティの数がデータソースと一致していることを確認してください。不一致が見つかった場合は、エンティティが欠落しているコレクションを削除して再移行してください。
移行ジョブをキャンセル
移行過程で問題が発生した場合は、次の手順に従ってトラブルシューティングを行い、移行を再開できます。
-
[ジョブ]ページで、失敗した移行ジョブを特定してキャンセルします。
-
[アクション]列の[詳細を表示]をクリックして、エラーログにアクセスします。
フィールドマッピングリファレンス
Postgre SQLのフィールドタイプがZilliz Cloudのフィールドタイプにどのようにマップされるかを理解するために、以下の表を確認してください。
Postgre SQLのフィールドタイプ | Zilliz Cloudフィールドタイプ | 説明する |
---|---|---|
ベクトル | FloatVectorの | ベクトルの寸法は変更されません。メトリックタイプとしてL 2またはIPを指定してください。 |
テキスト/varchar/日時/JSON | VarChar | 最大長(1から65,535)を設定します。制限を超える文字列は移行エラーを引き起こす可能性があります。 |
bigint | Int 64の | - |
整数 | Int 32の | - |
smallint | int 16 | - |
ダブルプレシジョン | ダブル | - |
リアル | フロート | - |
ブール値 | Bool | - |
配列 | 配列 | - |
json | JSON |