PostgreSQLのいくつかの分散アーキテクチャの比較

PostgreSQLのいくつかの分散アーキテクチャの比較

強力な機能と優れたスケーラビリティにより、Postgresql をベースにした分散アーキテクチャが数多く存在し、そのほとんどが分析シナリオで使用されています。以下では、いくつかの一般的なアーキテクチャ機能を比較します。

シタス

Citus はプラグインの形で PostgreSQL に拡張されます。 PostgreSQL カーネルから独立しているため、PG のメインバージョンの更新にすぐに対応できます。また、導入も比較的簡単で、現在では分散ソリューションとして非常に人気があります。 Citus は Suning で広く使用されており、Microsoft も Citus の商用サポートを提供しています。以下は citus のアーキテクチャです。

Citus ノードは主にコーディネーション ノードとワーカー ノードに分けられます。コーディネーション ノードは実際のデータを保存するのではなく、データ配布に関するメタデータのみを保存します。実際のデータは複数のシャードに分割され、異なるワーカーノードに分散されます。アプリケーションはコーディネーション ノードに接続し、そこで SQL 解析が実行され、分散実行プランが生成されます。この実行プランはワーカー ノードに送信されて実行されます。 CN は結果を要約してクライアントに返します。

Ciitus の主な建築上の特徴は次のとおりです。

①テーブルには参照テーブルと分散テーブルの2種類があります。各コーディネーション ノードとワーカー ノードには参照テーブルの完全なコピーが保持されますが、分散テーブルは分散され、さまざまなワーカーに配布されます。

② 読み書き分離が行えます。上図に示すように、cn1 は書き込みノードです。複数の cn 読み取りノードを追加することで、クラスターの読み取り機能を高めることができます。ストリーム レプリケーションは、メタデータを同期するために書き込み CN と読み取り CN 間で使用されます。

③MXモードをサポートし、メタデータを特定のワーカーノードに保存することで、ワーカーノードが直接書き込み機能を提供できるようになり、クラスターの書き込み機能が向上します。

④ 基盤となるワーカーノードは、ストリームレプリケーションを通じてレプリカを構築し、高いデータ可用性を確保できます。

⑤ 結合を行う場合、計算をワーカーノードにプッシュダウンできることが最良の結果となります。ただし、これは参照テーブルが他のテーブルと結合され、2 つのテーブルが同じ方法で分散されている場合にのみ実行できます。それ以外の場合は、計算のためにデータを調整ノードにプルする必要があります。

⑥全体的なアーキテクチャはmycatミドルウェアに似ています。グローバルトランザクション管理がないため、データのリアルタイム読み取り一貫性は保証されませんが、パフォーマンスは向上します。データ書き込みの一貫性は 2pc によって保証されます。

pgxc && pgxl

Pgxc は、古典的な分散データベース アーキテクチャであり、真のエンタープライズ レベルの HTAP です。市場に出回っている多くの分散データベース製品は、pgxc アーキテクチャに基づいて拡張されていることがわかります。 pgxc は pg カーネルと緊密に結合されており、pg カーネルに組み込まれています。当初、pgxc のコア開発者は pgxc を商品化し、stormdb を作成し、いくつかの並列演算子の最適化を実行しました。その後、TransLattice は stormdb を買収し、プロジェクトをオープンソース化しました。これは現在、pgxl となっています。したがって、pgxc と pgxl は同じ起源を持ち、コードの大部分は直接移植されています。以下は pgxc のアーキテクチャです。

実際、このアーキテクチャには Citus と同様の利点があります。また、コーディネーションノードとデータノードに分かれています。データはハッシュを通じて異なるデータ ノードにも分散されます。グローバル トランザクションの一貫性を確保するために、クラスターにグローバル トランザクション管理コンポーネントを追加するだけです。

pgxc のアーキテクチャ上の特徴は次のとおりです。

① GTM はグローバル読み取り一貫性を保証し、2 フェーズコミットはグローバル書き込み一貫性を保証します。

②GTMがシステム全体のボトルネックとなっている。同時実行数が 150 を超えると、GTM のボトルネックが発生します。トランザクションが開かれるたびに、トランザクション番号とスナップショット情報を取得するために GTM にアクセスするため、GTM ネットワークの負荷とトランザクション番号の割り当て速度にボトルネックが発生します。

③複数のコーディネーションノード間でメタデータ情報を同期する必要がある。調整ノードに障害が発生すると、DDL がハングするだけでなく、2 フェーズ トランザクションがブロックされる可能性もあります。

