SlideShare uma empresa Scribd logo
1 de 31
© 2022 NTT DATA Corporation 1 © 2022 NTT DATA Corporation
PostgreSQLをKubernetes上で活用するためのOperator紹介!
2022年1月14日
株式会社NTTデータ 藤井 雅雄
Cloud Native Database Meetup #3
© 2022 NTT DATA Corporation 2
2
© 2022 NTT DATA Corporation
自己紹介
藤井 雅雄
Database Technical Lead @ NTTデータ
データベース研究開発
PostgreSQL 技術支援
PostgreSQLコミッタ
レプリケーション
WAL圧縮
バックアップ進捗確認
pg_bigm(全文検索モジュール) コミッタ
fujii_masao
MasaoFujii
© 2022 NTT DATA Corporation 3
3
© 2022 NTT DATA Corporation
本講演について
講演資料は、NTTデータのSlideShareアカウント上で公開予定です。
https://www.slideshare.net/nttdata-tech
© 2022 NTT DATA Corporation 4
PostgreSQLをK8s上で活用するための
Operator
© 2022 NTT DATA Corporation 5
5
© 2022 NTT DATA Corporation
OperatorによるK8s上のPostgreSQL環境
Operatorを使うことで、
K8s上に簡単にPostgreSQL環境を実現できる!
バックアップ
モニタリング ログ集約
PostgreSQL
HA構成
PostgreSQL PostgreSQL
HA構成
セットアップ
操作・監視
Web UI
ユーザ
© 2022 NTT DATA Corporation 6
6
© 2022 NTT DATA Corporation
K8s Operator for PostgreSQL
PostgreSQL開発コミュニティは公式のOperatorを開発・提供していない
様々な企業やコミュニティがPostgreSQL用のOperatorを提供中
• Zalando Postgres Operator
• PGO: The Postgres Operator from Crunchy Data
• StackGres
• Stolon
• KubeDB
• Cloud Native PostgreSQL
• VMware Tanzu SQL with PostgreSQL for Kubernetes
etc...
© 2022 NTT DATA Corporation 7
7
© 2022 NTT DATA Corporation
K8s Operator for PostgreSQL
PostgreSQL開発コミュニティは公式のOperatorを開発・提供していない
様々な企業やコミュニティがPostgreSQL用のOperatorを提供中
• Zalando Postgres Operator
• PGO: The Postgres Operator from Crunchy Data
• StackGres
• Stolon
• KubeDB
• Cloud Native PostgreSQL
• VMware Tanzu SQL with PostgreSQL for Kubernetes
etc...
代表的な
Operator
として紹介
© 2022 NTT DATA Corporation 8
8
© 2022 NTT DATA Corporation
Postgres Operator (Zalando)の概要
• ヨーロッパ最大手のファッション系EC企業のZalando SEがメインで開発・OSS提供している
Operator
• GitHubのスター数は2,228と人気のOperatorのうちの1つ
• 初回リリース(v1.0.0)は2018年8月
• MITライセンス
• Zalandoでは、K8s上で1400以上のPostgreSQLクラスタを稼働
(出典) "PostgreSQL on K8S at Zalando: Two years in production" talk by Alexander Kukushkin, FOSSDEM 2020
(2022年1月11日時点の情報)
© 2022 NTT DATA Corporation 9
9
© 2022 NTT DATA Corporation
PGOの概要
• PostgreSQLコア開発者が複数所属しているPostgreSQL企業のCrunchy Dataが
メインで開発・OSS提供しているOperator
• GitHubのスター数は2,204と人気のOperatorのうちの1つ
• 初回リリース(v1.0)は2017年5月と、一番歴史あるOperator
• Apache License 2.0ライセンス
(2022年1月11日時点の情報)
© 2022 NTT DATA Corporation 10
10
© 2022 NTT DATA Corporation
StackGresの概要
• PostgreSQL企業のOnGresがメインで開発・OSS提供しているOperator
• 初回リリース(v0.6)は2019年9月と、新興のOperator
• 最新版は2021年10月13日リリースされたv1.0.0
• スター数はGitHubで325、GitLabで60
• AGPLv3ライセンス (商用ライセンスのエンタープライズ版もある)
• 次回リリース予定のv1.1.0ではBabelfish for Postgresをサポート予定
(2022年1月11日時点の情報)
© 2022 NTT DATA Corporation 11
11
© 2022 NTT DATA Corporation
Operatorの比較表
Zalando PGO StackGres
メイン開発企業 Zalando SE Crunchy Data OnGres
初回リリース 2018年8月 2017年5月 2019年9月
最新バージョン 1.7.1 5.0.4 1.0.0
対応PostgreSQL
メジャーバージョン
9.6 ~ 14 10 ~ 14 12 ~ 14
ライセンス MIT Apache License 2.0 AGPL v3
スター数 2,228(Github) 2,204(Github) 325(Github)、60(Gitlab)
コントリビュータ数 118 85 12
商用サポート - The Crunchy Data Subscription StackGres Enterprise (※1)
メイン実装言語 Go Go Java
(2022年1月11日時点の情報)
(※1) StackGres Enterpriseでは、商用ライセンスで、PostgreSQLのメジャーバージョン5つに対応
© 2022 NTT DATA Corporation 12
技術要素の各Operatorでの
実現方式の比較について
1. 可用性
2. バックアップ
3. 性能監視
4. ログ収集
5. UI/API
© 2022 NTT DATA Corporation 13
13
© 2022 NTT DATA Corporation
1. 可用性の比較
各OperatorともにレプリケーションとPatroniでHA構成を実現
PostgreSQL
(スタンバイ)
Patroni
Pod1
PostgreSQL
(プライマリ)
Patroni
Pod2
PostgreSQL
(スタンバイ)
Patroni
Pod3
レプリケーション レプリケーション
状態監視、自動
フェイルオーバなど
© 2022 NTT DATA Corporation 14
14
© 2022 NTT DATA Corporation
Patroniの概要
Patroniは、Zalando SEがメインで開発・OSS提供している
PostgreSQLのHA構成テンプレート
• MITライセンス
• 3台以上のPostgreSQLのHA制御も可能
• ZooKeeperやetcdなどの一貫性が保証された分散データストア(DCS)を
ベースにHA制御
• 各Operatorでは、K8sが内部で利用するetcdをPatroniでも利用可能
© 2022 NTT DATA Corporation 15
15
© 2022 NTT DATA Corporation
正常時のPatroniの動作
PostgreSQL
(プライマリ)
PostgreSQL
(同期スタンバイ)
PostgreSQL
(非同期スタンバイ)
Patroni
Patroni
Patroni
①DBの状態監視
②etcdの更新
#1
#2
#3
• leader
• members
などを保存
プライマリ1台、同期スタンバイ1台、非同期スタンバイ1台の構成を想定
各Patroniは、担当するPostgreSQLの状態監視(①)と状態のetcdへの記録(②)を繰り返す
①DBの状態監視
①DBの状態監視
②etcdの更新
②etcdの更新
© 2022 NTT DATA Corporation 16
16
© 2022 NTT DATA Corporation
異常時のPatroniの動作
PostgreSQL
(プライマリ)
PostgreSQL
(同期スタンバイ)
PostgreSQL
(非同期スタンバイ)
Patroni
Patroni
Patroni
①leaderがexpire
#1
#2
#3
• leader
• members
などを保存
プライマリ1台、同期スタンバイ1台、非同期スタンバイ1台の構成を想定
プライマリが故障すると、Patroniは次にプライマリとなるスタンバイを選択して昇格させる
⑤プライマリに昇格
プライマリ
②leaderの不在を検知
⑥プライマリ変更を検知
故障
③#2がプライマリに
昇格できるか確認
④#2をleaderとして登録
⑦同期先を#2に変更
同期スタンバイ
© 2022 NTT DATA Corporation 17
17
© 2022 NTT DATA Corporation
2. バックアップの比較
各Operatorはそれぞれバックアップの統合ツールを同梱して利用
• バックアップの定期取得・手動取得、世代管理を手軽に実現
• バックアップから新しいPostgreSQLクラスタを作成(リストア・PITR)することも可能
• バックアップ保管先は各パブリッククラウドのオブジェクトストレージやS3互換ストレージ
Zalando PGO StackGres
バックアップ統合ツール WAL-E、WAL-G pgBackRest WAL-G
PostgreSQL
Backup
Agent
• Amazon S3
• Google Cloud Storage
• Azure Blob Storage
• S3互換(例:MinIO)
Pod
© 2022 NTT DATA Corporation 18
18
© 2022 NTT DATA Corporation
3. 性能監視の比較
Zalandoは、性能監視の仕組みを提供しない
PGOとStackGresでは、Exporter(Node、PostgreSQL)による性能情報の収集、
Prometheusによる蓄積、Grafanaによる可視化とAlert Managerによるアラートを手軽に実現できる
PostgreSQL
PostgreSQL
Exporter
Pod2
Alert
Manager
PostgreSQL
PostgreSQL
Exporter
Pod1
Prometheus
収集
アラート
閲覧
収集
データ
ソース
© 2022 NTT DATA Corporation 19
19
© 2022 NTT DATA Corporation
3. 性能監視の比較
Zalandoは、性能監視の仕組みを提供しない
PGOでは、ExporterやPrometheus、Grafanaなどを同梱するpgMonitorを利用
StackGresでは、Prometheusと連携できる仕組みを提供(Exporterコンテナの組込み自動化など)
Zalando PGO StackGres
ノード性能情報
の収集 性能監視には、Exporter
やPrometheus、
Grafanaなどを自前で導
入・設定する必要がある
Node Exporter Node Exporter
PostgreSQL
性能情報の収集
PostgreSQL Exporter
PostgreSQL Exporter
Envoy
性能情報の蓄積 Prometheus Prometheus
性能情報の可視化 Grafana Grafana
アラート Alert Manager Alert Manager
pgMonitor
© 2022 NTT DATA Corporation 20
20
© 2022 NTT DATA Corporation
4. ログ収集の比較
StackGresでは、PostgreSQLやPatroniのログを各Podから収集する
仕組みをOperatorとして提供
PostgreSQL Fluent Bit
Pod2
Fluentd
PostgreSQL
+
Timescale
PostgreSQL Fluent Bit
Pod1
Patroni
Patroni
Distributed Log Server
REST API
© 2022 NTT DATA Corporation 21
21
© 2022 NTT DATA Corporation
5. UI/APIの比較
ZalandoとStackGresは、K8s APIとは別に、独自APIとそれを使うWebコンソールを提供
PGOは、v4.7までは独自APIとそれを使うCUIを提供していたが、v5.0で削除
PostgreSQL
Pod2
PostgreSQL
Pod1
Patroni
Patroni
独自API
K8s API
apiVersion: stackgres.io/v1
kind: SGCluster
metadata:
name: simple
spec:
instances: 2
postgres:
version: 'latest' kubectl
マニフェスト
Webコンソール
© 2022 NTT DATA Corporation 22
22
© 2022 NTT DATA Corporation
Webコンソールの比較 (Zalando)
Webコンソールから必要最低限の操作やステータス確認が可能
Webコンソールへのログイン認証はない
© 2022 NTT DATA Corporation 23
23
© 2022 NTT DATA Corporation
Webコンソールの比較 (StackGres)
Webコンソールから操作できることや確認できるステータスがZalandoより多い
Webコンソールへのログイン認証がある
ダークモードへの
表示切替もサポート!
© 2022 NTT DATA Corporation 24
StackGresのデモ
© 2022 NTT DATA Corporation 25
PostgreSQL Operator利用時の課題
© 2022 NTT DATA Corporation 26
26
© 2022 NTT DATA Corporation
Operator未同梱のPostgreSQLエクステンションの利用
Operator未同梱のエクステンションを利用するための手軽な手段が提供されていない
例えば、エクステンションを組み込んだコンテナイメージを作成して利用する必要がある
StackGresは120個以上の
エクステンションを同梱していて
Web UIから手軽に利用選択
Operator未同梱のエクステンション例
• pg_hint_plan (HINT機能)
• pg_bigm (全文検索)
• orafce (Oracle互換機能)
• mysql_fdw (MySQLアクセス用の
Foreign Data Wrapper)
• supautils (権限制御)
© 2022 NTT DATA Corporation 27
27
© 2022 NTT DATA Corporation
PostgreSQL Operatorでのストレージ検討
PostgreSQL環境のデータ種別ごとに適切なストレージを選定する必要がある
データ種別 ストレージタイプ(例) ストレージの選択肢(例)
DBデータ ブロックストレージ(高速) ・ パブリッククラウドのブロックストレージ
・ ローカルのブロックストレージ
ー OpenEBS
ー TopoLVM
ー Rook/Ceph(block)
など
性能情報
サーバログ
ブロックストレージ
バックアップ
アーカイブログ
オブジェクトストレージ
・ パブリッククラウドのオブジェクトストレージ
・ S3互換ストレージ
ー MinIO
ー Rook/Ceph(object)
ー SeaweedFS
など
© 2022 NTT DATA Corporation 28
おわりに
© 2022 NTT DATA Corporation 29
29
© 2022 NTT DATA Corporation
おわりに
PostgreSQLの代表的なOperatorは、Zalando、PGO、StackGres
Operatorを使うことで、K8s上に簡単にPostgreSQL環境を実現できる!
バックアップ
モニタリング ログ集約
PostgreSQL
HA構成
PostgreSQL PostgreSQL
HA構成
セットアップ
操作・監視
Web UI
ユーザ
© 2022 NTT DATA Corporation 30
その他、記載されている会社名、商品名、又はサービス名は、
各社の登録商標又は商標です。
© 2022 NTT DATA Corporation 31
31
© 2022 NTT DATA Corporation
Operatorの比較表
Zalando PGO StackGres
Capability Level Full Lifecycle Auto Pilot (OperatorHub.io未登録)
(2022年1月11日時点の情報)
(https://operatorhub.io/)

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 

Semelhante a PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)

