Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スケールアウトできるManaged RDBMS - Azure Cosmos DB for PostgreSQL

スケールアウトできるManaged RDBMS - Azure Cosmos DB for PostgreSQL

2022/11/17 - 第41回 JAZUG Night
先日リリースされたAzure Cosmos DB for PostgreSQLの紹介です

Kuniteru Asami

December 01, 2022
Tweet

More Decks by Kuniteru Asami

Other Decks in Technology

Transcript

  1. スケールアウトできる Managed RDBMS Azure Cosmos DB for PostgreSQL 2022/11/17 –

    第41回 JAZUG Night 株式会社 pnop / Cloudlive 株式会社 浅見 城輝
  2. 株式会社pnop 株式会社 pnop は Microsoft Azure に関する課題解決のプロフェッショナル集団です。 皆様のプロジェクトに、 Azure経験豊富なエンジニアがノウハウを提供いたします。 Azure

    アーキテクチャ 設計相談 Azure 運用設計 相談 Azure開発 Azure 環境構築 Azure トラブル シューティング Azure トレーニング 新規システムを Azureで稼働させしたい 既存システムを Azureに移行したい パッケージ・ソリューションをAzure に対応したい Azureを利用することで システムコストを下げたい Azureで安全・安心な システムを提供したい Azureを利用することで 運用担当者の負担を軽減したい Azureを利用しているうえで 困っていることを解決したい Azureのスキルを向上したい Azureに関するご相談・お問い合わせ:[email protected] https://www.pnop.co.jp
  3. 特徴 スケールアウトできる RDBMS 並列化による 20 倍 から 300 倍以上の 高パフォーマンス

    グローバル レプリケーション 列指向ストレージ対応 Citus エクステンション フルマネージド ネイティブ PostgreSQL
  4. アーキテクチャ 一つの Coordinator ノードと、複数の Worker ノードで構成される Coordinator ノード クライアントアプリケーションからの接続を受け付ける 分散テーブルや参照テーブルのメタデータと通常のテーブルやその他の

    PostgreSQL オブジェクトを保持 分散テーブル、参照テーブルの要求を受けた場合は、対象の Worker ノードに SQL クエリを送信 Worker ノード 通常の PostgreSQL テーブルとして分散テーブル、参照テーブルのデータを保持 https://github.com/citusdata/citus
  5. 参照テーブル すべての Worker ノードに全データが複製されるテーブル ディメンションテーブル(マスタテーブル)に向いている Worker ノードに参照テーブルを作成する SELECT create_reference_table('table_name'); ローカル

    テーブル 分散テーブルにも参照テーブルにもしていないテーブルは、 Coordinator ノードで通常の PostgreSQL テーブルとなる ローカルテーブルと分散テーブルとの Join 操作は可能
  6. まとめ Azure Cosmos DB for PostgreSQL は、分散クエリ実行や 高性能なスケールアウトを備えたフルマネージドな PostgreSQL 分散クエリやスケールアウトの恩恵を受けるには、テーブル毎

    に設定が必要 パフォーマンスを上げるために、分散テーブルのシャードキー を何にするかが重要 異なる Worker ノードをまたいだ Join 操作はできないため、 コロケーション(併置)をする スケールアウトしたら、分散テーブルの再配置を実施する
  7. 参考資料 Azure Cosmos DB for PostgreSQL documentation https://learn.microsoft.com/ja-jp/azure/cosmos-db/postgresql/ citusdata https://www.citusdata.com/

    GitHub - citusdata / citus https://github.com/citusdata/citus Azure Cosmos DB: Liftoff https://learn.microsoft.com/en-us/events/azure-cosmos-db-liftoff/ Citus Con: An Event for Postgres 2022 https://www.citusdata.com/cituscon/2022/schedule