4

Postgres DB をクラスタ化するための検索で pgpool-II に出くわしました (数か月で Web アプリをデプロイする準備をしています)。興奮の震えはまだありますが、こんなに素晴らしいものを見つけるたびにすぐにがっかりしてしまうので、緊張しています。pgpool-II の経験はありますか? 複数の VM でデータベースを実行し、後で複数の物理サーバーで実行するのに役立ちますか? バックアップ、負荷分散、および DB サーバーの高可用性の提供に必要なのはこれだけですか!?

また、並列クエリ機能を使用するのは簡単ですか (たとえば、Django または Python の psycopg2 を介して)? これは、レポートと集計を提供するのに最も優れています。

最後にもう 1 つ: Postgres と psycopg2 の間で動作するようです。これで正しい認識なので、pgpool-II を気にせずに psycopg2 を通常と同じように使用できますか?

4

1 に答える 1

4

pgpool-IIは、それが行うと主張していることに対して正常に機能します。そして、それはあなたのアプリケーションとデータベースの間にあなたが期待する方法で適合します。psycopg2をデータベースに直接向けるのではなく、それに向けてください。

注意しなければならない主なことは、レプリケーション、負荷分散、並列クエリなど、さまざまな種類の機能をサポートしていますが、それらすべてを一度に使用することはできないということです。あなたはそれができるという印象を受けているように思えますが、それはそのようには機能しません。このテーマに関するドキュメントはそれほど明確ではありません(少なくとも英語版では、元の日本語版とは話せません)。

たとえば、pgpool-IIを「マスター/スレーブ」モードで実行し、読み取りをスケーリングするための負荷分散をサポートする場合、これらのノード間で実際にレプリケーションを実行するには、別のプログラムを使用する必要があります。Slonyは、以前のPostgreSQLバージョンでその下に配置するためにサポートされたレプリケーションソリューションでした。pgpool-II3.0およびPostgreSQL 9.0以降、まもなくリリースされる新しいバージョンのストリーミングレプリケーション/ホットスタンバイ機能も使用できます。

pgpool-IIは便利なコンポーネントであり、多くの興味深い方法で使用できますが、それを使用して達成したいすべての要件に対して「必要なものすべて」になるとは思えません。

于 2010-09-18T05:28:59.787 に答える