④pgxc の登場は主に oltp アプリケーション シナリオで pg を最適化することを目的としており、gtm の追加やデータの一貫性の確保など、より洗練されたものになっています。

⑤ citusと同様に、データテーブルも分散テーブルと複製テーブルに分けられます。複製されたテーブルには、各データ ノード上の完全なデータのコピーが含まれます。

グリーンプラム

Greenplum は、Pivo​​tal が立ち上げたオープンソースの OLA MPP データベースです。ある程度、Greenplum ユーザーの数は PG ユーザーの数を上回っています。多くの人が Greenplum を通じて PG を知ったかもしれません。これは Greenplum の人気を物語っています。以下は Greenplum のアーキテクチャです。

マスター ノードはグローバル システム メタデータ情報を格納しますが、実際のデータは格納しません。データはハッシュを通じて異なるセグメントに分散されます。マスターは SQL のグローバル エントリ ポイントとして機能し、セグメント間でワークロードを分散し、処理結果を統合してクライアントに返す役割を担います。

Greenplum アーキテクチャの機能は次のとおりです。

①マスターノードはプライマリノードとバックアップノードとして使用でき、セグメントノードにもミラーがあり、高可用性を確保します。セグメントのプライマリノードとバックアップノードは、可能な限り異なるサーバーに分散されます。

②行列ハイブリッドストレージエンジンと外部テーブルをサポートします。

③ 結合時には、ノード間でのデータ再配分の問題も発生しますが、これはシェアード・ナッシング・データベースの避けられない問題でもあります。

④データ結合時の高速移動・集約を実現する高速内部相互接続ネットワーク。

⑤効率的な並列データロード。

<<:  5Gとエッジコンピューティング、どのように選択するのでしょうか?

>>:  クラウド コンピューティング モデル: 2021 年のトレンドは何ですか?

推薦する

7月12日は「百度」でしたか?

統計分析によると、本日の百度のアップデートの規模は75.4%に達し、そのうち62.7%のウェブサイト...

Ramnode - 最新の生涯60%割引コード

Ramnode は現在、ローエンド VPS 業界でトップの商人です。Hostcat はRamnode...

短期間で成功し、すぐに利益を得ることを狙う企業ウェブサイトによくあるSEOの誤解について簡単に説明します。

インターネットは、ビジネスオーナーからますます注目を集めています。現在、ますます多くの企業がインター...

採用ウェブサイトを差別化するための新しい方法について簡単に説明します

求人サイトは停滞しており、かつては繁栄していた求人サイトも衰退している。しかし、これは採用サイトが消...

検索エンジンがウェブサイトの不正行為を判断する原理の分析(パート 3)

広州 SEO の Chen Yong 氏は、検索エンジンが Web サイトが不正行為をしているかどう...

千里の道も一歩から:Catfan の創設者が「リーン アントレプレナーシップ」について語る

編集者注: この記事は、ライトブログ Catfan の創設者 Li Yanzhuo によって執筆され...

4月の第1週には、.COMドメイン名が約9万件増加して1位となり、.AISAは2万5千件減少した。

IDC Review Network (idcps.com) は 4 月 10 日に次のように報告し...

オンラインで新年を祝う新しい方法:春節期間中の若者のインターネット生活を理解する!

春節がインターネットと出会うとき、新年の雰囲気がオフラインからオンラインへと広がります。同じ新年の習...

あまり知られていない VMware の 6 つのトリック

[[242514]] 1. VMware が esxi ネットワーク カード ドライバーをアップグレ...

WeChat 5.0 による企業の成功の秘訣

長い間、多くの企業がWeiboに夢中になり、多額の資金を投資してきましたが、もちろん結果は異なってい...

パンダアルゴリズムが4.0にアップグレード:対外貿易業界は亀裂の中で生き残り続ける

5月22日、Googleはパンダアルゴリズムが正式に4.0にアップグレードされたことを正式に発表しま...

企業はクラウドコンピューティングのためのIT戦略を再考する必要がある

クラウド コンピューティング戦略は、クラウド コンピューティング リソースにコミットするだけではあり...

Redisson 分散ロック ソースコード 2: ウォッチドッグ

[[407749]]序文Redisson といえば、ウォッチドッグ メカニズムは誰にとっても非常に馴...

ソフト商品のプロモーションはマーケティングの新たな人気となり、企業の発展を加速し、評判を獲得する

インターネットの急速な普及と発展に伴い、より多くの企業がオンライン チャネルを通じて自社の製品やブラ...

悲惨なSEO業界を救うには私たち自身が必要だ

私が現在とても落ち込んでいるのは、私が管理しているいくつかのウェブサイトが、インクルード数、バックリ...