smallpalace's blog

鯖缶主婦の日々の記録です

MyNA20140414にいってきた

こんにちは、smallpalaceです。

さて、タイトルどおり行ってきたのでその記録です。

http://atnd.org/events/48639

ハッシュタグは #mysql_jp です。

聞きもらし結構あるかもですがあしからず。資料公開されてたらリンク追って貼ります。

---------------------

The history of future MySQL Ronald Bradford

休暇中なのにきてくれたロナルドさん。ORACLE ASEのかたです。

http://j.mp/1p2LdUa

スパゲッティの画像がでてくるなど。

MySQLの歴史のお話 

古いバージョンのおはなし、会場では意外とつかったことある人がおおい

InnoBaseというInnoDBを作った会社の話

すべてのバージョンにInnoDBは入っててMySQLABがつくったものではない

2005年にORACLEに変われたInnoBase。

 

2013-2014にフォークしたMySQLの話

5.6からそれぞれフォークしてる

WebScaleSQL(twitterほかが支援してるっぽい

Oracle

PerconaServer

MariaDB

 

3つの製品がある

MySQLServer1994

MySQLCluster2004

MaxDB2007(売却済み)

 

3人で創業した

Montyもんティー

Mickos(sunに売却した人

show authersたたくと貢献者の名前がでたりしてた

 

MySQLのさまざまな種類を紹介

Oracle/MySQLおおむね2年ごとにリリース

Percona

MariaDB

 

Moving to MariaDB

Fedora19

RedHat7

SUSE12.3

Slackware

Ubuntu(両方

LAMPスタックのMであることは変わらない

 

StrageEngines

データを読み書きする機能

MySQLを経由して話しかける

ロックやInndexやトランザクション、可用性などの機能が異なる(それぞれ)

MyISAM(5.5よりまえはデフォルトだった)

InnoDB(5.5からデフォルト)

ほかにもいろいろある

PluggableStorageEngineArchitecureを2006年に実装されて

ほかのベンダから提供された色々なストレージエンジンを使えるようになった

 

InnoDB

以前はビルトインだった

XtraDBや

 

なくなったPSE

NitroEDB、SolidDB、PBXT、etc..

日本発のSpiderは元気にしてる

 

ほかにTokutek、DeepDB、ほかDWH用カラムナ方のとか

Sphinx,IBMDB2、Cassandra、OQGraph、など

 

エコシステムが重要

ほかの多くの企業がパッチを提供してくれたり独自のカスタマイズしてたり

ProvenScaling、GoogleFacebookeBayTwitter

 

Alternaives

ほかのバージョンではDrizzle

 

同期レプリケーションGaleraがPerconaやMariaにあったり

 

Cloud

AWS RDS

GoobleCloudSQL

HP/OpenstackDBaaS

etc

 

MySQLのようなのもある

MySQLプロトコルをしゃべるのとかあるようです

 

SUPPORT

オラクルサポート(もちろんここがベストだと思いますがという前提でほかにもあるよ)

Perconaサポート

SkySQL/Monty Program

 

MySQL5.6

最新のバージョン、いくつもの改善がなされてる

 

MySQL5.7で最新の改良点をためしてみろ

ベターパフォーマンス、パフォーマンススキーマレプリケーションの改善も多数ある

 

TOKUTEK

www.tokutek.com

最近オープンソースになったもので注目している

 

ECOSYSTEM

最近行われたMySQLカンファレンス、数多くの幅広いスポンサーがいることが重要な点

 

スパゲッティから緑のエコな野菜になってきたよ、と。

 

NOSQL

NDBClusterのはなし

HandlerSocket

MemcacheAPI(NDBでもつかえる)

NDBはずっとまえからNOSQLだったぜという話

 

ORACLE ASEの水晶球のお写真が神々しかったです。

--------------------------------------------

yoku0825さんのお話。ORACLE ASE(MySQL)になった記念の会

MySQLをプロファイる(仮)」

http://www.slideshare.net/yoku0825/mysql-33534542

MySQLのご機嫌をうかがうときにつかうもの

 

dstat -apr3

 

iostat -mx

I/Oに確実によってると裏をとるときくらい

 

top -iH -p `pid of mysqld`

 

perf top -p `pid of mysqld`

 

pt-ioprofile --cell sizes --run-tume 10

ibdとかログサイズとかのどのファイルに対してI/Oしたか見る

短いスパンで乱打するとハングする

 

innotop

大好き

show processlist

set globalで値を変えたりするときによくみる

innodbLocks、mutexとかインデックスとかロックが食い合ってるときに

QPSとかみたりいろいろ

InnDBのスレッド情報とかログがのびてるかとかみる

 

mysqladmin -r -i 2

二秒に一度とか差分をとるとか

grepしてピンポイントで見たり(innotopだと統計値だけのやつとかあるので)

 

gdbでそのままくわす

ざんねん?

 

I_S

innodbバッファーページ

どんなページがどこにのってるよーというのが載ってる

あきがないときにみてる

ログ系のテーブルなら1日分のってればいいやみたいなの

なんかいページが書き換えられたのかをみるクエリが。

3000ぺーじが固定であとはかきかわってるとかを把握するみたいな

show full processlist

 

コンパイルオプションで色々出すようにするとか重くて使えないとか

 

straceとか

ソケットファイルまわりのやりとりを見るときにつかうことが多いらしい

ソケットの通信

 

gdb - `pid of mysql`

パフォーマンスとかでなくマニュアルよくわからない時用

 

SET pro。。高速でメモりきれず。

 

Optimizertrace

 

SYSschemaみたいなのにps_helperがかわったらしい

 

5.6以降ならISでもいいなあと思ってる

 

PSつかえよ

でもマニュアルにはろくに書いてない

 

ほかにあったらおしえてね

 

 

ここでロナルドさんとうじょう 

 

mysqladminで別の方法で2秒ごとにみるやつあるよ

 

mysqladmin ex -r -i 2|gre -v ' | 0'

ですって

 

windowsの人の方法

xperfというのがあるらしい

http://msdn.microsoft.com/en-us/library/windows/hardware/hh162920.aspx 

----------------------

hasegawさん

Fusion-IOの人。

http://www.mysql.gr.jp/frame/uploads/MyNA_201404_Hasegawa_dist.pdf

ioMemoryとはなにか、という話から

SSDではありません、だそうで。

いかにDRAMから遅れをとらないかというのを設計思想としてるらしい。

 

PC98とかの昔のお話がはじまって、

案外やすいのでぜひバッファープールにご活用くださいと。

ここまでが余興

 

不揮発NVMの登場TB容量のものも

まだサーバには入ってきてない

なぜフラッシュを使うのか

I/O特性がDB用とに向いてる

・低レイテンシ、QDの低いI/Oでも高性能

・ワークロードをとわず高速

フラッシュは安い

 

ディスクとしてのフラッシュ

フラッシュはシークがないので先読みとか周りをよまないとか

 

インスタンス数を増やすと性能が上がる

 

フラッシュとしてのフラッシュ、ただのディスクではなく

リード・ライト性能は非対称、ヘッド動作なし、書き込み量の限界がある、

IOPSが10万~100万回の性能が期待できる

 

Frash-awareスタックの構成

アトミックライト、NVMこんぷれっション

NVMFS

 

ダブルライト・アトミックライトの比較

アトミックライトだとダブルライトはなくても整合性が担保できるので二十二書き込み必要がない

ダブルライト無効にすると速度2倍になる

ACID確保しつつダブルライト無効にしたのと同じ性能と、書く量が半分になるので

フラッシュの寿命も2倍になる

 

NVMコンプレッション

・フラッシュデバイスがもつ内部的なシンプロビジョニング動作を活用

データファイル上の不要ブロックをTriMしホール(スパース)化

NVMコンプレッションの性能オーバヘッドはごくわずか

MySQLInnoDBのRowベースコンプレッションの80%のオーバヘッドに比べると10%くらいのオーバヘッド。

 

圧縮により書き込み減少⇒容量の有効活用、長寿命化

 

NVMFS

ファイルシステム全然断片化しない

 

OpenNVM

インタフェースを定義するグループをつくった

 

Oracleさんのプレゼンで機能をご紹介いただいた

 

アトミックライト対応、5.7.4~

NVMこんぷれっションは labs.relaase

これつかうにはNVMFSというのが必要なので、F-I/O持ってて使ってる人が使える機能

 

Q.ブロックデバイス用のドライバは?

A.F-I/Oのドライバの上で、スパースモードとか有効にするオプションをつかって、

デバイスI・Oメモリ。。。?

NVMライブラリのカーネルモジュールとNVMFSのカーネルモジュールをロードして使えるようになる

 

------------------------------

MariaDBにバンドルされていないmroonga 須藤さん

 

MariaDB 10.0.10、3/31GA

でもmroongaはバンドルされていない

 

バンドルに必要なこと

Strage以下にぶちこんでビルドできるようにしないと

 

いまできてるのはソースツリーへ統合

CMAKEに対応

mysqladdplugin

各種環境でテストが通ること

OK:新しい目のGNU/Linux

まだNGがある

場インドル対応

コスト高い

なれない環境でデバッグとか複数環境

バンドル希望の理由

windowsのやつやりたくなかった

むしろコスト上がった

いろんな環境への対応が大変

手伝ってくれる人募集

------------------------------

共有ストレージを使ったHAの実際のところ

マカフィーの話をしようかと思ったけど会社だしていいということなのでご紹介

 

ヤフーのデータインフラ開発部のおかた

Oracle/MySQL専門部隊

 

このまえ書いたブログ

 

共有ストレージをつかってデータをおいてる

複数台のサーバ

それぞれVIPが振ってあって落ちたらクラスタソフトが移動させる

 

180セット(自己管理のものだけで)

ちっちゃいのがたくさんあるみたいなかんじ

稜々は数十GB、クエリもお数百qps

 

集約してコスト削減したい

 

1つのMySQLに複数サービスは難しい

サービスによって用件が違う

 

共有ストレージにした理由はオラクルでなれてたから

Sync_Binlog=1にしたかったので商用のすごいのつかってる

Clusterwareにした

2年で運用して数回F/Oしてる

rep遅延がないのがいい、

ここで時間切れ

------------------------

オラクルの山崎さん ワークベンチ6.1のデモ

 http://www.slideshare.net/yoyamasaki/20140414-mwb

ワークベンチ便利だから是非つかってね

なにが便利か

いろいろ簡単に確認できる

 

SQLエディタもあるよ

 

ER図もかけるよ

 

6.1での強化てん

パフォーマンスダッシュボードついたり

パフォーマンスレポートがついたり

 

クライアントコネクション画面がみやすく

 

エクスプレインの図がさらにみやすく

 

接続定義をしておくとクリックするだけで見れる

 

プロセスリスト

sleepのコネクションとか隠せるようになった

実行時間でソートとかできるようになった

 

PSが5.6でかなり強化される

 

ワークベンチでsysスキーマつくるよといわれてつくられて

ファンクションの集合体ができる

実行に時間がかかってるSQLとか簡単に見れる

 

ビジュアルエクスプレインもバージョン2

joinの順番とかも簡単に見れるようになった

 

実際のデモ

ワークベンチカジュアルもやろうよみたいな話に

 

---------------------

State of the Dolphinミニ オラクルの梶山さん

 

mysql最近どうなの?という話

 

PerconaLive MySQLconference

MySQL5.7DMR4

いろいろあるので省略

 

MySQL Fabric(シャーディングするやつ)

 

labsのパーサーが新しくなったらしい

 

告知

4/25最新情報セミナーがあるよ~@オラクル青山

きてね、大阪と福岡も22、23日にあるよ。

福岡 4/22(火) http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=182860&src=7882844&src=7882844&Act=123

大阪 4/23(水) http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=182862&src=7882844&src=7882844&Act=124

東京 4/25(金) http://www.oracle.com/go/?Src=7882844&Act=122&pcode=WWMK13054207MPP114

---------------------

オラクルの奥野先生からひとこと言わせろ

 

熱い漢がやってきた(面接に)!!

というはなし

 

人材の確保=企業にとって至上命題

伝説に残る面接(まいベスト)

経歴にM$の文字、大丈夫かとおもってしまった

デバッグ環境を作ってきました

MBP(Windows

採用面接をしていたとおもったらいつの間にかデバッグのレクチャーを受けていたw

話の端々からにじみ出る確かな技術力

自分より能力のある人を雇うべき、それを実践してしまった

ソラリス上のndb_mgmのクラッシュをものの数分で解析してた

技術力スカウター爆発的なフリーザ様ぽいAAが。。

技術のある人は自由・オープンとわず居る、

welcome横道さん

でバトンタッチ

------------------

横道さん

1年前にオラクルのサポートチームにjoinしました

 

Mycrosoftの激務を12年ほど。それからOracle

デバッグがとくい

どうデバッグするか簡単なテクニックを紹介

 

NTSD(NTsymbol~

CDB(コンソールデバッガ

KD(カーネルデバッガ

WinDBG(全部いり)

VisualStudio(forアマチュア)

 

デバッグの前準備

コンソールのバッファを増やす、

ショートカットを右クリック

オプションの簡易編集モードを恩にする

レイアウト、幅をおおきくする

 

winではバイナリとシンボルが分かれてる

exeが実行、pdbがシンボルファイル

 

SETする

デモなにやってるかわからなかった残念

 

ここで時間切れ

------------------

 

今回も濃ゆくておもしろかったです。

では見て頂いてありがとうございました。

またそのうちに。