MySQL Clusterにおけるパーティション

http://nippondanji.blogspot.com/2009/04/distribution-awareness-mysql-cluster.html
Distribution Awarenessとは、「分散を意識してデータを格納する」といった感じの意味。平たくいうと、主キー以外のキーを用いて行を各データノードへ分散させるということである。これにより、データノードへのアクセス効率が格段に向上する。
データノード数が増えると・・・
・Distribution Awarenessが効いていないと性能が劣化する。
・Distribution Awarenessが効いていると性能がスケールする。
Distribution Awarenessを利用するには、テーブル定義とクエリの両方をチューニングする必要がある。
・CREATE TABLE … ENGINE NDB PARTITION BY KEY (userid);
・SELECT … WHERE … AND userid = 12345;
Distribution Awarenessが効いているかどうかを調べるには
・EXPLAIN PARTITIONS SELECT …G
で、partitionsで、パーティションがひとつだけ選択されていればOK

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です