割とよくやる使い方 20130419
TRANSCRIPT
割とよくやる使い方
レプリケーションスレーブでの分割
変更前構成図
バッチ処理が追いつかないようなケースがあった場合、
Master
DB
1.Get data
Master
DB Full-text
search replication
AP AP
Batch
2.Register Slave
DB
Slave
DB ……
Full-text
search ……
……
Batch ……
Crawler Crawler ……
again,
again…
Spider投入後の構成図
レプリケーションスレーブで分割を行い、
バッチ処理の並列性を高めるのにSpiderを使います。
こうすることで、特定の処理のパフォーマンスの改善のみに
フォーカスした分割を行うことができ、テスト工数も最小化できます。
Master
DB
Master
DB
Full-text
search
replication
AP AP
Batch
2.Register
Slave
DB
Slave
DB …
Full-text
search …
…
Batch …
Crawler Crawler …
DB
tbl_a
DB
tbl_a
DB
tbl_a
DB
tbl_a
DB
tbl_a
col_a%4=0
col_a%4=1 col_a%4=2
col_a%4=3 Data
sharding
by Spider
1.Get data
DB DB
tbl_a tbl_a
again, again…
replication
1.Get data
激しいログトラフィックをさばく
ログトラフィックをさばくためのサーバ構成図
まずBlackholeストレージエンジンのテーブルにログの書き込みを行い、
それをレプリケーションしてSpider経由で集計用のDBにかき集めます。
集計用DBにトリガを仕掛けて、
データの加工を合わせて行うということもよくやります。
AP
… Statistical
DB DB
AP
DB
tbl_a
DB
tbl_a
DB
tbl_a …
tbl_a tbl_a
1.Write log
2.Replication 3.Log data collecting
using Spider
Blackhole
… Trigger