#tlstudy tokyoLinuxStudy 03 の抽出

tokyoLinuxStudy 03〜MySQLはHandlerSocketとSpiderがビールの会〜 日時: 2011/09/06 18:30-21:30 会場: 株式会社IDCフロンティア 本社 カスタマーソリューションセンター (東京都新宿区四谷4-29) タグ: #tlstudy 続きを読む
10
前へ 1 2 ・・ 6 次へ
MATSUO a.k.a マッツォ @understeer

HandlerSocket: AtmicなIncrement/Decrementが可能。だけどトランザクションは非サポート。 #tlstudy

2011-09-06 19:23:40
Hirotomo Oi @hiroohi

hs更新系は参照でゲットした行の更新やインサート。トランザクションは非対応 #tlstudy

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

HandlerSocketは排他的ではない。SQLからもアクセスできる。 #tlstudy

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

HandlerSokectの更新ログはbinlog(row_base)。#tlstudy

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

HandlerSocket: TIMESTAMP型は、未対応。将来的に実装するかもしれない、とのこと。 #tlstudy

2011-09-06 19:26:38
dupont @dupont_kedama

トリガは将来的にもサポートしない #handlersocket #tlstudy

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

Tips: HandlerSocketの接続を切るまで、テーブルを開きっぱなしになる。#tlstudy

2011-09-06 19:27:17
ふぁくとり〜さん @factory_ay

SQLクエリとの共存は非常に素晴らしい。大量の更新処理と、複雑な読みだしSQLの共存とか。シリアル型対応使えるし・・・Timestamp非対応は、クライアントで何とかしろと #tlstudy

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

HandlerSocketとSQLの両方から同一DBを更新すると、デッドロックすることがある。 SELECT GET_LOCK, SELECT RELEASE_LOCK というアドバイザリーロックを使って回避するなど。 #tlstudy

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

ドライバ: libhsclient (by C++) 、Net:HandlerSocket (by perl)ほか、PHP,Javaなど。 #tlstudy

2011-09-06 19:29:59
Hirotomo Oi @hiroohi

MobageはMyDNSでMySQL負荷分散 #tlstudy

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

アプリサーバがMyDNSサーバからMySQLサーバのリストを取得してくる・1台をランダム選択しクエリ実行・エラーが出たら次を試す #tlstudy

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

MyDNSで、重み付けランダムor Consistent Hashingでサーバを選べる。後者はしらなんだ。#tlstudy

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

DB接続はなるべく持続する。HandlerSocketは30秒つなぎっぱなし。 #tlstudy

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

サーバリストの各エントリには重みが指定可能・10秒に1度の頻度で取得・ランダムまたはconsistenthashingでサーバを決定・DB接続はなるべく持続・アプリ自体がリトライする仕組みを持っている・DBサーバ以外も同じ仕組みで負荷分散冗長化 #tlstudy

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

DBが死んだ時のリトライはアプリ側で実装。#tlstudy

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

やっぱりHAよりはアプリ側で障害を吸収できるような仕組み入れるのが吉なのか…某ニフニフの人も言ってたけど #tlstudy

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

Mobageの仕組みの一部(かなり?)が、HandlerSocketのソースに入っている。 接続持続、リトライなど。 #tlstudy

2011-09-06 19:36:50
ふぁくとり〜さん @factory_ay

Mobageでエラーリトライ処理の中身がHandlrSocketのソースにあるらしい・・・これは読もう是非読もう。こういうのって一度作れば凄く便利ですが、安定するまでめんど臭いんですよね・・・ #tlstudy

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

次は、斯波 さんによる HandlerSocket-Spider-HandlerSocket-InnoDB など。 #tlstudy

2011-09-06 19:38:52
Ryousuke_Wayama @wayama_ryousuke

javaのクライアントhs4jにも持続接続、リトライの仕組みが入っておりました。 #tlstudy

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

Spider Storage EngineとHandlerSocketについて。#tlstudy

2011-09-06 19:39:41
railute @railute

この構成だと瞬間的には待ちが出る気がする。あと実装側のスキルコストが高いよなぁ。 #tlstudy

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

Spier Storage EngineはMySQLのストレージエンジンの1種。 複数のDBのテーブルを束ねて一つのテーブルとして使えるもの。 GPLライセンス。#tlstudy

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

Spiderストレージエンジンとは、MySQLのストレージエンジンの一種。複数のDBサーバにあるテーブルを束ねて、1つのテーブルとして利用できる。クラウド環境で増え続けるデータを分割して管理しつつ1つとして利用することができる #tlstudy

2011-09-06 19:41:01
前へ 1 2 ・・ 6 次へ