Yakstは、海外の役立つブログ記事などを人力で翻訳して公開するプロジェクトです。
約9年前投稿 修正あり

MySQL 5.8で期待している機能

Shlomi Noach氏によるMySQL 5.8に期待する機能への要望を紹介する。log-binとlog-slave-updatesの動的有効化/無効化、優先度制御、ALTER TABLEの改善、レプリケーションの下流になっても並列度が落ちないグループコミットのスレーブへの伝播である。

原文
New features I’d like to see in MySQL 5.8 | code.openark.org (English)
翻訳依頼者
D98ee74ffe0fafbdc83b23907dda3665 B5aa4f809000b9147289650532e83932
翻訳者
B5aa4f809000b9147289650532e83932 taka-h
翻訳レビュアー
D98ee74ffe0fafbdc83b23907dda3665 doublemarket
原著者への翻訳報告
未報告


出典について

この記事はcode.openark.org内のShlomi Noach 氏によるNew features I'd like to see in MySQL 5.8(2015/10/7)を翻訳したものです。


Morgan Tocker氏のWhat would you like to see in MySQL 5.8?の後を追い、アムステルダムで開催されたPercona Liveのブレインストーミングに参加し、そしてこの記事を公開しています。Morgan氏が提示してくれたメディアに沿うことができませんでしたが(訳注:ブログのコメント欄やBugsDatabaseなどでコメントください、と記載があった)、ここに私がMySQL 5.8に期待する機能について記します。

  • log-binとlog-slave-updatesを動的に有効化/無効化できるようにする
    • 現在、サーバーのchefやpuppetのroleを変更し、スレーブから中間に位置するマスターなどに変更する場合、MySQLの再起動が必須となっています。これはレプリケーションの自動化を複雑にし、大きな障害となっており、ウォームアップの時間についてはいうまでもありません。
  • nice
    • niceを指定してクエリを実行できるようにしたい、すなわち低い優先度が指定可能で、全てのリソースを使い切らず、そして他のクエリが完了できるように一時的に停止したり、スロットリングしたりできるようにしたいと思います。Luisが要望を出し、私はこれがステートメント毎をベースにできそう、例えばSQL_NICEといったクエリへのヒントを追加することによって、と言いました。しかし、これが正しい挙動なのか確信がありません。コネクション毎をベースにするのも意味があります(ひょっとするとヒントのniceの部分にコネクション属性を指定するとか?)。
  • 現在よりさらにオンラインである(Online-ier)ALTER TABLE。とりわけ上記のnice機能に適用することを望んでいます。あるいは、ユーザー定義メトリクスによるスロットリングです。
  • 現在よりさらにオンラインである(Online-ier)レプリケーションにおけるALTER TABLE。スレーブはALTER文を並列に実行できるでしょうか?
  • 再グループコミット
    • スレーブがマルチスレッドで動作しており、中間に位置するマスターがあるとき、マスターで適用されたグループコミットが、レプリケーションの下流にコピーペーストされそのまま伝播して欲しいです。これは簡単に達成可能であると考えています。結果として、あらゆるレベルでレプリケーションするスレーブが同じ並列度で動作するのです。例え直接マスターから複製されたとしても、2段目、3段目の中間に位置するマスターから複製されたとしてもです。現在は、並列度は下流に行くに従って下がります。
  • グローバルなユーザー定義変数。任意の(グローバルな)変数を定義したくて、後からSELECT @@global.<任意の変数>で参照できて欲しいと考えています。これはHTML5の「data-*」属性と似たものでしょう。私はMySQLにpuppetのロール、あるいはサーバーのステータスを設定したり参照したりしたくなることが良くあります(生きているか?オフラインか?特定のプールに属しているか?などです)。「loose-*」の構文と同じように、これは「data-*」あるいは「user-*」という接頭辞の命名体系でいいでしょう。

MySQL 5.8で期待する新しいSQL文については今後もフォローアップするつもりです。

Percona Liveでのブレインストーミングに関して、私は次のことを述べておく必要があると考えています。純粋に楽しかったですし、かっこいいふわふわしたイルカを2つ手に入れたことはさておき、このスケジュールや、アイデアの多様性、そしてOracleの技術者(特にMark)が熱心にいくつかのリクエストされた機能の実行可能性をオープンで議論し、意見を聞いていたという事実を楽しみました。

次の記事
データのロストは発生するか?
前の記事
Percona XtraDB Cluster 5.6のオンラインDDL(The Percona Performance Blogより)

Feed small 記事フィード

新着記事Twitterアカウント