Web os最新動向20130209
Web os最新動向20130209Web os最新動向20130209
Web os最新動向20130209
Akira Sasaki
 

Semelhante a PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料) (20)

PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
Web os最新動向20130209
Web os最新動向20130209Web os最新動向20130209
Web os最新動向20130209
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
 
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
 
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
 
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
 

Mais de NTT DATA Technology & Innovation

Mais de NTT DATA Technology & Innovation (20)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
 
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
 

Último

Último (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)

  • 1. © 2022 NTT DATA Corporation 1 © 2022 NTT DATA Corporation PostgreSQLをKubernetes上で活用するためのOperator紹介! 2022年1月14日 株式会社NTTデータ 藤井 雅雄 Cloud Native Database Meetup #3
  • 2. © 2022 NTT DATA Corporation 2 2 © 2022 NTT DATA Corporation 自己紹介 藤井 雅雄 Database Technical Lead @ NTTデータ データベース研究開発 PostgreSQL 技術支援 PostgreSQLコミッタ レプリケーション WAL圧縮 バックアップ進捗確認 pg_bigm(全文検索モジュール) コミッタ fujii_masao MasaoFujii
  • 3. © 2022 NTT DATA Corporation 3 3 © 2022 NTT DATA Corporation 本講演について 講演資料は、NTTデータのSlideShareアカウント上で公開予定です。 https://www.slideshare.net/nttdata-tech
  • 4. © 2022 NTT DATA Corporation 4 PostgreSQLをK8s上で活用するための Operator
  • 5. © 2022 NTT DATA Corporation 5 5 © 2022 NTT DATA Corporation OperatorによるK8s上のPostgreSQL環境 Operatorを使うことで、 K8s上に簡単にPostgreSQL環境を実現できる! バックアップ モニタリング ログ集約 PostgreSQL HA構成 PostgreSQL PostgreSQL HA構成 セットアップ 操作・監視 Web UI ユーザ
  • 6. © 2022 NTT DATA Corporation 6 6 © 2022 NTT DATA Corporation K8s Operator for PostgreSQL PostgreSQL開発コミュニティは公式のOperatorを開発・提供していない 様々な企業やコミュニティがPostgreSQL用のOperatorを提供中 • Zalando Postgres Operator • PGO: The Postgres Operator from Crunchy Data • StackGres • Stolon • KubeDB • Cloud Native PostgreSQL • VMware Tanzu SQL with PostgreSQL for Kubernetes etc...
  • 7. © 2022 NTT DATA Corporation 7 7 © 2022 NTT DATA Corporation K8s Operator for PostgreSQL PostgreSQL開発コミュニティは公式のOperatorを開発・提供していない 様々な企業やコミュニティがPostgreSQL用のOperatorを提供中 • Zalando Postgres Operator • PGO: The Postgres Operator from Crunchy Data • StackGres • Stolon • KubeDB • Cloud Native PostgreSQL • VMware Tanzu SQL with PostgreSQL for Kubernetes etc... 代表的な Operator として紹介
  • 8. © 2022 NTT DATA Corporation 8 8 © 2022 NTT DATA Corporation Postgres Operator (Zalando)の概要 • ヨーロッパ最大手のファッション系EC企業のZalando SEがメインで開発・OSS提供している Operator • GitHubのスター数は2,228と人気のOperatorのうちの1つ • 初回リリース(v1.0.0)は2018年8月 • MITライセンス • Zalandoでは、K8s上で1400以上のPostgreSQLクラスタを稼働 (出典) "PostgreSQL on K8S at Zalando: Two years in production" talk by Alexander Kukushkin, FOSSDEM 2020 (2022年1月11日時点の情報)
  • 9. © 2022 NTT DATA Corporation 9 9 © 2022 NTT DATA Corporation PGOの概要 • PostgreSQLコア開発者が複数所属しているPostgreSQL企業のCrunchy Dataが メインで開発・OSS提供しているOperator • GitHubのスター数は2,204と人気のOperatorのうちの1つ • 初回リリース(v1.0)は2017年5月と、一番歴史あるOperator • Apache License 2.0ライセンス (2022年1月11日時点の情報)
  • 10. © 2022 NTT DATA Corporation 10 10 © 2022 NTT DATA Corporation StackGresの概要 • PostgreSQL企業のOnGresがメインで開発・OSS提供しているOperator • 初回リリース(v0.6)は2019年9月と、新興のOperator • 最新版は2021年10月13日リリースされたv1.0.0 • スター数はGitHubで325、GitLabで60 • AGPLv3ライセンス (商用ライセンスのエンタープライズ版もある) • 次回リリース予定のv1.1.0ではBabelfish for Postgresをサポート予定 (2022年1月11日時点の情報)
  • 11. © 2022 NTT DATA Corporation 11 11 © 2022 NTT DATA Corporation Operatorの比較表 Zalando PGO StackGres メイン開発企業 Zalando SE Crunchy Data OnGres 初回リリース 2018年8月 2017年5月 2019年9月 最新バージョン 1.7.1 5.0.4 1.0.0 対応PostgreSQL メジャーバージョン 9.6 ~ 14 10 ~ 14 12 ~ 14 ライセンス MIT Apache License 2.0 AGPL v3 スター数 2,228(Github) 2,204(Github) 325(Github)、60(Gitlab) コントリビュータ数 118 85 12 商用サポート - The Crunchy Data Subscription StackGres Enterprise (※1) メイン実装言語 Go Go Java (2022年1月11日時点の情報) (※1) StackGres Enterpriseでは、商用ライセンスで、PostgreSQLのメジャーバージョン5つに対応
  • 12. © 2022 NTT DATA Corporation 12 技術要素の各Operatorでの 実現方式の比較について 1. 可用性 2. バックアップ 3. 性能監視 4. ログ収集 5. UI/API
  • 13. © 2022 NTT DATA Corporation 13 13 © 2022 NTT DATA Corporation 1. 可用性の比較 各OperatorともにレプリケーションとPatroniでHA構成を実現 PostgreSQL (スタンバイ) Patroni Pod1 PostgreSQL (プライマリ) Patroni Pod2 PostgreSQL (スタンバイ) Patroni Pod3 レプリケーション レプリケーション 状態監視、自動 フェイルオーバなど
  • 14. © 2022 NTT DATA Corporation 14 14 © 2022 NTT DATA Corporation Patroniの概要 Patroniは、Zalando SEがメインで開発・OSS提供している PostgreSQLのHA構成テンプレート • MITライセンス • 3台以上のPostgreSQLのHA制御も可能 • ZooKeeperやetcdなどの一貫性が保証された分散データストア(DCS)を ベースにHA制御 • 各Operatorでは、K8sが内部で利用するetcdをPatroniでも利用可能
  • 15. © 2022 NTT DATA Corporation 15 15 © 2022 NTT DATA Corporation 正常時のPatroniの動作 PostgreSQL (プライマリ) PostgreSQL (同期スタンバイ) PostgreSQL (非同期スタンバイ) Patroni Patroni Patroni ①DBの状態監視 ②etcdの更新 #1 #2 #3 • leader • members などを保存 プライマリ1台、同期スタンバイ1台、非同期スタンバイ1台の構成を想定 各Patroniは、担当するPostgreSQLの状態監視(①)と状態のetcdへの記録(②)を繰り返す ①DBの状態監視 ①DBの状態監視 ②etcdの更新 ②etcdの更新
  • 16. © 2022 NTT DATA Corporation 16 16 © 2022 NTT DATA Corporation 異常時のPatroniの動作 PostgreSQL (プライマリ) PostgreSQL (同期スタンバイ) PostgreSQL (非同期スタンバイ) Patroni Patroni Patroni ①leaderがexpire #1 #2 #3 • leader • members などを保存 プライマリ1台、同期スタンバイ1台、非同期スタンバイ1台の構成を想定 プライマリが故障すると、Patroniは次にプライマリとなるスタンバイを選択して昇格させる ⑤プライマリに昇格 プライマリ ②leaderの不在を検知 ⑥プライマリ変更を検知 故障 ③#2がプライマリに 昇格できるか確認 ④#2をleaderとして登録 ⑦同期先を#2に変更 同期スタンバイ
  • 17. © 2022 NTT DATA Corporation 17 17 © 2022 NTT DATA Corporation 2. バックアップの比較 各Operatorはそれぞれバックアップの統合ツールを同梱して利用 • バックアップの定期取得・手動取得、世代管理を手軽に実現 • バックアップから新しいPostgreSQLクラスタを作成(リストア・PITR)することも可能 • バックアップ保管先は各パブリッククラウドのオブジェクトストレージやS3互換ストレージ Zalando PGO StackGres バックアップ統合ツール WAL-E、WAL-G pgBackRest WAL-G PostgreSQL Backup Agent • Amazon S3 • Google Cloud Storage • Azure Blob Storage • S3互換(例:MinIO) Pod
  • 18. © 2022 NTT DATA Corporation 18 18 © 2022 NTT DATA Corporation 3. 性能監視の比較 Zalandoは、性能監視の仕組みを提供しない PGOとStackGresでは、Exporter(Node、PostgreSQL)による性能情報の収集、 Prometheusによる蓄積、Grafanaによる可視化とAlert Managerによるアラートを手軽に実現できる PostgreSQL PostgreSQL Exporter Pod2 Alert Manager PostgreSQL PostgreSQL Exporter Pod1 Prometheus 収集 アラート 閲覧 収集 データ ソース
  • 19. © 2022 NTT DATA Corporation 19 19 © 2022 NTT DATA Corporation 3. 性能監視の比較 Zalandoは、性能監視の仕組みを提供しない PGOでは、ExporterやPrometheus、Grafanaなどを同梱するpgMonitorを利用 StackGresでは、Prometheusと連携できる仕組みを提供(Exporterコンテナの組込み自動化など) Zalando PGO StackGres ノード性能情報 の収集 性能監視には、Exporter やPrometheus、 Grafanaなどを自前で導 入・設定する必要がある Node Exporter Node Exporter PostgreSQL 性能情報の収集 PostgreSQL Exporter PostgreSQL Exporter Envoy 性能情報の蓄積 Prometheus Prometheus 性能情報の可視化 Grafana Grafana アラート Alert Manager Alert Manager pgMonitor
  • 20. © 2022 NTT DATA Corporation 20 20 © 2022 NTT DATA Corporation 4. ログ収集の比較 StackGresでは、PostgreSQLやPatroniのログを各Podから収集する 仕組みをOperatorとして提供 PostgreSQL Fluent Bit Pod2 Fluentd PostgreSQL + Timescale PostgreSQL Fluent Bit Pod1 Patroni Patroni Distributed Log Server REST API
  • 21. © 2022 NTT DATA Corporation 21 21 © 2022 NTT DATA Corporation 5. UI/APIの比較 ZalandoとStackGresは、K8s APIとは別に、独自APIとそれを使うWebコンソールを提供 PGOは、v4.7までは独自APIとそれを使うCUIを提供していたが、v5.0で削除 PostgreSQL Pod2 PostgreSQL Pod1 Patroni Patroni 独自API K8s API apiVersion: stackgres.io/v1 kind: SGCluster metadata: name: simple spec: instances: 2 postgres: version: 'latest' kubectl マニフェスト Webコンソール
  • 22. © 2022 NTT DATA Corporation 22 22 © 2022 NTT DATA Corporation Webコンソールの比較 (Zalando) Webコンソールから必要最低限の操作やステータス確認が可能 Webコンソールへのログイン認証はない
  • 23. © 2022 NTT DATA Corporation 23 23 © 2022 NTT DATA Corporation Webコンソールの比較 (StackGres) Webコンソールから操作できることや確認できるステータスがZalandoより多い Webコンソールへのログイン認証がある ダークモードへの 表示切替もサポート!
  • 24. © 2022 NTT DATA Corporation 24 StackGresのデモ
  • 25. © 2022 NTT DATA Corporation 25 PostgreSQL Operator利用時の課題
  • 26. © 2022 NTT DATA Corporation 26 26 © 2022 NTT DATA Corporation Operator未同梱のPostgreSQLエクステンションの利用 Operator未同梱のエクステンションを利用するための手軽な手段が提供されていない 例えば、エクステンションを組み込んだコンテナイメージを作成して利用する必要がある StackGresは120個以上の エクステンションを同梱していて Web UIから手軽に利用選択 Operator未同梱のエクステンション例 • pg_hint_plan (HINT機能) • pg_bigm (全文検索) • orafce (Oracle互換機能) • mysql_fdw (MySQLアクセス用の Foreign Data Wrapper) • supautils (権限制御)
  • 27. © 2022 NTT DATA Corporation 27 27 © 2022 NTT DATA Corporation PostgreSQL Operatorでのストレージ検討 PostgreSQL環境のデータ種別ごとに適切なストレージを選定する必要がある データ種別 ストレージタイプ(例) ストレージの選択肢(例) DBデータ ブロックストレージ(高速) ・ パブリッククラウドのブロックストレージ ・ ローカルのブロックストレージ ー OpenEBS ー TopoLVM ー Rook/Ceph(block) など 性能情報 サーバログ ブロックストレージ バックアップ アーカイブログ オブジェクトストレージ ・ パブリッククラウドのオブジェクトストレージ ・ S3互換ストレージ ー MinIO ー Rook/Ceph(object) ー SeaweedFS など
  • 28. © 2022 NTT DATA Corporation 28 おわりに
  • 29. © 2022 NTT DATA Corporation 29 29 © 2022 NTT DATA Corporation おわりに PostgreSQLの代表的なOperatorは、Zalando、PGO、StackGres Operatorを使うことで、K8s上に簡単にPostgreSQL環境を実現できる! バックアップ モニタリング ログ集約 PostgreSQL HA構成 PostgreSQL PostgreSQL HA構成 セットアップ 操作・監視 Web UI ユーザ
  • 30. © 2022 NTT DATA Corporation 30 その他、記載されている会社名、商品名、又はサービス名は、 各社の登録商標又は商標です。
  • 31. © 2022 NTT DATA Corporation 31 31 © 2022 NTT DATA Corporation Operatorの比較表 Zalando PGO StackGres Capability Level Full Lifecycle Auto Pilot (OperatorHub.io未登録) (2022年1月11日時点の情報) (https://operatorhub.io/)