この記事はMySQL Advent Calendar 2019の9日目の記事です。 binary logとはなにか binary log(以降binlog)はMySQL serverで実行した更新をイベントという形式で出力したログ。トランザクションのコミット時に出力され、コミットの順番で1トランザクションの…
8.0.18がリリースされたのでHash Joinを試してみました。 dockerには8.0.18 imageはなかったのでcentos7にinstallして実験 先にまとめ HASH JOINは等価条件のJOINでかつjoinするカラムにindexがない場合に採用される(ドキュメント1行目) HASH JOINしたかどう…
先日開催されたMySQL Casual Talks vol.12で「binlogを覗く」を発表した際のQAタイムで某瀬島さんからアドバイス頂いたWLを読んだので進捗報告です。 現在もgeneral document, internal manual, WL, source code reference(by doxygen)からbinlogの各種event…
タイトル通りMySQL Casual Talks vol.12を開催しました。 登壇・参加してくださったみなさんありがとうございました。 オープニングでも話しましたが、LINE at 新宿ミライナタワーでのMySQLイベントの開催は初のはずです(あいまい) MySQL Casual Talks vol…
MySQLのBug Report もう一週間経ったけど、今回出したバグレポートでドキュメントが修正されました。めでたい。 単にドキュメントが修正されただけですが、せっかくなのでMySQLにBug reportするまでの流れを書いておきます。 アカウント登録 シュッと登録し…
運用をしているとダウンタイムかありかに関わらず、alter tableにどれくらいの時間がかかるのか作業前に把握したいことはよくあります。 各種statusを見ることで一定時間でどれくらいの行を書き換えるかを把握することはでき、作業を始めてからであれば、あ…
僕自身のMySQLの勉強、キャッチアップのためにまとめリストを作り始めましたが、せっかくなので公開してみます。 mysql-weekly.hatenablog.com です。(アイコン検討中です) MySQL Weeklyでは1週間のMySQLに関する情報をまとめて、簡単なsummaryを作っていき…
Percona LIVE 2019に参加してきました。 前回の続きで初日(Tutorial Day)から Session Day 1, 2の3日間のうち2日目(Session Day 1)の内容です。 おそらく発表のスライドが公開されることと思いますが、全体が非公開になるものや非公開になるページがあるかも…
CREATE TABLE文のParserを作って、parseしたテーブル定義からテーブルのディスクサイズを見積もるツールを作ったので、発表してきた。 table-size-estimatorという名前で、Githubに上げている github.com ツールの骨組みとREADMEにあるサブセットのパースま…
Percona LIVE 2019に参加してきました。 初日(Tutorial Day)から Session Day 1/2の3日間です。 会社の仕事として参加したので、会社様様です。 社内でのレポートは別途書きますが、この記事では個人的に僕が参加したセッションの概要をざっくり紹介します。…
MySQL8.0の機能を調べてまとめている。 Functional Key Partsについて読んだまとめ。 dev.mysql.com MySQL 8.0.13から関数index(functional key parts)がサポートされる。 5.7以前ではカラムの値そのものかカラムのprefixでしかindexを作成することができな…
MySQL8.0の機能を調べてまとめている。 Descending indexについて読んだまとめ。 dev.mysql.com MySQL 8.0では、Descending index(DESC, 降順のindex)がサポートされるようになった。 これまではASC(昇順)のindexを逆順にスキャンすることはできたが、パフォ…
MySQL8.0の機能を調べてまとめている。 invisible indexesについて読んだまとめ。 dev.mysql.com MySQL 8.0からはinvisible indexesがサポートされる。 invisible indexはoptimizerに使われないindexのこと。 optimizerから見て、visible(利用可能)かinvisib…
MySQL8.0の機能を調べてまとめている。 Derived Table, Lateral Derived Tableについて読んだまとめ。 DERIVED TABLE LATERAL DERIVED TABLESや8.0の新機能を説明する前に、DERIVED TABLEについて説明する dev.mysql.com DERIVED TABLEとはFROM句のscope内で…
NULLを許容するカラムをつくるとそれぞれのカラムで必要なストレージサイズが1byte増えていた。 以下はexplainでkey長を見てみた様子。 INTは4byteを確保する訳だけど、NULL (DEFAULT NULL)指定したら各カラムで1byte増えているのがわかる。 NULLABLEかの判…
MySQL8.0の機能を調べてまとめている。 タイトルどおりGROUP BY ... WITH ROLLUPについてドキュメントを読んだまとめ。 GROUP BYで指定したカラム自体の全体の集約(超集約: super-aggregate)結果を返すWITH ROLLUP句で大きく2点の改良と機能追加があった. OR…
MySQL 8.0の新機能について調べてまとめています。 今回はWindow関数に関する章(https://dev.mysql.com/doc/refman/8.0/en/window-functions.html )を読んだまとめです。 window関数はクエリの結果から行ごとにその行に関連する計算を行う機能。 GROUP BYで…
前回の2ヶ月たった記事だとskype英会話と書いていた。 http://tombo2.hatenablog.com/entry/2018/11/11/194143 前回の記事を読み直すとなかなか良いことが書いてあったので、半年ごとくらいで書いていくつもり。 状況 レアジョブ英会話の1日25分コースを受講…
MySQL 8.0の新機能について調べてまとめました。 この記事は公式ドキュメントの以下のページの読んだまとめです。 dev.mysql.com サンプルのクエリもほぼドキュメントのものですが、手元の8.0.15で実行した結果をつけている場合もあります。場合によって説明…
where句なしでupdate文を実行するというオペミスがあった際にdummyのrelay_log(binlogをrenameしたもの)を使って、1ホスト単体でMTSを利用した一人replication的なことをしてPITRする方法の検証をしてみた。 何いってんだと思ったら下のlefredの発表資料を見…
この記事はMySQL Casual Advent Calendar 2018 10日目の記事です。 皆さんMySQLの学習はどのようにされていますか? MySQLを含めたデータベースが落ちることはそのままサービスの停止につながることが多く、安定運用にはそれなりの知識と経験が必要だと思い…
この記事はMySQL Casual Advent Calendar 2018 10日目の記事です。 最近golangでMySQLのclient/serverプロトコルのでシリアライザを作っていて、この記事ではclient/serverプロトコルを解説しつつ、そのデシリアライザの紹介をしようと思っていました。 です…
2年経ったらしい。 これまでの経過 3ヶ月 tombo2.hatenablog.com 半年 tombo2.hatenablog.com 一年 tombo2.hatenablog.com 一年半 tombo2.hatenablog.com 進捗 だめです。。。 ベンチプレスMaxおそらく 90kg スクワットMax おそらく100kg 雑感 筋トレ何が楽…
継続的な努力が必要な目標を達成するには、定期的なメモや経過報告をまとめることはかなり有効だと思っている。 これは研究でもプログラミングでも筋トレでも何でもそうで、具体的な数値で経過を記録することができないたぐいのものでも、適当な振り返りを書…
リレーショナル・データベースにおけるリレーションとは何なのかについて調べ、リレーショナルモデルに基づいたデータベースを利用することのメリットは何なのかを考えてみた。 これから書く内容はブログ最後にまとめた参考文献の、リレーショナルモデルに関…
「データベース実践講義」をかいつまんで読んだ。 www.oreilly.co.jp 増永 良文著の「リレーショナルデータベース入門」を読んでいて、リレーショナルモデルの説明部分の比較を主な目的として読んだ。 あとで振り返ると思うので、箇条書きで特に良かった部分…
最近いくつかのキーの反応が鈍くなってきて、はんだ付け入門しようかと迷っていたら2018年からキースイッチがハンダ付け不要で交換できるようになっていた。 たいした話ではないけど、買うとどんな感じなのかをほぼ写真で説明していく。 ergodox-ez.com Chan…
もう一年半はとっくに過ぎているけど、久々に書いた。 進捗 Youtube これまで買ったもの 懸垂機(マルチジム) 片手30kgダンベル スクワット台 フラットベンチ ベンチセーフティ バーベル(30kgセット) バーベル(100kgセット) プレート(7.5x2枚) ミニロッカー…
MySQLで実行された全てのクエリを把握する方法を挙げてみる。 いくつか方法はあるが、負荷の高い環境でクエリをとるにはうするのが良いだろうか? パフォーマンスチューニングが主たる目的なので、Restoreからロールフォワードすることは考えない。 SELECT文…
今回組んだPCでI/Oの簡易ベンチマークを取ってみた。 一気に全部の実験をしてなくて、デバイス名・マウントポイントは不定 storage HDD SSD その1 SSD その2 M.2 SSD 環境 ベンチマーク gnome-disks dd hdparm 感想 storage HDD 【Amazon.co.jp限定】WD HDD …