Tech Summit 2018: 性能問題を起こしにくい 信頼されるクラウドRDBのつくりかた
こんにちは、松枝です。
前職までアプリ開発が主な業務だった私にとってはちょっと苦手な領域のセッションも受講してみました。
性能問題を起こしにくい 信頼されるクラウドRDBのつくりかた(DA08)
いままでオンプレで留意してきたこと
- ディスクを束ねて必要IO性能を構成
- 性能のバランスを取る(例えば、ストレージコントローラの性能だけが悪かったら全部ダメになる、とか)
クラウドだと少し考え方が変わるが性能問題の考慮は必要。
PaaSを使えば一部~全部をお任せできる!
(SQL Database Managed InstanceやSQL
Data Warehouseの活用)
アクセスパスの最適化
<テーブルフルスキャン> vs <インデックスシーク>+<テーブルルックアップ>
- 適切なインデックスを定義しましょう
- インデックス利用が正解とは限らない(小さいテーブル、広範囲スキャンなど)
- 正しくクエリを書きましょう
- インデックスが使われないかもしれないケースがある
パフォーマンス監視
下記のAzureサービスを活用しましょう
- Performance Diagnostics
- Intelligent Insights
- Log Analytics
- Query Perf Insights
- Azure Monitor
- Monitor for SQL Data Warehouse
- Azure Advisor
- Automatic Tuning for SQL Database
メンテナンス
- 統計情報やインデックスの定期メンテナンスが必要
感想
- 恥ずかしながらアプリエンジニアとしては考えたことの無かった内容が多く、勉強になりました。
- オンプレ環境では自力で解決しなければならない課題の多くをAzureを活用することで簡単に解決できる可能性を知ることができました。