#tlstudy tokyoLinuxStudy 03 の抽出

tokyoLinuxStudy 03〜MySQLはHandlerSocketとSpiderがビールの会〜 日時: 2011/09/06 18:30-21:30 会場: 株式会社IDCフロンティア 本社 カスタマーソリューションセンター (東京都新宿区四谷4-29) タグ: #tlstudy 続きを読む
10
前佛 雅人 - Masahito Zembutsu @zembutsu

tokyoLinuxStudy 03 MySQLはHandlerSocketとSpiderがビールの会 ハジマタ #tlstudy ( #tlstudy live at http://t.co/BQRMXvn)

2011-09-06 19:06:09
@nagi2100

樋口さんのHandlerSocketについて開始 #tlstudy

2011-09-06 19:06:55
@nagi2100

HandlerSocketはMySQLのNoSQLなInterface。ただしNoRDBではない #tlstudy

2011-09-06 19:07:49
株式会社リンク広報担当 @LINK_PR

仲良くさせていただいてまーす! “@hiroohi: IDCフロンティアさんとAT-LINKさんって関連があるのでしたっけ? #tlstudy

2011-09-06 19:09:11
@nagi2100

InnoDB等のストレージエンジンへの非SQLインタフェースを提供。それ自体がサーバで、TCP/IPでリクエストを受け付ける。プロトコルは独自。C++とPerlのクライアントライブラリがある。Linuxに最もチューニングされている。BSDライセンス。 #tlstudy

2011-09-06 19:10:02
Ryousuke_Wayama @wayama_ryousuke

misamでも動きましたが、テーブルロックがかかるためあまりお勧めできません。 #tlstudy

2011-09-06 19:10:33
MATSUO a.k.a マッツォ @understeer

インストール方法は3つ。ソース(from GitHub)、Spider For MySQL同梱のものを使う(原型をとどめてないらしいw)、Percona Serverに同梱されているもの。#tlstudy

2011-09-06 19:10:56
@nagi2100

入手方法①ソースからビルド②SpiderforMySQLに同梱(かなり斯波さんの手が入っている) #tlstudy

2011-09-06 19:11:07
Hirotomo Oi @hiroohi

Spiderの中にHandlersocketのカスタマイズ版が入ってる。「原型をとどめてない」w #tlstudy

2011-09-06 19:11:35
MATSUO a.k.a マッツォ @understeer

同時接続数 65536本くらいまでいける、だ、、、と? #tlstudy

2011-09-06 19:12:26
Ryousuke_Wayama @wayama_ryousuke

同時接続数は確かにすごかった。どちらかというと一回あたりの接続コストがかなり安いことが重要かも #tlstudy

2011-09-06 19:14:00
@nagi2100

MySQLはSQLをパースする処理周辺がボトルネックになることがあるが、HandlerSocketはリクエストを集約実行したりパイプライン化できる。クライアントライブラリも速い。 #tlstudy

2011-09-06 19:14:09
@nagi2100

HandlerSocketに向いているケース:データサイズが小さくメモリに乗る場合、単純なクエリで、サーバCPUやトラフィックがネックの場合、同時接続数が多すぎる場合 #tlstudy

2011-09-06 19:15:28
MATSUO a.k.a マッツォ @understeer

HandlerSocket。サーバのCPUネックになっている場合に効果的。パースとかを減らす。 ( #tlstudy live at http://t.co/DAO3RjG)

2011-09-06 19:15:55
Ryousuke_Wayama @wayama_ryousuke

CPUやIOがネックの場合はhsには不向き。 #tlstudy

2011-09-06 19:16:41
@nagi2100

HandlerSocketに不向きな場合:クエリが複雑、クエリ1回あたりのCPU使用量が多い、データサイズが大きくディスクI/Oがネックになる #tlstudy

2011-09-06 19:17:00
@nagi2100

性能の目安(参照系):libmysql<HandlerSocket<HandlerSocket(pipelined)<HandlerSocket(pipelined/AHI有効) #tlstudy

2011-09-06 19:19:02
MATSUO a.k.a マッツォ @understeer

write-back cache or SSDで更新系だとレプリカしても 30kqps。書き込みはシリアライズしてシングルスレッドなのでレプリカが遅延しない。 #tlstudy

2011-09-06 19:21:02
@nagi2100

更新系にHandlerSocketを使うメリット:マスターDBからのレプリケーションが追いつかない場合。HandlerSocketは複数のクエリを1トランザクションにまとめて実行するのでシングルスレッドでのレプリケーションでもちゃんと追いつく #tlstudy

2011-09-06 19:21:37
MATSUO a.k.a マッツォ @understeer

HandlerSocket:範囲取得や、IN的な取得が可能。#tlstudy

2011-09-06 19:22:03
Hirotomo Oi @hiroohi

HSはindexを使った行取得、範囲取得、INみたいな取得 #tlstudy

2011-09-06 19:22:33
@nagi2100

参照系も更新系も機能が絞られているのか…まぁそれがNoSQLというものであって、だからこそ性能が出るのだろうけど… #tlstudy

2011-09-06 19:23:06
1 ・・ 6 次へ