Enterprise Postgresのスケールアウト機能を紹介 ~ Active-Active構成を実現 ~
PostgreSQLインサイド

富士通のデータベース「FUJITSU Software Enterprise Postgres 14 SP1(以降、Enterprise Postgres 14 SP1と略す)」が2022年8月にリリースされました。ここでは、Enterprise Postgres 14 SP1の新機能である「スケールアウト機能」をご紹介します。
なお、スケールアウト機能の技術解説や使い方については、以下の記事がお薦めです。
今求められるスケールアウト機能
企業のクラウド利用が進む中、エンタープライズなシステムは、性能や信頼性に加え、拡張性や柔軟性が求められます。オンプレミス環境からクラウド環境に移行してきたことで、サーバー、記憶ディスクなどの資源は「所有するもの」から「利用するもの」に変わってきました。これはクラウド環境に提供される資源を活用し、変動するビジネス状況に応じてシステムの形も変えていけるようになったことを意味します。このことから、データベースに関しても、その構成や処理能力を柔軟に変更できることが求められています。
Enterprise Postgres 14 SP1では、トランザクション処理を複数のノードに分散することで性能を向上させる、スケールアウト機能を提供します。特別なハードウェアは不要なため、オンプレミス環境にもクラウド環境にも対応できます。お客様は、業務サービスの負荷に応じてデータベースの処理能力を増強できます。
PostgreSQL 14までのレプリケーション機能では、参照ノードのスケールアウトしかできませんが、Enterprise Postgres 14 SP1では更新を伴う処理もスケールアウトが可能です。最小2ノードから複数台の分散構成まで対応可能で、各ノードは冗長化します。これにより、業務拡張が見込まれるシステムや、サービスを止めたくないミッションクリティカルなシステムなどへ適用できます。
図1:Enterprise Postgres 14 SP1のスケールアウト機能の概要
Enterprise Postgres 14 SP1のスケールアウト機能における3つのメリットをご紹介します。
特別なハードウェアは不要
Enterprise Postgresのアーキテクチャーは特別なハードウェア(共有ストレージやサーバー間通信の高速・広帯域を実現するためのインターコネクトなど)を必要としません。一般的な仮想サーバーで分散システムを構築できるので、クラウド環境にお勧めです。
また、ご購入からの費用(ソフトウェアのライセンスおよびサポート費)は、Active-Active構成のクラスタシステムを以下のような物理的に最小の構成(2ノード)で構築する場合、エンタープライズで一般的なActive-Active構成を構築する場合と比較して大幅に抑えることができます。
図2:物理的な最小構成(2ノード)
Active-Active構成を実現、接続先を意識させない独自機能を搭載
Enterprise Postgres 14 SP1のスケールアウト機能では、クラスタを構成するすべてのデータノードをActiveとすることができます。これによりすべてのデータノードで参照 / 更新処理が可能となるため、一般的なPostgreSQLのクラスタ構成に比べシステムリソースを有効活用することができます。
また、Enterprise Postgresは各データノードが担当するデータを受け持つ、シェアードナッシング方式を採用しています。このため、アプリケーションからデータノードを直接指定してアクセスすることで最適なパフォーマンスを得ることができます。または、利便性を優先し、接続先を意識することなく適切なデータノードにアクセスできます。
これは、主に以下の技術によって実現されます。
シャーディング機構の搭載
Enterprise Postgres 14 SP1のスケールアウト機能では、データベースのテーブルを分割(パーティショニング)し、各パーティションを複数のデータノードに分散する、シャーディング機構を搭載しています。各データノードには論理的な箱に相当するシャードがあり、パーティションはシャード上に定義されたテーブル空間に配置されます。例えば、大きなテーブルをパーティショニングによって支店ごとに分割し、パーティションを各データノードのシャードAやシャードBに配置するといった使い方がお薦めです。シャードを宛先管理にすることで、データが配置されたノードにアクセスできます。
Connection Manager
アプリケーションがデータベースに接続する際にシャード名を指定することで、対応するデータノードへの接続を自動的に行うルーティング機能を持ちます。アプリケーションが接続先のデータノードを意識することなく、適切なノードにアクセスするためのEnterprise Postgresの独自機能です。
レプリケーションテーブルの活用
すべてのアプリケーションが共通でアクセスするデータは、1つのデータノードに配置するとアクセスが集中してボトルネックになる恐れがあります。このため、共通データをレプリケーションテーブルとして各ノードに配置することで性能劣化を防ぎます。レプリケーションテーブルに挿入された共通データは、すべてのノードに配布(レプリケーション)されるため、すべてのノードで常に同じデータを参照することができます。
図3:Enterprise Postgres 14 SP1のスケールアウト機能を実現する主な技術
データ増加時はノード追加で負荷分散、システム拡張にも対応可能
スケールアウト機能によってデータノードを追加し、処理能力を増強できます。
例えば2台のデータベースサーバーで業務を開始し、その後2台では処理しきれない大量のトランザクションが見込まれるようになった場合は、3台目、4台目のデータノードを追加し、処理の並列化・分散化を実現します。これにより大量データのトランザクション処理を可能とします。またクラウド上で、支店ごとにデータノードを構築しているような場合、スケールアウト機能によって新しい支店のためのデータノードを追加するといったシステム拡張にも対応できます。
Enterprise Postgres 14 SP1は、クラウド時代に適した、システム構成や処理能力の変更に柔軟に対応できるスケールアウト機能を提供します。また、オンプレミス環境からクラウド環境への移行を検討されるお客様にもお勧めです。
クラウドを活用し、業務変革の波に柔軟に対応するために、Enterprise Postgresの活用をぜひご検討ください。お問い合わせは本ページに表示されているお問い合わせボタンから、または本ページ下部に記載のお問い合わせ先からご連絡ください。
2022年8月5日公開
富士通のソフトウェア公式チャンネル(YouTube)
-
- 富士通のミドルウェア製品のご紹介や各種イベント・セミナーの講演内容、デモンストレーションなどの動画をご覧いただけます。
- 富士通のミドルウェア製品のご紹介や各種イベント・セミナーの講演内容、デモンストレーションなどの動画をご覧いただけます。
PostgreSQLについてより深く知る
PostgreSQLに興味をお持ちのお客様はこちらのコンテンツもお勧めです。ぜひご覧ください。
本コンテンツに関するお問い合わせ
お電話でのお問い合わせ
-
富士通コンタクトライン(総合窓口)
0120-933-200受付時間:9時~12時および13時~17時30分(土曜日・日曜日・祝日・当社指定の休業日を除く)