MySQL– tag –
-
Primary keyの選び方
Primary keyの選び方 テーブル定義を行うときに一つのテーブルの中にPrimary keyの候補(一意制約あり、NOT NULL制約あり)が複数存在する場合、InnoDBのテーブルではどのカラムをPrimary Indexとして選択するのが望ましいのでしょうか? 前提知識としてのIn... -
時系列データの削除について
時系列データの削除について サービスを構築する場合、どのようなサービスでも時系列に沿ってデータを記録するログのようなテーブルは、必ずと言って良いほど存在しています。 この時系列でデータを記録するログテーブルは、サービスが稼働し続ける限り追... -
pt-deadlock-loggerでデッドロックの情報を収集する
はじめに MySQLでデッドロックに関する問題があり調査したいとき、InnoDB Monitor出力の LATEST DETECTED DEADLOCK セクションから直近に発生したデッドロックを確認することができます。ただし、これは直近で発生した1件しか確認ができません。 innodb_pr... -
ProxySQL Cluster の紹介
はじめに ハイパフォーマンスで多彩な機能として人気のデータベース用プロキシ ProxySQL ですが、ネイティブなクラスタ機能を有していることをご存じでしょうか。 ProxySQL Cluster - ProxySQL v1.4.2 で実験的に実装され、その後 Bug 修正もありつつ、v2.... -
Orchestrator の準同期レプリケーショントポロジー管理機能
今回は Orchestrator バージョン 3.2.6 で追加された 準同期レプリケーショントポロジーの管理機能 を紹介します。 Release GA release v3.2.6 · openark/orchestrator · GitHub EnforceSemiSyncReplicas & RecoverLockedSemiSyncMaster - actively en... -
Query Rewrite プラグインの利用と性能影響について
はじめに MySQL では 5.7 から、Query Rewrite プラグイン を使用することができます。 このプラグインが有効になっている場合、サーバーでクエリが実行される前にチェックされて、指定した条件に合致していた場合は書き換えがおこなわれてから実行される... -
Skeema を使ってみた
Terraform や Kubernates のマニフェスト等、インフラ界隈ではより安全でバージョン管理可能、かつ自動化に組み込みやすい「宣言型」の方法での構築が流行ですが、MySQLにもサードパーティ製の宣言型スキーマ定義ツールであるSkeemaがありますので、今回試... -
HAProxy のバックエンド接続ルーティングを動的に変更する方法
はじめに 今回は軽量・高性能で現在でも人気のあるプロキシソフトウェア HAProxy に関する話題です。 HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer データベースを運用していると、システムメンテナンスや問題・障害が発生した時に、... -
MySQLのコアファイルの出力について
MySQLのサポート業務では、(ユーザー視点では)突然 Signal 6 や Signal 11 をmysqldが受け取ってダウンするという問い合わせを頂く事が度々あります。 MySQLは数多くのバグフィックスや改善によって、頻繁にダウンすることはありません。 ちなみにGithub上... -
InnoDB Cluster・Group Replication の監視方法について
今回は、InnoDB Cluster, Group Replication の監視方法に関して紹介していきます。 パフォーマンススキーマのグループレプリケーション関連テーブルを把握する まず基本的な情報として、Group Replication では通常の MySQL の監視項目に追加して監視すべ...