SPIDERストレージエンジンの使いかた

■ノード構成
n1・・・SPIDERノード
n2・・・SPIDERノード
n3・・・SPIDERノード
n4・・・SPIDERノード
n5・・・データノード
n6・・・データノード
n7・・・データノード
n8・・・データノード
■HASHパーティショニング
データノードにデータ格納用テーブル作成。

$ cd ~/sandboxes/multi_msb_5_1_44
$ ./n5 spider_test -e "CREATE TABLE salaries (
  emp_no int(11) NOT NULL,
  salary int(11) NOT NULL,
  from_date date NOT NULL,
  to_date date NOT NULL,
  PRIMARY KEY (emp_no,from_date),
  KEY emp_no (emp_no)
) ENGINE=InnoDB DEFAULT CHARSET=utf8"
^5^6
^6^7
^7^8

SPIDERノードでリンクを張る。

$ ./n1 spider_test
$ CREATE TABLE salaries (
  emp_no int(11) NOT NULL,
  salary int(11) NOT NULL,
  from_date date NOT NULL,
  to_date date NOT NULL,
  PRIMARY KEY (emp_no,from_date),
  KEY emp_no (emp_no)
) ENGINE=SPIDER DEFAULT CHARSET=utf8
PARTITION BY HASH(emp_no) (
PARTITION p1 COMMENT 'server "n5", table "salaries"',
PARTITION p2 COMMENT 'server "n6", table "salaries"',
PARTITION p3 COMMENT 'server "n7", table "salaries"',
PARTITION p4 COMMENT 'server "n8", table "salaries"'
);

データのロード
localhost:3306にMySQL公式のemployeesデータベースを格納しておく。

n1 mysql> CREATE TABLE salaries_datasource (
  emp_no int(11) NOT NULL,
  salary int(11) NOT NULL,
  from_date date NOT NULL,
  to_date date NOT NULL,
  PRIMARY KEY (emp_no,from_date),
  KEY emp_no (emp_no)
) ENGINE=SPIDER DEFAULT CHARSET=utf8
CONNECTION 'host "127.0.0.1", port "3306", user "user", password "password", database "employees", table "salaries"';
n1 mysql> insert into salaries select * from salaries_datasource;

動作確認

$ cd ~/sandboxes/multi_msb_5_1_44
$ ./n1 spider_test
n1 mysql> select * from salaries;
省略
| 499999 |  67043 | 1998-11-30 | 1999-11-30 |
| 499999 |  70745 | 1999-11-30 | 2000-11-29 |
| 499999 |  74327 | 2000-11-29 | 2001-11-29 |
| 499999 |  77303 | 2001-11-29 | 9999-01-01 |
+--------+--------+------------+------------+
2844047 rows in set (12.78 sec)

というようにSPIDERノードだけで操作が完結する。

コメントを残す

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