Analytics Accelerator Architecture#

アーキテクチャの概要#

Analytics Acceleratorは、PostgreSQLの機能を拡張して、トランザクションおよび分析ワークロードのための統合プラットフォームを作成します。このアーキテクチャは、運用可能なPostgreSQLデータベースをレイクハウスストレージパターンと組み合わせて、組織が複雑なETLパイプラインやデータの重複なしで複数のストレージ階層にわたってデータを照会できるようにします。

このシステムは、3つの基本原則で動作します。弾力的なスケーリングのためのコンピューティングとストレージの分離、ホットおよびコールドデータ層にわたる透過的なクエリアクセス、およびエコシステムの相互運用性のためのオープンテーブルフォーマットとの互換性。これらの原則により、PostgreSQLの使いやすいSQLインターフェイスと操作特性を維持しながら、ペタバイト規模での費用対効果の高い分析が可能になります。

コアコンポーネント#

EDB Postgres Distributed Foundation#

EDB Postgres Distributed PGDは、ビルトインの高可用性、ホリゾンタル・スケーリング、および自動化されたデータライフサイクル管理を備えたトランザクション基盤を提供します。 PGDノードは、完全なACIDコンプライアンスで運用ワークロードを処理し、AutoPartitionはデータ階層化に不可欠な時間ベースのパーティショニング戦略を管理します。

分散アーキテクチャにより、メンテナンス操作中のゼロダウンタイムが保証され、ディザスターリカバリーのための地理的分散が提供されます。書き込み操作は、マルチマスターレプリケーションを介して一貫性を維持し、読み取り操作は利用可能なノード全体で水平にスケーリングします。

Lakehouseクエリエンジン#

専用のLakehouseノードは、オブジェクトストレージ内のデータに対して分析クエリを実行します。これらのステートレス計算ノードは、Apache DataFusionのベクトル化実行エンジンを活用して、列型データ形式を効率的に処理します。トランザクションノードからの分離により、分析ワークロードが運用パフォーマンスに影響を与えません。

クエリエンジンは、パーティションプルーニング、述語プッシュダウン、適応クエリ実行などの高度な最適化を実装します。これらの最適化により、データのスキャンが大幅に削減され、大規模なデータセットでのインタラクティブなクエリパフォーマンスが可能になります。

ストレージ抽象化レイヤー#

PostgreSQLファイルシステムPGFSは、AWS S3、Azure Blob Storage、Google Cloud Storage、オンプレミスオブジェクトストアを含むさまざまなストレージバックエンドへの統一アクセスを提供します。この抽象化は、認証、ネットワークの復元力、およびパフォーマンスの最適化を透過的に処理します。

ストレージレイヤーは、複数の同時ストレージ場所をサポートし、クラウドプロバイダーにまたがるクエリー、またはクラウドデータとオンプレミスデータを組み合わせたクエリーを可能にします。インテリジェントなキャッシュは、メタデータ操作を削減し、頻繁にアクセスされるデータのクエリレイテンシーを改善します。

テーブルフォーマットの統合#

Apache IcebergとDelta Lakeのネイティブサポートにより、より広範なデータエコシステムとの相互運用性が可能になります。アナリティクスアクセラレーターPGAAは、テーブルのメタデータを読み取り、手動構成なしでスキーマ、パーティショニング、およびファイルの場所を理解します。

Icebergの場合、システムはスキーマの進化、非表示のパーティショニング、タイムトラベルクエリを含む完全な機能をサポートします。デルタレイクのサポートは読み取り操作に焦点を当てており、既存のSparkベースのデータレイクへのアクセスを提供します。どちらの形式も外部ツールとの互換性を維持し、マルチプルのコンピューティングエンジン間でデータにアクセスし続けます。

アーキテクチャレイヤー#

インジェストおよびトランザクションレイヤー#

アプリケーションは、標準のデータベース接続を使用してPostgreSQLまたはPGDクラスターにデータを書き込みます。このレイヤーは、リアルタイムトランザクションを処理し、参照整合性を維持し、ACID保証を介してデータの一貫性を保証します。

ストリーミングインジェストシステムは継続的なデータフローを提供し、バッチロードは定期的な更新を処理します。トランザクションレイヤーは、インテリジェントなパーティション化と階層化戦略を介して、履歴データの量に関係なく操作パフォーマンスを維持します。

ストレージとメタデータレイヤー#

データは、構造とガバナンスを提供するオープンテーブル形式を使用してオブジェクトストレージにあります。 Parquetファイルは実際のデータを保存しますが、メタデータはスキーマ、パーティション、およびファイルの場所を追跡します。この分離により、データを書き換えずにスキーマの進化とタイムトラベルが可能になります。

