Database Support Blog

  • PostgreSQL
  • EDB
2023.12.20

PostgreSQLのSQLチューニングを体験してみよう!

ポスグレ学園


「ポスグレ学園」連載 第9回目。今回は、「PostgreSQL SQLチューニングワークショップ」の主管である 田中 健一朗 にインタビューしました。


ポスグレ学園に入学したきっかけ

アシスト 田中 健一郎

―― 日頃はどのような業務に従事されていますか

田中:市ヶ谷を拠点に導入やチューニングなどのご支援や教育、設計の標準化などPostgreSQLに関する様々なサービスに従事しています。また、日本PostgreSQLユーザ会では理事として日本語マニュアルの翻訳も担当しています。年に1度開催される
PostrgeSQLカンファレンスには毎年事務方として参加していますので、お会いしたことがある方もいらっしゃるかもしれませんね。


―― ポスグレ学園に入ったきっかけや動機を教えてください。

田中:アシストでよりPostgreSQLを盛り上げていくためと社内のコネクションを増やすために参加しました。近年、社内でのポスグレエンジニアが増えており、特に異なる拠点のメンバーとの関わりが薄かったので学園での活動は接点を作るチャンスだと思いました。また、面白いコンテンツのアイデアがあったので、参加者に楽しみながら学んでほしいという思いもありました。


―― ポスグレ学園ではどのような担当をされていますか、また実際やってみた感想をお聞かせ頂けますか。

田中:「PostgreSQL SQLチューニング実践」のワークショップ主管と学園運営を担当しています。
自ら学びたいと思うメンバーが集まるので雰囲気が良いと思います。また、会話をしていくとそれぞれのキャリアや思いも様々であることが分かり、技術的な内容以外でも多くの学びがありました。

例えば、参加者には、日頃データベースを触っていないメンバーもおり、初心者にはどういう学習方法が良いのかを考えたり、オープンソースとしてハードルを下げたり、和気あいあいと学習できる雰囲気作りも考えるようになりました。

PostgreSQL パフォーマンス・チューニング

PostgreSQL パフォーマンス・チューニング


お気に入りのチューニング問題

アシスト 田中 健一郎

―― 「PostgreSQL SQLチューニング実践」の中身を教えてください。

田中:PostgreSQLチューニング実践では1人に1台のPostgreSQLサーバを用意してそこで実際に動作する遅いSQLをチューニングするものです。
いくつか問題がありますが、私が一番気に入っている出題は以下です。


PostgreSQL パフォーマンス・チューニング

PostgreSQL パフォーマンス・チューニング

田中:この演習はプログラムの実行ファイル名しか情報が無い状態から始まります。
そこで、まずはログに出力する、内部VIEWを確認するなどの手法から最適なものを選択して問題のSQLを特定します。そうすると、実行計画が分かり遅延ポイントを見つけられるはずです。
ところが、原因が分かったとしてもSQLは修正できません。そのため、インデックス作成やパラメータ修正など、持っている知識の中から有効な方法を探しながらチューニングを進めます。

複数ある選択肢から使えるものを判断し、各ステップを1つ1つ進めることでゴールにたどり着く演習である点がお気に入りのポイントです。


リアルな演習により、お客様への気遣いを学ぶきっかけに!

アシスト 田中 健一郎

―― ワークショップの具体的な進め方や主管を行う際に気を付けていることはありますか。

田中:リアルなチューニングを経験してもらえるよう、シナリオの作成に注意をしました。
通常、お客様から問い合わせをいただく時は、既に問題のSQLが特定されていることが多いです。しかし現場では、まずチューニング対象のSQLを特定するところから始まります。そこで、よりリアルに近づけるために、演習ではまずSQLを特定するところから始めます。そのような、お客様の状況により近いリアルな経験をすることで、お客様への情報提供依頼時に細やかな気遣いができるようになると考えています。


―― ワークショップには どんな参加者がいますか。

