MySQLアンカンファレンス用の図
MySQL 8.3.0がmoldリンカをサポートしていたので、フルビルドがどれくらい早くなるか試してみました。 MySQL :: MySQL 8.3 Reference Manual :: 2.8.7 MySQL Source-Configuration Options 先に結果 8.3.0 フルビルドにかかった時間(リンクだけではなくコン…
MySQL アンカンファレンス開催したい。というかします。 概要 最近のMySQLはバージョニング方針も変わって、周辺ツールを含めた機能追加も着々とされている一方で、MySQL関連のイベントは減ってしまったような気がします。 コロナ以降、イベントが少ない気が…
この記事はMySQLのカレンダー | Advent Calendar 2023 - Qiitaの19日目の記事です。 MySQLのredoログには何が書かれているのだろうか? そんな疑問を解決するために私はアマゾンの奥地へと旅立つことにしました。 MySQLはSQLをパースし、実行計画を立てたあ…
MySQL 8.0.35や8.2.0のリリースノートがまだ来ないが、githubのほうではtagが切られていたので、commit messageから新しい機能を探してみた。 $ cd mysql-server/ $ gch trunk Already on 'trunk' Your branch is up to date with 'origin/trunk'. $ gb 8.0 …
ランニングを初めて3ヶ月たった。 仕事関連のタスクに追われていて、とりあえず定期的に走るだけで精一杯だった。 緩めのLT走とジョグしかできていないが、走れているだけ偉い!! まだまだ初心者というより入門者レベルなので、この程度の練習でも十分成長…
近況 あっという間に2ヶ月たった。 引越し後の環境に慣れてトレーニング内容と内容ごとのコースが決まってきた。 現状は3つのトレーニング内容をその時の体力次第で分けている。 基本的にVO2maxか乳酸性閾値を上げることを目的にしているので、長時間長距離…
なかなか高強度の負荷がかけられていなかった筋トレは諦めて一気に方向を変えてみることにした。 まずは持久力の基準の一つである最大酸素摂取量(VO2Max)を高めてみる。 体力、特に持久力と言ってもいろいろあるわけだが、まずはわかりやすいことを理由に、…
概要 この記事ではTiDBv6.1でのPoint In Time Recovery(PITR)について私なりの方法を紹介します。 運用中にめったに行うことはないですが、PITR (wikipedia)がいつでもできることは運用上重要ですよね。 しかし、残念なことに2022/07/06現在、TiDB公式ドキュ…
はじめに 最近TiDB導入のための検証にアサインされて、TiDBを調べています。 MySQL互換のデータベースということでTiDBを試してみるなら、無料トライアルも用意されているフルマネージドのTiDB Cloudを利用してみると良さそうです。 しかし、実際に本番環境…
あるMySQLインスタンスで検証のためにschema(database)をコピーしてほしい。というリクエストを受けたときに最速で対応する方法は何か検証してみました。 MySQLにschemaをコピーするコマンドはありません。 schemaをコピーする方法として例えば以下の5つがあ…
せっかくのGWなので、おもちゃを作りました。 Query Review Helperです。 github.com 背景 最近MySQLで実行されるクエリをレビューするタスクが異常に多くなってきました。 開発者の全員がindexやjoin, partition, limit offsetなどなどのハマりどころを知っ…
この記事はMySQL Advent Calendar 2020の1日目の記事です ※ 従来MySQLのレプリケーション構成ではMaster/Slaveという単語が使われてきましたが、現時点の最新バージョンである8.0.22からは、これらの単語がSource/Replicaと置き換えられ始めています。使い慣…
この MySQL ベンチマーク シリーズはMySQL-Benchmarkタグから一覧できます。 最初の方で環境構築をしていて、その環境で実験しています。 実験で使うSSDを決めるために簡単な比較をしてみる 1回目のベンチマークではもともと持っていたIntelのNVMe SSD 760p…
この MySQL ベンチマーク シリーズはMySQL-Benchmarkタグから一覧できます。 最初の方で環境構築をしていて、その環境で実験しています。 前回1Gbのネットワーク帯域がボトルネックになってしまうことがわかったので、10Gbの環境を作っていく 導入機器 NIC X…
tombo2.hatenablog.com ↑についてリノベ8.0.22で話した。 このとき、MTG中にそれぞれが試してみるとgoだと動く、rubyだと応答がなくなるという話をしていた。 tmtmさんがRuby, Cで追実験した結果をブログにしてくれていたので、僕もgoの結果を書いておこうと…
今年の冬はお家ベンチマーク環境を暖房にする気持ちでベンチマークをやっていこうと思う。 まずは環境構築から。 環境 2年前に組んだこの構成のPCが2台あるので、これを今回のベンチマークサーバにする core i7 8700 (CPU 6core 12threads) Memory 32GB SSD:…
概要 8.0.22のリリースノートを見るとprepared statementの挙動が変わっているらしい。 特にこれが気になったので、試してみる For a prepared statement of the form SELECT expr1, expr2, ... FROM table ORDER BY ?, passing an integer value N for the …
先週開催されたVLDB(Very Large Data Base)というDatabase分野のトップカンファレンスで松信さんがFirst authorの論文 MyRocks: LSM-Tree Database Storage Engine Serving Facebook's Social Graph が発表され、Best Industrial Paper Awardを受賞されまし…
Database Internalsの輪読会の第7回 chapter 6, B-Tree Variantsの発表予定です。 chapter 6は6つの論文を軸にB treeの応用(亜種)について書かれていますが、それぞれの論文を紹介するにはページ数が少なく、「こんなのもあるよー」程度になっています。その…
MySQLのストレージエンジンはplugableになっていて、APIを実装すれば自作のストレージエンジンを組み込むことができる。 ということで、試しにRedisをストレージエンジンとして使うRedis Storage Engineを作りました。 github.com 途中で飽きてしまった ちま…
sakaikさんのブログで今月の日付一覧を得るクエリを読んでいて、ここで紹介されているクエリが手元で実行できなかったので、メモ。 sakaik.hateblo.jp 原因は手元の環境が8.0.17でVALUES()関数がなかったことが原因。 よく見るとvalues()関数でテーブルを作…
MySQLで(他のDBMSは知らない)ある値のリストxを使ってテーブルからIN(x), NOT IN(x)を使ってデータを取っても2つのクエリで全件を取ってこれないという話は有名だが、MySQL Server Blogにantijoin optimizationも含めた解説記事が出たので、これを機に(is nu…
slow logの時間は何を計測しているのか? きっかけ とあるMySQLインスタンスで1Gbのネットワーク帯域を使い切ってレスポンスタイムが悪化していたという話を聞いた。 確かに遅いがlong_query_timeを小さくしてもslow_logは特に出ていなかったため、どのクエ…
欲しかったので買いました。16コア32スレッド、やばい!(語彙力) 自分のDesktop用にPCを組むのは4台目、初めてのAMD CPUです。 さすがにコア数が多いので、簡易水冷に挑戦してみた。 GPUもかなり強いやつにしてみました。が、残念なことにこれは使えなかっ…
この記事は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するまでの流れを書いておきます。 アカウント登録 シュッと登録し…