コンテンツに移動
データベース

デベロッパー向けのデータベースのオブザーバビリティ: Cloud SQL Insights のご紹介

2021年2月4日
Google Cloud Japan Team

※この投稿は米国時間 2021 年 1 月 29 日に、Google Cloud blog に投稿されたものの抄訳です。

本日は Cloud SQL Insights を紹介します。Cloud SQL Insights はシンプルなオープンツールであり、デベロッパーが Cloud SQL のデータベース パフォーマンスの問題をすばやく理解して解決できます。Google は、オープン標準を使用し世界クラスの可視化や、マイクロサービスなどの最新のアーキテクチャを考慮して Insights を設計しました。

すべてのデータベースのお客様にデプロイを最大限に活用していただくため、最新の 1 週間の履歴について、追加費用なしで Insights を利用できるようにしました。過去 7 日間の指標がダッシュボードに表示されます。Insights が Cloud SQL for PostgreSQL で利用できるようになりました。

すべてのデベロッパーが DBA の順番待ちをしている理由

アプリケーション開発チームは、これまでにないほど迅速に機能を提供しています。かつては年に数回の機能提供でしたが、DevOps モデルに移行することで 1 週間に複数回、あるいは 1 日に何回も提供するようになりました。また、世界中にアプリケーション ユーザーが拡大しており、アプリケーションのワークロードが絶えず増加しています。パフォーマンスの問題が発生した場合、根本的な原因はたいていデータベースにあります。

DevOps により、開発ライフサイクル全体の多くの所有権がソフトウェア デベロッパーに移りました。ところが、データベースのパフォーマンスに関しては、デベロッパーが問題を自己解決するスキルやツールを持ち合わせていない場合があります。デベロッパーが DBA に助けを求めても順番待ちになる可能性があります。DBA は非常に数が少ないので、ほぼすべての組織で希少なリソースになっています。本番環境アプリケーションでのパフォーマンスの緊急問題は解決されず、カスタマー エクスペリエンスが低下する可能性があります。

Insights により、デベロッパーはデータベースのパフォーマンスに自分で対処でき、アプリケーションのイテレーションを高速化し、DBA がより戦略的なタスクに取り組めるようになります。

「私たちが管理するアプリの数と機能をリリースする頻度は、クラウドによって大幅に増加しました」と、Baseball Data の MLB バイス プレジデントである Greg Cain 氏は言います。「これにより、DBA チームがパフォーマンスの問題に対応することがいっそう困難になります。Cloud SQL Insights では、その問題をセルフサービスのモニタリングと診断で克服でき、アプリケーション デベロッパーとエンジニアがクエリのパフォーマンスに関する問題をプロアクティブに防止できるはずです。」

オープン標準による開発ライフサイクル全体でのデータベースのオブザーバビリティ

Insights は既存の APM とオブザーバビリティ ツールを補完します。また、オープン標準の OpenTelemetry と Cloud Monitoring や Cloud Trace API を介してデータベースの指標とトレースを提供します。これにより、既存のツールでエンドツーエンドのトレースを簡単に実行でき、アプリケーションからデータベースまでの環境のフルスタック ビューが提供されます。

「クラウドでマネージド データベース サービスを導入する組織が増えているため、アプリケーション環境へのより優れたオブザーバビリティが求められるようになっています」と、Dynatrace のプロダクト管理担当シニア バイス プレジデントである Steve Tack 氏は言います。「Dynatrace の AI を活用したオブザーバビリティと Cloud SQL Insights のオープン標準とを組み合わせることで、企業が最高の信頼性とパフォーマンスでアプリケーションを実行できるようになりました。」

クエリタグを使用したアプリケーション中心のデータベース モニタリング

従来のモニタリング ツールはクエリ中心のパフォーマンス ビューを提供します。この制限により、特に MVC やマイクロサービスなどの最新のアーキテクチャでは、パフォーマンスとアプリケーション コードの間にずれが生じる可能性があります。

Insights はアプリケーションの視点からデベロッパーにデータベース モニタリングを提供します。デベロッパーはタグを利用して、支払い、インベントリ、ビジネス分析、配達などの特定のビジネス機能にクエリを関連付けることができます。これにより、デベロッパーは特定のマイクロサービスやユーザーフローなどによって生じるデータベースの負荷を迅速に評価できます。

デベロッパーは次のようにアプリケーション コードにタグを追加するだけでかまいません。

読み込んでいます...

また、Insights を使用して、クエリではなくビジネス機能ごとにまとめられたパフォーマンスの全体像を把握します。タグで並べ替えられたデータベースの負荷は以下のようになります。

ORM はデータベース クエリの開発を簡素化するために、大半のアプリケーションで使用されています。ORM のデメリットの一つは、効率が悪く診断が非常に難しいクエリを生成する可能性があることです。Insights には SQL Commenter が用意されています。SQL Commenter は ORM を自動計測して、問題の原因となっているアプリケーション コードを特定できるオープンソース ライブラリです。SQL Commenter をインストールすると、自動的にクエリにタグが付けられ、アプリケーション コードに変更を加える必要性が減ります。SQL Commenter は、Hibernate、Spring、Express、Django、Flask などの多くの一般的な ORM をサポートしています。詳しくは、SQL Commenter の記事をご覧ください。

https://storage.googleapis.com/gweb-cloudblog-publish/images/SQL_Commenter_supported_ORMs.max-1400x1400.jpg

クエリ診断のセルフサービス エクスペリエンス

Insights を使用すると、デベロッパーは 1 つのインターフェースで検出から診断までシームレスに移行できます。Insights では、構築済みのダッシュボードを使用して、クエリのパフォーマンスに関する問題を早期に特定できます。たとえば次のようになります。

視覚的なクエリプランでパフォーマンス問題の根本原因に関する分析情報が得られます。

Insights はサーバーレスです。パフォーマンスへの影響を最小限に抑えて診断向けのテレメトリーのコレクションを管理し、モニタリング インフラストラクチャの管理に費やす時間を削減します。すべてのパフォーマンス指標は、Google Cloud のエンタープライズ向けのセキュリティ、プライバシー、コンプライアンスによって保護されています。

Insights をすぐに使ってみる

Insights について詳しくは、ドキュメントを確認するか、Cloud SQL for PostgreSQL をお試しください


-データベース エンジニアリング担当ゼネラル マネージャー兼バイス プレジデント Andi Gutmans

-プロダクト マネージャー Nimesh Bhagat

投稿先