32. Spiderの「DB sharding」
col_a%3=0 col_a%3=1 col_a%3=2
tbl_a tbl_a tbl_a
DB1 DB2 DB3
3.Choose a connection and get data
tbl_a tbl_a tbl_a
DB DB DB
2.Request 4.Response
AP1
from application AP2
to application AP3
1.Request 5.Response
from client to client
Spiderの「DB sharding」は
tbl_a.col_a = 1
データ増加に伴うパフォーマンス低下問題を解決します。
38. Sagool.tvの変更前構成図
Master Master
DB DB Crawler Crawler ……
replication
…… Slave Slave Full-text Full-text ……
DB DB search search
1.Get data 2.Register again,
again…
…… ……
AP AP Batch Batch
バッチ処理は、毎日全文インデックスを生成する必要があります。
40. SPIDER利用後のSagool.tvの構成図
…
Master Master replication tbl_a Crawler Crawler
DB DB
DB
replication col_a%4=0 col_a%4=3 Full-text Full-text …
Data search search
tbl_a sharding tbl_a again, again…
… Slave Slave
by Spider
DB DB DB DB
2.Register
1.Get data
tbl_a tbl_a
tbl_a tbl_a DB DB
… DB DB …
AP AP Batch Batch
col_a%4=1 col_a%4=2
1.Get data
まず、Spiderを利用したスレーブDBと
4つのリモートDBを追加しました。
次に、バッチサーバにSpiderを利用したMySQLを追加しました。
44. KADOKAWord.jp: ログサーバ構成図
… tbl_a tbl_a
DB DB 3.Log data collecting
2.Replication using Spider
replication
tbl_a tbl_a Blackhole tbl_a
DB DB Statistical
… 1.Write log DB
AP AP
現在、
急激なログトラフィックがあっても、問題は発生していません。
46. Spider導入前構成
…… ……
AP AP AP AP
LVS
Slave Slave
DB DB Register new statistical rules
replication from batch server
Master
Batch
DB
このシステムでは、バッチ処理が毎日新しい統計結果で、
広告配信のルールを更新する必要があります。
48. Spider導入後構成
…… AP AP AP AP ……
with Spider with Spider with Spider with Spider
Spider sharding
LVS LVS LVS
SlaveDB SlaveDB SlaveDB SlaveDB SlaveDB SlaveDB
replication replication replication
MasterDB MasterDB MasterDB
Spider sharding Register new
statistical rules from batch server
SpiderDB
(MySQL with Spider) Batch
彼らは、データベースの分割の単位で
レプリケーションを構成するという手法を
採用しました。
52. Any Questions?
Thank you for taking
your time!!
Kentoku SHIBA (kentokushiba at gmail dot com)
http://wild-growth.blogspot.com/
http://spiderformysql.com