オプションのカタログサービスは、マルチエンジン環境の集中的なメタデータ管理を提供します。カタログは、一貫したテーブルの検出を有効にし、同時の変更を調整し、さまざまなコンピューティングエンジンにわたって監査証跡を維持します。

クエリーと変換レイヤー#

複数のクエリエンジンは、ワークロード要件に基づいて、同じ基になるデータにアクセスします。 Analytics AcceleratorはインタラクティブSQLクエリーを処理し、Apache Sparkは複雑な変換を処理し、機械学習プラットフォームはトレーニングデータを直接読み取ります。

クエリコーディネーションは、複数のエンジンが同時に動作する場合の一貫性を保証します。トランザクションの分離は競合を防止し、スナップショットセマンティクスは、分析の精度に不可欠な反復可能な読み取り保証を提供します。

アクセスと統合レイヤー#

標準のPostgreSQLワイヤプロトコルは、既存のツールおよびアプリケーションとの互換性を保証します。ビジネスインテリジェンスプラットフォーム、データサイエンスノートブック、およびカスタムアプリケーションは、専用のドライバーや変更なしで接続します。

REST APIにより、自動化と統合シナリオへのプログラムによるアクセスが可能になります。これらのAPIは、運用展開に重要なカタログ管理、監視、および管理操作をサポートします。

データフローパターン#

オペレーションから分析パイプライン#

データは、トランザクション操作をサポートするPostgreSQLでライフサイクルを開始します。データが古び、アクセスパターンが運用から分析に移行すると、階層テーブルはパーティションをオブジェクトストレージに自動的に移行します。この移行は透過的に発生し、アプリケーションの変更は必要ありません。

最近のデータはミリ秒未満のクエリレイテンシーでPostgreSQLに残りますが、履歴データは費用対効果の高いオブジェクトストレージに移動します。クエリーは自動的に両方の層にまたがり、保存場所に関係なくすべてのデータの完全な可視性を提供します。

レイクハウスへの直接アクセス#

既存のデータレイクを持つ組織は、アナリティクスアクセラレーターをIcebergまたはDelta Lakeテーブルに直接接続します。このパターンでは、データの移動が不要になり、既存の投資の即時分析機能が有効になります。

システムはテーブルスキーマを自動的に検出し、PostgreSQL SQLを適切な操作に変換し、標準のデータベースプロトコルを介して結果を返します。このアプローチは、移行中または確立されたデータプラットフォームと統合する場合に特に価値があることがわかります。

マルチエンジンのコラボレーション#

さまざまなエンジンが、共通のストレージを共有しながら、それぞれの強みに基づいてデータを処理します。 Sparkは、複雑なETL変換を処理して、結果をIcebergテーブルとして書き込みます。 Analytics Acceleratorは、インタラクティブ分析のためにこれらのテーブルを照会します。機械学習プラットフォームは、モデルのトレーニング用に同じデータを読み取ります。

この協調的なアプローチにより、データの重複が排除され、分析ワークフロー全体の一貫性が保証されます。 1つのエンジンによって行われた変更は、共有メタデータとスナップショットの分離を介して他のエンジンにすぐに表示されます。

パフォーマンスアーキテクチャ#

クエリ最適化パイプライン#

オプティマイザーはクエリを分析して、レイクハウスのワークロードに固有の最適化の機会を特定します。パーティションプルーニングは、クエリの実行が開始される前に無関係なデータを削除します。述語プッシュダウンはフィルターをストレージレイヤーに移動し、データ転送を最小限に抑えます。

コストベースの最適化では、実行プランを生成するときにネットワーク遅延、データの局所性、およびフォーマットの特性を考慮します。オプティマイザーは、実行中に検出された実際のデータ分布に基づいて戦略を適応させます。

キャッシング階層#

複数のキャッシュレイヤーは、繰り返されるアクセスパターンを最適化します。メタデータキャッシュには、テーブルスキーマ、パーティション情報、およびファイルの場所が保存されます。データキャッシュは、頻繁にアクセスされるParquetファイルをローカルストレージに保持します。クエリ結果のキャッシュは、再計算なしで同一のクエリを提供します。

キャッシュの無効化は、テーブルフォーマットのバージョン管理を尊重し、基になる変更にもかかわらず一貫性を保証します。適応型キャッシュ管理は、アクセス頻度、クエリコスト、および使用可能なリソースに基づいて、保持を優先します。

パラレル実行#

クエリはマルチプルのディメンションにわたって並列化され、スループットを最大化します。パーティションレベルの並列処理は、独立したパーティションを同時に処理します。ファイルレベルの並列処理は、パーティション内の複数のファイルを同時に読み取ります。列レベルの並列処理は、列指向の操作のベクトル化された実行を活用します。

