SLAVE_PARALLEL_WORKERSの調整と遅延確認
MySQL5.7からslave_parallel_workersを調整してスレーブの遅延が対応出来る事は、 色々な資料やブログ等にも書かれているので詳細はそちらを確認してみて下さい。 Oracle MySQL Cloud Service(OC3 = 2vCPU)の環境でSQLSLAPで負荷をかけてみて、...
View ArticleUnbound のリトライ処理を追跡してみました
この記事は KLab Advent Calendar 2016 の 15 日目の記事です。 こんにちは。大野です。 KLab では最近、ローカルの DNS キャッシュサーバとして Unbound を使うようになりました。 今までは dnscache...
View Article使い慣れたSQLに潜む実装依存: Firebirdの場合(10) ORDER BY でのNULLの扱い
本エントリはFirebird Adventcalendar 2016の17日目です。使い慣れたSQLに潜む実装依存:3.構文とトランザクション ORDER BY 最新のFirebird 3.xでは、MySQL, SQL serverと同様にNULLは最小として扱われます。 SQL> create table table_name(column_name int); SQL>...
View Article使い慣れたSQLに潜む実装依存: Firebirdの場合(12) UPDATE文による主キーの入れ替え
本エントリはFirebird Adventcalendar 2016の17日目です。使い慣れたSQLに潜む実装依存:3.構文とトランザクション UPDATE文による主キーの入れ替え まぁMySQLと同じでだめな感じですorz 素朴な実装なので。。。。 SQL> create table table1(c1 int primary key); SQL> insert into...
View ArticleMySQLのCOUNTを速くする(?)SQL1本ノック その1
この記事は MySQL Casual Advent Calendar 2016 の19日目の記事です。「MySQLのCOUNTが遅いなー」って言うと、「トリガーでサマリーテーブル作ったら?」と言われること、多くありませんか? 特に @soudai1025...
View ArticleMySQL 8.0 Lab版でCTE(Common Table Expression)
本エントリはMySQL Casual Advent Calendar の9日目です。 MySQL Lab坂の8.0 (Optimizer)では、CTEが実装されています。詳しくは次のエントリをどうぞ。MySQL 8.0 Lab版: MySQLの (再帰)共通テーブル式(CTE) まあじっくり攻めるなら上記エントリでいいのですが、ここは簡単にざっくり動かしてみます。...
View ArticleMySQLのCOUNTを速くする(?)SQL1本ノック その2
この記事は MySQL Casual Advent Calendar 2016 の23日目の記事です。そしてどうやら、 日々の覚書 の400本目の公開記事です。そんなに書いてたのか。。前回 のあらすじ。mysql57> SHOW CREATE TABLE game_score\G*************************** 1. row...
View Articleperformance_schema を top っぽく見るツール ps-top
とある企業のDBA @yoku0825 さんに ps-top というものを教えてもらったので試してみました。 ps は 「Performance Schema」のps です。MySQL の パフォーマンス統計である performance_schema の情報をtopコマンドのように表示してくれる。 インストールps-top は go で書かれている。...
View ArticleMySQLでORDER BYをつけないときの並び順
メリークリスマス!🎅🎄 このエントリはMySQL Casual Advent Calendar 2016の24日目です。 今日はこれの話です! @eagletmt 実装と実行計画依存です(たとえばInnoDBで単一カラムのインデックスが使われた場合のsort orderはprimary keyになるはずです)— Ryuta Kamizono (@kamipo) December 4,...
View ArticleGroup Replication を試す(1) 導入編
MySQL 8.0 で入ると噂されていた、Group ReplicationがMySQL 5.7.17 でリリースされました。5.7 GAとは何だったのか。。。 とはいえ、早く使えるようになったのは、うれしいです。※ Group Replication は追加プラグインとして提供されているため、明示的に使わない限り影響を及ぼすことはありません。-bash-4.1$ ls...
View ArticleMySQLをビルドする on AWS Red Hat 7.3
yoku0825 さんが、Software Design 誌 2016年6月号に、最近のMySQLのビルドのしかたを簡潔に書いてくれていたのを見て、ずっとやりたかったのが、半年が経ち、年を越え。こんなに時間が経つなら忘れてしまえばいいのに、と思うのですが、先延ばしにすればするほど忘れられなくなるのが、この性分。ようやく年貢を納めることができた気分なので、メモ書き程度にここに残しておこうと思います。...
View ArticleふたつのバージョンのMySQLを同時に動かす on AWS Red Hat 7.3
ひとつまえの日記の続きです。 最近、MySQL のインストールは rpm(CentOS)、あるいは MySQL Installer(Windows)に頼りっきりで、手動インストールからも、すっかり遠ざかっておりました。そんな折に、簡潔でシンプル*1な yoku0825さんの記事に助けられて、そして年末に「AWS触ってみてよ」と推してくれた方のおかげで、環境と時間と情報とやる気が一気にフルハウス。...
View ArticleMySQL 5.7 のビルドにトライ ~ 5.6とは大違い
ひとつ前の日記までで、MySQL 5.6 のビルドが快調にできたことに気をよくして、MySQL 5.7 のビルドにも挑戦してみました。5.6.35 と 5.6.34 の差(ビルド環境や方法に違いはない)と同じように バージョン番号関係の部分を 5.7.17 に変えれば良いのだろうと考えていたら、大違い。 MySQL5.6をビルドして動作させるのと違うところ boost の 1.59...
View ArticleMySQL 5.7 を t2.micro でもビルドできた!
ひとつ前の日記で、「MySQL 5.7 は、ビルドのために大量にメモリを要求するので、AWS Red Hat の t2.micro、すなわちメモリ 1GBではビルドできない」という趣旨のことを書きました。その時点での対応策として、t2.medium というメモリ4GBの環境を利用することで、ビルドに成功しました。 その後、「t2.micro...
View ArticleGroup Replication を試す(2) ロックの挙動
テスト用のテーブル mysql> CREATE TABLE grplt.tbl (pk SERIAL, col1 int, who_update varchar(10));Query OK, 0 rows affected (0.00 sec)mysql> INSERT INTO grplt.tbl (col1, who_update) VALUES (1, 'node1') ,...
View ArticleAWS上でMySQL5.7動作環境を最速で作る方法(Generic binaries使用)(※5.6追記あり)
ビルドするほどに時間はかからず、rpmで入れるよりは自由度が高い(自分のローカルでの動作、複数バージョンの動作)ということで、Generic binariesを使って、とにかく最短でMySQL 5.7 の2つのバージョンを入れてみます。 環境はいつもの t2.micro です。...
View ArticleAWS上でMySQL5.7動作環境を最速で作る方法(MySQL::Sandbox使用)
@sakaik さんの連載(?)を読んでいたらやたら楽しそうで俺もなんかビルドしたくなってたまらなくなったので。- MySQLをビルドする on AWS Red Hat 7.3 - sakaikの日々雑感~(T)編- ふたつのバージョンのMySQLを同時に動かす on AWS Red Hat 7.3 - sakaikの日々雑感~(T)編- MySQL 5.7 のビルドにトライ ~ 5.6とは大違い...
View ArticlePDOより高速なORMライブラリ! Transactd PHP ORM リリース
2016年12月22日にTransactd PHP ORMをリリースしました。 これはTransactdを使用したMySQL/MariaDB用のORMライブラリです。今回はこのTransactd PHP ORMを紹介します。 主な特徴高速なDBアクセス 省メモリ 高スループット 高可用性 自在なトランザクションとロック、スナップショット 詳細なドキュメント 欠点 詳細ORMインターフェース...
View ArticleGroup Replication を試す(3) 障害時の挙動
group_replication_recovery チャネルは障害後のサーバ間の差分同期のみに使われる。 Group Replication のステータスが ONLINE 状態のときは、Master_HostがNULL、Slave_{IO,SQL}_Running は NO。 mysql> select * from...
View ArticleAWS(EC2)上でのMySQL5.7ビルド時間の実験
MySQLをビルドしたり動作させたりするための環境が手軽に手に入るようになったのが嬉しくて、いろいろ試してみています。 相変わらずビルドを繰り返し。 ビルドが必要となる要件は私にはそうそうありませんが、ここぞという時にちょこっとソースをいじってビルドできるという安心感を、この経験は与えてくれる気がしています。ということで、今回はビルド時間編。 概要 (1)AWSの...
View Article