田中:これまでは経験豊富なメンバーが主でした。Oracle Databaseのプロフェッショナルだったり、論理設計の修正も行うアプリケーションエンジニアにも参加してもらうことで、ワークショップの内容をブラッシュアップすることができました。来期からは少しビギナー寄りのメンバーも参加するため、どのようにして分かりやすく進行していくか、知恵を絞っているところです。


―― 来年の取り組みについて教えてください。

田中:近年、PostgreSQLをパブリッククラウドで利用するケースが増えており、運用ノウハウの習得は急務と言えます。
また、私自身 日本PostgreSQLユーザ会の理事を務めていることもあり、アシスト社内だけでなく、社外に飛び出せる人材も育成したいと思っています。
例えば、以下のようなことを考えています。

 - Amazon RDS for PostgreSQL vs Amazon Auroraパフォーマンス比較検証
 - PostgreSQLコミュニティへ貢献できるメンバーの育成
 - ポスグレ学園の育成ノウハウをお客様へ共有


ポスグレ学園を通じた技術者育成ノウハウをお客様にも!

アシスト 田中 健一郎

―― ポスグレ学園の今後について聞かせてください。

田中:最近、お客様先でPostgreSQLエンジニアの育成に関するご相談をいただくようになりました。
このご相談には今までのポスグレ学園における育成ノウハウを共有し、お客様と一緒に育成カリキュラムを検討する場面で活用できると感じています。

ポスグレ学園の取り組みに興味のある方がいらっしゃいましたらお気軽にお問合せください。



さいごに

今年は、9回に渡りポスグレ学園の取り組みをご紹介しました。
近年、お客様から「このシステムは、どのRDBMSを採用したらいいだろう?」というご相談をいただくことが多くなり、弊社としてはお客様のシステムの規模感や非機能要件等を踏まえて最適なRDBMSをご提案しています。

同時に、弊社データベース技術者としても幅広い製品の知識が必要になっており、オープンソースらしく、能動的に楽しみながらPostgreSQLの技術習得ができる、新しい社員育成のスタイルをご紹介させていただきました。これからもデータベースのプロフェッショナルとして、お客様にお役立ちできるよう努めてまいりますので、お気軽に何でもご相談いただければと思います。

ポスグレ学園 理事長
森本 憲明


たなかけんいちろう プロフィール画像

2002年入社。Oracle Databaseのサポートエンジニアを経て2008年よりPostgreSQL関連サービスの立ち上げ業務に従事。現在はフィールドエンジニアとしてデータベースの設計や構築を担当。Postgres関連の教育セミナーの講師も務める。日本PostgreSQLユーザー会では文書・書籍関連分科会の理事としてドキュメント翻訳活動などにも参加している。...show more



■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 ・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
 ・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
  文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • EDB
  • PostgreSQL
2024.09.12

新ツール Postgres Workload Report によるパフォーマンス診断~データベース管理の未来を共に創る!~

EDB Postgres Workload Reportsは、Postgresデータベースのパフォーマンス診断とトラブルシューティングを強化する新しいツールです。OracleのAWRに似た詳細なレポートを提供し、データベースの問題を迅速に特定・解決できるようサポートします。本記事では概要と利用手順をご紹介します。

  • PostgreSQL
  • EDB
2024.06.20

OSS-DB Gold問題集を出版しました!

35年以上教育事業を展開しているアシストが新たに取り組み始めた「ポスグレ学園」。連載10回目となる今回の記事では、OSS-DB Gold試験対策問題集 出版の経緯や内容を 新校長 我妻にインタビューしました。

  • EDB
  • PostgreSQL
2024.01.16

EDBがもたらすデータベースの新たな価値 ~ EDB社Field CTO Ajit Gadge氏来日、セミナー講演レポート ~

EDB社のAjit Gadge氏を招き「PostgreSQLユーザーに捧ぐ、EDBを使ったDB機能向上とコスト削減の両立」セミナーを開催しました。DB市場の現状やトレンド、EDBの最新動向について紹介しております。アシストセッションのアーカイブ配信の視聴申し込みも可能です。ぜひご覧ください。

ページの先頭へ戻る