実行フレームワークは、使用可能なリソースとクエリ特性に基づいて並列処理を動的に調整します。この適応により、ハードウェアの使用率を最大化しながら、リソースの枯渇を防ぎます。

高可用性と復元力#

トランザクション層の可用性#

PGDは、マルチマスターリプリケーションを介して継続的な可用性を提供します。ノードに障害が発生すると、データ損失ゼロの自動フェイルオーバーがトリガーされます。地理的な分散により、構成可能な復旧目標を使用したディザスターリカバリーが可能になります。

アップグレードやスキーマの変更を含むメンテナンス操作は、ローリング展開戦略を通じてダウンタイムなしで発生します。システムは、部分的な障害が発生しても完全な機能を維持し、ビジネスの継続性を保証します。

分析ティアの可用性#

ステートレスレイクハウスノードは、レプリケーションではなく冗長性を介して可用性を提供します。ロードバランサーは、自動障害検出と再ルーティングを使用して、利用可能なノードにクエリーを分散します。

オブジェクトストレージの耐久性保証は、コンピューティング障害とは無関係にデータの可用性を保証します。複数のアベイラビリティーゾーンとクロスリージョンレプリケーションは、重要なデータセットの復元力を追加します。

カタログの復元力#

カタログサービスは、選択した実装に基づいて独自の可用性戦略を実装します。 RESTカタログは、HTTPロードバランシングとバックエンドの冗長性を活用します。 AWS S3テーブルは、管理対象インフラストラクチャを介してサーバーレスの可用性を提供します。

カタログが利用できない場合は、テーブル検出に影響しますが、既知のテーブルのクエリ実行には影響しません。このアーキテクチャは、カタログのメンテナンスまたは障害中に、コア機能の維持を正常に低下させます。

セキュリティアーキテクチャ#

アクセス制御フレームワーク#

PostgreSQLのロールベースのアクセス制御は、レイクハウスリソースに拡張されます。テーブルレベルと列レベルの権限は、保存場所に関係なく透過的に適用されます。行レベルのセキュリティポリシーは、ユーザーコンテキストに基づいてデータを動的にフィルタリングします。

エンタープライズ認証システムとの統合により、シングルサインオン機能が提供されます。 LDAP、Active Directory、およびOAuth実装により、プラットフォーム全体で一貫したID管理が保証されます。

暗号化戦略#

包括的な暗号化は、ライフサイクル全体にわたってデータを保護します。 Transport Layer Securityは、クライアント、計算ノード、およびストレージ間で移動しているデータを暗号化します。サーバーサイドの暗号化は、クラウドプロバイダーまたはカスタマー管理キーを使用して保存データを保護します。

列レベルの暗号化は、機密フィールドの保護を追加します。暗号化された列は、セキュリティコンプライアンスを維持しながら、特殊なインデックスを介して照会可能なままです。

監査とコンプライアンス#

詳細な監査ログは、コンプライアンス要件のすべてのデータアクセスを追跡します。クエリログは、ユーザー、タイムスタンプ、およびアクセスされたオブジェクトをキャプチャします。ストレージアクセスログは、すべてのオブジェクト操作を記録します。認証ログは、ログイン試行と特権の変更を追跡します。

GDPR、HIPAA、PCI DSSを含むコンプライアンスフレームワークは、セキュリティ実装をガイドします。データの所在地の制御は地理的なコンプライアンスを保証し、保持ポリシーはデータのライフサイクル管理を自動化します。

展開パターン#

管理対象サービスの展開#

Hybrid Managerは、自動化されたプロビジョニング、スケーリング、およびメンテナンスを備えたフルマネージドのAnalytics Accelerator展開を提供します。このプラットフォームは、インフラストラクチャ管理、セキュリティ更新、およびパフォーマンスの最適化を処理します。

自己管理展開#

自己管理展開では、インフラストラクチャと構成を完全に制御できます。組織は、オンプレミス、プライベートクラウド、またはインフラストラクチャ・アズ・コードのアプローチを使用して展開します。

Kubernetesオペレーターは、展開とライフサイクル管理を簡素化します。 Helmチャートは、一般的なシナリオのテンプレート化された構成を提供します。 Terraformモジュールは、クラウドプロバイダー全体でインフラストラクチャの自動化を可能にします。

ハイブリッド展開#

ハイブリッドパターンは、管理対象コントロールプレーンと自己管理データプレーンを組み合わせます。このアプローチは、操作の簡素化と規制対象業界で一般的なデータ主権要件のバランスをとります。

管理対象コントロールプレーンは、オーケストレーション、モニタリング、およびメタデータ管理を処理します。自己管理データプレーンは、プラットフォーム機能を活用しながら、組織の境界内でデータを維持します。