Slide 1

Slide 1 text

データベースエンジニアの仕事を楽にする。 PgAssistantの紹介 株式会社スリーシェイク nnaka2992

Slide 2

Slide 2 text

\du 2 株式会社スリーシェイク Sreake事業部 Alias - nnaka2992 - nkDATE - 中楯直希 興味あること - DBをKubernetesにのせること - SREっぽいこと - データベース関連ならなんでも 最近のPostgreSQLとの関わり - ORMに苦しめられています。 nnaka2992 @nnaka2992

Slide 3

Slide 3 text

はじめに 3 ● 以前TwitterことXでPgAssistantという生成AIを使って PostgreSQLの改善を行うツールを見かけました ○ nexsol-technologies/pgassistant ● 気になったので調査してきました

Slide 4

Slide 4 text

アジェンダ 4 ● 概要 ● 代表的な機能まとめ ● 実際の画面 ● よかった点・まだまだな点 ● まとめ

Slide 5

Slide 5 text

概要 5 ● PgAssistantはPostgreSQLのパフォーマンスを把握し、最 適化することを目的に設計された、開発者向けの PostgreSQLアシスタントツール ● 統計テーブルなどから運用に役立つ情報を集めたポータ ルを提供 ● 生成AIを利用したクエリ改善用プロンプトを提供 ● その他細かいツールを提供

Slide 6

Slide 6 text

代表的な機能まとめ 6 ● データベースのメトリクスをまとめたダッシュボード ● テーブル定義や利用状況・統計一覧 ○ 生成AIによる改善 ● クエリとそのパフォーマンス一覧 ○ 生成AIによる改善 ● データベース内の設定値一覧 ● インデックス一覧と利用状況一覧 ● データベースの問題点一覧

Slide 7

Slide 7 text

実際の画面 7 ● 検証環境 ○ データベース実行環境 ■ Cloud SQL for PostgreSQL 17.4 ○ PgAssistant実行環境 ■ docker compose ● cloud-sql-proxy ● PgAssistant ○ クエリ実行 ■ HammerDB

Slide 8

Slide 8 text

実際の画面 8 ● データベース接続設定

Slide 9

Slide 9 text

実際の画面 9 ● データベースの状態を見られるダッシュボード

Slide 10

Slide 10 text

実際の画面 10 ● 生成AIを使ったテーブル改善

Slide 11

Slide 11 text

実際の画面 11 ● 生成AIを使ったテーブル改善

Slide 12

Slide 12 text

実際の画面 12 ● 生成AIを使ったテーブル改善

Slide 13

Slide 13 text

実際の画面 13 ● 生成AIを使ったテーブル改善

Slide 14

Slide 14 text

実際の画面 14 ● 生成AIを使ったクエリ改善

Slide 15

Slide 15 text

実際の画面 15 ● 生成AIを使ったクエリ改善

Slide 16

Slide 16 text

実際の画面 16 ● 生成AIを使ったクエリ改善

Slide 17

Slide 17 text

実際の画面 17 ● 生成AIを使ったクエリ改善

Slide 18

Slide 18 text

実際の画面 18 ● 生成AIを使ったクエリ改善

Slide 19

Slide 19 text

実際の画面 19 ● テーブルのレコード数やカラム一覧を見る画面

Slide 20

Slide 20 text

実際の画面 20 ● テーブルのIOの状態を見る画面

Slide 21

Slide 21 text

実際の画面 21 ● テーブルごとのカラムの分散や代表値を見る画面

Slide 22

Slide 22 text

実際の画面 22 ● データベースに存在するインデックス一覧を見る画面

Slide 23

Slide 23 text

実際の画面 23 ● 実行されたSeq Scanの一覧を見る画面

Slide 24

Slide 24 text

実際の画面 24 ● その他有用な画面が複数ありますが、時間の関係で割愛 します。そのうちブログを書きます。

Slide 25

Slide 25 text

よかった点・まだまだな点 25 ● よかった点 ○ クエリやデータベースのチューニングをする時にDBの外から見たいな と思う情報は大体みられた ○ AI機能はPromptを提供してくれることで、任意の生成AIモデルを使え た ○ DDL改善でRFCだったり業界標準を考慮してくれた ● まだまだな点 ○ パフォーマンスチューニングはインデックス追加とSQLの書き換えぐら い ○ DDL改善は無駄にカラムサイズを大きくしがち

Slide 26

Slide 26 text

まとめ 26 ● PgAssistantはPostgreSQLの運用・改善を補助してくれる ツール ● 未発達な部分はあるものの、データベースエンジニアの仕 事を補助するツールとしては有用 ● オンプレはもちろん、DBaaSを使っていても表示してくれな い項目を拾ってくれるので便利 ● AIアドバイス機能はこれからに期待 ○ 今後ナレッジベースとの接続だったり、安定した出力が実現された時 は一部の仕事を巻き取ってくれそう。