はてな流大規模データ処理

KOF 2008 の発表資料 – naoyaのはてなダイアリー

はてな流大規模データ処理の発表資料を見てたら、データベースのパーティショニングを前提とした設計、というのが載っていて興味を引きました。

普通にテーブルが分かれている場合、JOINを使って、

mysql> select url from entry INNER JOIN bookmark on entry.eid = bookmark.eid
-> where bookmark.uid = 169848 limit 5;

こんな感じでSQL文を発行しますが、テーブルがパーティショニングで分けられている場合、

mysql> select eid from bookmark where uid = 169848 limit 5;
+—–+
| eid |
+—–+
| 0 |
| 4 |
| 5 |
| 6 |
| 7 |
+—–+
5 rows in set (0.01 sec)

mysql> select url from entry where eid in (0, 4, 5, 6, 7);

こう、JOINせずに求めるという・・・。力業ですね(^_^;)
まだパーティショニングしたことないですが、こうなりますよねー。やはり。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください