MySQL/MariaDB レプリケーション復旧 テーブルロックをせず特定テーブルのみコピーする その2
前回は、レプリケーション復旧においてMySQLのコマンドを使って最もロック時間を短くコピーし直す方法を紹介しました。 今回は、全くテーブルをロックせずに特定のテーブルやデータベースをコピーし直す方法を紹介します。 Nonlocking Replcopy Nonlocking...
View Article[#ouchidbボツ原稿シリーズ]データベースファイルからの差分バックアップ生成
ミックさんとの共著「おうちで学べるデータベースのきほん」はおかげさまで好評です。 ただ執筆時には原稿を盛り込みすぎてボツになったものもあり、本シリーズ(?) では、そのうちのいくつかをひろって供養したいと思います。 今回は「関西DB第3回」で話があがった、バックアップ・リカバリについて。...
View Articlepixiv private isucon 2016 攻略 (1/5)
連載一覧: pixiv private isucon 2016 攻略 (2/5) pixiv さんが社内で開催したプライベート ISUCON の AMI を公開してくれたので、手順を残しながら攻略していきます。 ISUCON6出題チームが社内ISUCONを開催!AMIも公開!! リポジトリ この記事の対象読者は途中で何をすればいいかわからなくなってしまう ISUCON 初心者です。 Go...
View Articlepixiv private isucon 2016 攻略 (2/5)
連載記事一覧: pixiv private isucon 2016 攻略 (1/5) アプリを読む ソースコードを読みながらだいたいの構成を把握していきます。 フレームワークは goji を使っている。 goji のサイトを見ると同じ名前で新しいフレームワークを作り直したみたいだけど、これは古い方を使ってるみたいです。 セッションは Gorilla のライブラリに memcached store...
View Articlepixiv private isucon 2016 攻略 (3/5)
攻略記事一覧: pixiv private isucon 2016 攻略 (1/5) pixiv private isucon 2016 攻略 (2/5) pixiv private isucon 2016 攻略 (3/5) 現状確認 access.log をもう一度見直しましょう。 Request by total time 74.113 0.0307140489018 GET / 70.007...
View ArticleOSC2016名古屋参画
オープンソースカンファレンス2016名古屋(OSC2016-Nagoya)に参加してきました。 私にしては珍しく、当日会場入り。 https://www.ospn.jp/osc2016-nagoya/...
View Articlepixiv private isucon 2016 攻略 (4/5)
攻略記事一覧: pixiv private isucon 2016 攻略 (1/5) pixiv private isucon 2016 攻略 (2/5) pixiv private isucon 2016 攻略 (3/5) pixiv private isucon 2016 攻略 (4/5) ここから、いよいよ ISUCON らしくなってきますよ。 現状確認 access.log...
View Articlepixiv private isucon 2016 攻略 (5/5)
攻略記事一覧: pixiv private isucon 2016 攻略 (1/5) pixiv private isucon 2016 攻略 (2/5) pixiv private isucon 2016 攻略 (3/5) pixiv private isucon 2016 攻略 (4/5) pixiv private isucon 2016 攻略 (5/5) ボトルネック探し...
View Articlestatement_analysisとevents_statements_historyによるSQLのパフォーマンス確認
SYSスキーマのstatement_analysisとperformance_schemaのevents_statements_historyを利用して、MySQLで簡単にSQLのパフォーマンス確認。 statement_analysis / x$statement_analysis Description: Lists a normalized statement view with...
View ArticleMySQLで疑似的なマテリアライズド・ビュー作成
MySQLで疑似的なマテリアライズド・ビューを作成 MySQLにはOracleで利用可能な、マテリアライズド・ビューは実装されてません。 その為、トリガーで対応したり、ワークテーブルを作成しておいて、定期的にデータを入れ替えるような処理で対応する必要があります。 過去の経験では、デイリー、ウイークリーランキングを作成する為に、以下のようにMySQLのEVENT SCHEDULE機能とREPLACE...
View ArticleRubyからProtobufを使う
MySQL 5.7.12 から追加された X Protocol は Protobuf というのを使ってるらしいです。 Protobuf というのをそこで初めて知ったので、とりあえず Ruby から Protobuf を利用する方法を調べてみました。 Protobuf はデータ構造をバイト列にエンコードしたり、その逆にバイト列をデータ構造にデコードしたりするライブラリのようです。 Ubuntu で...
View ArticleMySQLのメモリー使用量を最適化する設定のベストプラクティス
この記事では、最適なMySQLのメモリー使用量を設定するためのベストプラクティスを扱おうと思います。 使用できるメモリーのリソースをどのように使うか正しく設定するのは、MySQLを最適なパフォーマンスでかつ安定して使うために最も重要なことのひとつです。MySQL...
View Articleinnotopのその後 2016年6月
日々の覚書: innotopが最近息してないなーと思ったんだ から 1か月。innotop v1.11 がリリースされました。v1.10からのアップデート内容はざっくりと- MariaDB 10.1のサポート #124- MySQL 5.7のマルチソースレプリケーションに対応 #129- 壊れたテストの修正 #135- perl 5.22でエラーになる問題の修正 #136- MySQL 5.7で...
View ArticleMySQL Enterprise Audit機能改善
MySQL5.7.13以降における、Enterprise Audit機能の改善 MySQL5.7.13以降で、全てのユーザー若しくは、特定ユーザーが特定のテーブルに対して行った、read,insert,update,delete処理のみを監査出来るようになりました。 フィルター作成はJSONフォーマットで定義するようです。この機能は、以前から待ち望んでいたので、嬉しい機能の一つです。...
View ArticleMySQL 5.7のmysql_upgradeがやたら重い件
日々の覚書: MySQL 5.7のmysql_upgradeは本当にDATETIME型を新しいフォーマットに直してくれるけれど でちょっと触れてるんだけど、DATETIME型(TIME型とTIMESTAMP型もあるけど)には現在2つのフォーマットが合って、- 5.5とそれ以前のDATETIME型(秒部の小数点数非対応、8バイト、以下 旧DATETIME型)-...
View ArticleそのALTER TABLEがオンラインALTER TABLEかどうかを確かめる方法
MySQL 5.6以降の InnoDB オンラインDDL について、「これってオンラインでできたっけ?」とここ最近だけで何度か聞かれたので。ちなみにここを見てもわかる。MySQL :: MySQL 5.6 リファレンスマニュアル :: 14.11.1 オンライン DDL の概要何故か概要ページにできるかできないかの表があることと、 ALTER TABLE...
View ArticleMySQL Fabricの様子を監視するための何か
MySQL Fabricでぼっこぼこにされたはなし で考えていた、MySQL FabricのMySQLプロトコルの口でAPIを叩いて監視しようと思っているはなし。MySQLプロトコルの口では "CALL" ステートメントをフックして(というか単にクエリーを正規表現でマッチさせて) MySQL Fabricの各種APIを呼べるようになっている。 => 日々の覚書: MySQL...
View ArticleDB Tech Showcase Tokyo 2016 で発表しました。MySQL 5.7の新機能 〜InnoDB編〜
表題の通り、db tech showcase Tokyo 2016にて、MySQL 5.7の新機能についての解説を行った。スライドをアップロードしたので、セッションに来てくれた方も、見逃したという方もぜひ見て頂きたい。 What's New in MySQL 5.7 InnoDB from Mikiya Okuno 思えば、4年前のdb tech showcaseでMySQL...
View Article書籍発行のお知らせ:詳解MySQL 5.7 〜進化したMySQLをよく知るためのテクニカルガイド〜
既に昨日のdb tech showcaseのスライドでご存じの方も多いだろうが、この度MySQL 5.7の新機能を解説するための書籍を発行させていただくこととなった。8月23日発売予定である。 MySQL...
View ArticleMySQL X Protocol を解析してみる
前回 MySQL X Protocol で使用している Protbuf について書きましたが、それだけでは MySQL のプロトコルは解析できません。 TCP を流れるデータは区切りがないので、書き込み側が Protbuf データをただ垂れ流しても、読み込む側がどう読んで良いのかわかりません。 書き込むデータの大きさと、書き込む Protbuf データの型を相手に伝える必要があります。 MySQL...
View Article