この連載では,
また,
- MySQL
- PostgreSQL
- MongoDB
- DB専門家ではないアプリケーション視点からの意見
を,
[MySQL] 2019年8月の主な出来事
2019年8月はMySQLの製品アップデートはMySQL Notifier 1.
MySQL Notifierのご紹介
MySQL NoftifierはWindowsのシステムトレイのアイコンからMySQLサーバーの起動停止や動作状況の確認ができる小さなユーティリティーです。MySQL Noftifierの歴史は意外に古く,
MySQL NotifierはローカルのMySQLサーバーだけではなく,
[PostgreSQL] 2019年8月の主な出来事
PostgreSQL関連は月初のイベント2つのレポートをお届けします。
「EDB Postgres Vision Tokyo 2019」 レポート
ここでは,
「なぜ, EDB Postgresは選ばれるのか ~採用傾向と最新事例から紐解く適用のポイント~」, 高瀬洋子さん (株式会社アシスト)
筆者流にタイトルを勝手に付け替えさせていただくとすると,
- 2015~2016年にかけてはプライベートクラウドでの採用がグンと増えた。そして2017~2018年にはパブリッククラウドでの採用が一気に増えた。急伸の理由はライセンス形態がプライベートクラウドやパブリッククラウドでの仮想環境で利用しやすいことが大きい。
- 他のDBMSからの移行ケースが多い。移行ケースの過半があるDBMSのEnterprise Editionからの移行。コストメリットが大きいことが移行の最大の動機。それに加えて,
互換性が高く移行がちゃんと実現できていることも示している。 - CPUは4コアのライセンスが大半。メニコアの実績はまだ多くはないが,
事例は出始めている。 - EDBはさまざまな可用性構成が可能だが,
PostgreSQL標準のストリーミングレプリケーションを使った構成が最多。EDBが提供する死活監視機能である, EDB Failover Managerという機能もある。
その後の事例の紹介については本記事では詳細は省略しますが,
「DBMSの課題に振り回されないためのEDB Postgres活用術」, 小山田政紀さん (株式会社富士通ソーシアルサイエンスラボラトリ)
このセッションは全部丸ごと技術の話です。テーマは
- DBサーバのバージョンアップ
- 性能問題への対応
今回の小山田さんが示した方法は,
DBサーバのバージョンアップのテクニック
DBMSのバージョンアップは,
バージョンアップの方法として3種類
- (a)
データをダンプしてリストア - (b)
pg_ upgradeを使う - (c)
ストリーミングレプリケーションとpg_ upgradeの併用
方法を選択する際には,
性能問題への対応方法
性能問題もDBにまつわる古くて新しい大問題です。エンタープライズITのカスタムアプリケーションで直面するトラブルでは,
小山田さんは,
- (a)
想定した性能目標 (性能要件) の未達成 - 道具=CPU使用率測定:その結果iowaitが高ければディスクIO待ちがボトルネックになっているので,
データ配置を見直すなどを検討。 - 道具=DRITA (EDBの拡張)。PostgreSQLが保持している稼働状況のデータから,
待機イベントがどこで発生しているのかを把握することが可能。このDRITA (Dynamic Runtime Instrumentation Tools Architecture) は, OracleのStatspackのようなもの。 - (b) 不定期に性能悪化が発生
- 道具= pg_
stat_ acitivity。統計情報を収集。 - 道具= Wait State拡張モジュール (EDBの拡張)。
- (c) 特定のSQLの遅延
- 道具= Index Advisor (EDBの拡張)。どういうインデックスを張ったらいいかをアドバイス。
- 道具= Optimizer Hints (EDBの拡張)。ヒントコメントを書くことで実行計画を明示的に制御。
あたりまえですが,
ところで,
「初めてでもできた! EDB Postgresでかんたんマイグレーション」, 黒岩絵美子さん (NECソリューションイノベータ株式会社)
「PostgreSQL初心者による
PostgreSQLに限らず,