Ryosuke Mori 20101223 3 baseball wikipedia wix AKB
動作例 Ryosuke Mori 2010/12/23 3
課題点 � サービスとして行う場合 サーバサイド クライアントサイド baseball wikipedia. wix AKB 48 actor. wix Ryosuke Mori 2010/12/23 6
アタッチの流れ baseball wikipedia. AKB 48. wix actor. wix ALL WIXファイル Findインデックス Find 結果 Find Select 結果 Select 1 Select 2 Rewrite Ryosuke Mori 2010/12/23 9
ライブラリ DB、WIXDB、Find. Index ライブラリDB WIXDB Find. Index v Ryosuke Mori 2010/12/23 11
ソースライブラリ RDBにXML形式でWIXファイルを保持 <wix> <header /> <body> <entry> <keyword>倉持明</keyword> <target>http: //ja. wikipedia. org/wiki/倉持明</target> </entry> <keyword>倉持明日香</keyword> <target>http: //ja. wikipedia. org/wiki/倉持明日香</target> </entry> … </body> </wix> Ryosuke Mori 2010/12/23 12
ライブラリマネージャ Ryosuke Mori 2010/12/23 13
WIX DB WIXテーブル wid w_domain version regtime … 1 //toyamalab. alpha/wikipedia. wix 3 2010 -11 -09 … 2 //mori. beta/AKB 48. wix 1 2010 -11 -13… 3 //mori. beta/baseball. wix 1 2010 -11 -13… 4 //yabu. beta/algorithm. wix 2 2010 -11 -15… 5 //shito. beta/4 jijukugo. wix 1 2010 -11 -13… … � RDBのテーブルにWIXフ ァイルの情報を保持 � 1エントリごとにバラバラ に � widによってブックマーク 情報のSelect � 共通id方式 entryテーブル wid eid keyword target 1 1 倉持明 http: //… 1 2 倉持明日香 http: //… 1 3 千葉県 http: //… 2 1 倉持明日香 http: //… 3 1 イチロー http: //… 3 2 倉持明 http: //… … Ryosuke Mori 2010/12/23 14
WIX DB(cont. ) WIXテーブル wid w_domain version regtime … 1 //toyamalab. alpha/wikipedia. wix 3 2010 -11 -09 … 2 //mori. beta/AKB 48. wix 1 2010 -11 -13… 3 //mori. beta/baseball. wix 1 2010 -11 -13… 4 //yabu. beta/algorithm. wix 2 2010 -11 -15… 5 //shito. beta/4 jijukugo. wix 1 2010 -11 -13… … usrテーブル uid name pass 1 mori 2 bookmarkテーブル bid name uid ****** 1 wikipedia yabu **** 2 3 shito ***** 3 hayashi ******* … … bid wid 1 1 1 AKB 48 1 2 2 3 study 2 3 4 4 sports 2 3 5 … … bookmark_wix テーブル Ryosuke Mori … 2010/12/23 15
挿入手法 • WIXファイルを新規に登録する場合 //yabu. beta/ algorithm. wix Ver 1 SQL ジェネレータ (COPY) algorithm. csv WIX DB • WIXファイルの更新の場合 //yabu. beta/ algorithm. wix Ver 1 //yabu. beta/ algorithm. wix Ver 2 now algorithm. csv update algorithm. csv Text diff SQL ジェネレータ Ryosuke Mori 2010/12/23 WIX DB 17
アタッチ処理(Find) Find. Index Entryテーブルから作成 wid eid keyword target 1 1 倉持明 http: //… 1 2 倉持明日香 http: //… 1 3 千葉県 http: //… 2 1 倉持明日香 http: //… 3 1 イチロー http: //… 3 2 倉持明 http: //… … Find結果 wid: eid: keyword: target: start: end Ryosuke Mori 2010/12/23 18
wid 1 アタッチ処理(Select 1) 1 1 eid 1 2 3 keyword target 倉持明日香 http: //… 千葉県 倉持明日香 http: //… bookmark_wix Wikipediaアタッチのbidを 1とする http: //… 2 1 http: //… 3 Select結果 1 イチロー wid: eid: keyword: target: start: end http: //… 3 2 倉持明 wid 1 1 2 2 3 3 … wix … bid w_domain version regtime 1 //toyamalab. alpha/wikipedia. wix 3 2010 -11 -09 … 2 //mori. beta/AKB 48. wix 1 2010 -11 -13… 3 //mori. beta/baseball. wix 1 2010 -11 -13… 4 //shito. beta/4 jijukugo. wix 1 2010 -11 -13… 5 //yabu. beta/algorithm. wix 2 2010 -11 -15… … Ryosuke Mori 2010/12/23 … 19
アタッチ処理(Rewrite) wid eid keyword target 1 1 倉持明 http: //… 1 2 倉持明日香 http: //… 1 3 千葉県 http: //… 2 1 倉持明日香 http: //… 3 1 http: //… Select結果 イチロー http: //… 3 wid: eid: keyword: target: start: end 2 倉持明 … bookmark_wix AKB 48アタッチのbidを2とする bid wid 1 1 2 2 3 4 3 5 … Ryosuke Mori 2010/12/23 20
評価実験 � ◦ ◦ ◦ WIXコンパイラにおける差分更新手法の検討 100000エントリのWIXファイル 1, 10000, 20000, 30000, 50000, 80000, 100000件の更新 差分更新と全件削除→全件挿入の比較 実行環境 � ◦ ◦ CPU Intel® Xeon® Processor X 5355 2. 66 GHz メインメモリ 16 GB HDD 133 G DBMS Postgre. SQL 8. 4. 4 Ryosuke Mori 2010/12/23 21
処理時間 40000 (msec) 35000 その他 30000 その他更新 25000 差分更新 20000 COPY 15000 DELETE 10000 Text. Diff 5000 図1 更新処理時間比較Ryosuke Mori 2010/12/23 新 更 件 更新件数 (件) 全 10 00 0 80 00 0 50 00 0 40 00 0 30 00 0 20 00 0 10 0 1 0 0 カノニカルフォーム 化 パース 22
エントリ更新時間 処理時間 (msec) 35000 30000 25000 20000 差分更新 15000 全件更新 10000 5000 0 0 20000 40000 60000 80000 更新件数 100000 (件) 図1 エントリ更新時間比較 Ryosuke Mori 2010/12/23 23
- Slides: 25