たとえば、5台のサーバ(A、B、C、D、E)がある場合Postgres-XLシャード、複製、自動バランスが同時にできますか?
複製係数3で配信されるデータは設定できますか? (たとえば、ABCへの書き込みが1つ、ABDへの他のレコードの書き込み、ABEへの他のレコードの書き込みなど)、ノードCにハードウェア障害が発生した場合でもレコードが存在します。
また、新しいノードを追加して、停止しないで新しいノードに格納されたデータのバランスを取ることはできますか?
たとえば、5台のサーバ(A、B、C、D、E)がある場合Postgres-XLシャード、複製、自動バランスが同時にできますか?
複製係数3で配信されるデータは設定できますか? (たとえば、ABCへの書き込みが1つ、ABDへの他のレコードの書き込み、ABEへの他のレコードの書き込みなど)、ノードCにハードウェア障害が発生した場合でもレコードが存在します。
また、新しいノードを追加して、停止しないで新しいノードに格納されたデータのバランスを取ることはできますか?
はい、それは可能ですが、あなたが考えている方法ではありません。あなたが何を記述しているかは、NoSQLの設定でしょう。 Postgres-XLはMPPデータベースです。
テーブルを作成するときは、レプリケーション、ラウンドロビン、ハッシュ、モジュロなどの「分散型」オプションを定義します。各オプションの詳細を確認する必要があります。また、定義されたノード上に表スペースを定義することもできます。
あなたのセットアップはノード2トランザクションマネージャプロキシ
注記:Postgres-XLにはHAがないか、またはフェイルオーバーサポートがないことがわかりました。単一のノードに障害が発生した場合、データベースがダウンしているため、手動による介入が必要になることを意味します。あなたがデータベースを完全に失った単一のノードでディスクを失った場合、ラウンドロビン、ハッシュ、モジュロ共有オプションを使用している場合は、さらに悪いことです。
各ノードをミラーリングするノードを待機させることはできますが、必要なノードの数が2倍になり、それでもフェイルオーバーは発生しません。スタンバイノードを使用するように手動で構成し、再起動する必要があります。
キープアライブおよびミラーリングされた各データノードを使用した場合はどうなりますか? – Greg0ry
はい、私が述べたように、セットアップは各ノードのミラーをミラーリングできます。文字通り必要なサーバー数とコスト、管理上の頭痛が倍増します。 パフォーマンス上の理由から、ミラー化されたすべてのノードを読み取り専用から読み取り専用に設定しているため、キープアライブは機能しません。また、各ノードの2番目のロード・バランシング・ステップでは、クラスター化されたセットアップの中で、多くのことを遅くする可能性があり、多くの新しい障害ポイントを追加します。 – BrianC
結論公式の文書では、ノードに障害が発生した場合、障害を起こしたノードを手動で削除してミラーリングされたノードを追加し、リブートする必要があります。 あなたはそれを回避する方法を試すことができますが、それはサポートされず、予期しない問題から失敗する可能性があります。 HAが必要でフェイルオーバーする場合は、このオプションを選択する必要はありません。 – BrianC