OSSのカラム型データベースエンジン
MariaDB ColumnStore
ビッグデータ分析などに適した大規模並列処理に対応する
データベースエンジン* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

MariaDB について
• 「MySQL」から派生したオープンソースリレーショナルデータベース。
• MariaDBは、MySQLのオリジナルコード開発者である「Michael “Monty” Widenius」氏によって開発されている。
• 「MySQL」と「MariaDB」は、基本的にはほぼ同じ機能。

• 異なる点としては、ストレージエンジンの追加/変更 がされている。
（オプティマイザーとか、他にもあるけど。。。別な機会に）• MariaDBは、MySQLの標準ストレージエンジンに加え、多くのストレージエンジンを採用。
Aria、InnoDB/XtraDB、MyISAM、NDB、Archive、Memory、Federated-X、ColumnStore、Galera、Sphinx、TokuDB、Connect、Cassandra、Spider
本日は、MariaDB Column Store とSpider についての解説。

* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

昨今のDWH
ログデータ

IoT

分析用データベース

SQLで分析したい！！

カラムナー（列指向）データベース
並列処理* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

列指向データベースのメリット• 列指向とは?
• メリットは?
(シーケンシャルな)アクセス効率 + データ圧縮 = 分析基盤に向いている
Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

1ブロックには様々なタイプのデータが格納されているので圧縮効率を上げにくい

1ブロックには同様のタイプのデータが格納されているので圧縮効率を上げやすい* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

列指向データベースのデメリット• デメリットは?
一般的に(ランダムな)アクセスが非効率 + データ圧縮 = OLTP基盤に向いていない

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

Prod ID

Prod Name

Date

更新時に圧縮・展開のオーバーヘッドが大きい(*1)* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

データベースを稼働させるサーバの並列化システム構成といえば・・・• SMPシステム• MPPシステム* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

SMP
Symmetric Multi-processing「対称型マルチプロセッシング」• 物理メモリ共有型の並列コンピューティング方式• 一台の筐体内に複数のCPU（コア）を搭載したサーバ• CPU(コア）を増設することで処理能力を向上させる

CPU（コア）キャッシュ

CPU（コア）キャッシュ

CPU（コア）キャッシュ

CPU（コア）キャッシュ

スケールアップ！！

Bus

メモリ（RAM）* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

MPP
Massively Parallel Processing「超並列処理」• 複数の筐体（ノード）をネットワークで接続して並列計算する
クラスターシステム• それぞれのノードで独立したCPU、メモリ、OSが動作している• ノードを増設することで処理能力を向上させる
ネットワークCPU（コア）キャッシュ

CPU（コア）キャッシュ

CPU（コア）
キャッシュ

Bus

メモリ
（RAM）

CPU（コア）キャッシュ（専用高速ファブリック）

CPU（コア）
キャッシュ

Bus

Bus

メモリ
（RAM）

CPU（コア）キャッシュ

スケールアウト！！

メモリ
（RAM）

* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

MariaDB Column Storeの特徴
・MariaDB ColumnStore はMPP向けに設計されたカラム型
ストレージエンジン
・リニアにスケールアウト
・分析クエリーのリアルタイム処理に優れている
・カラム型ストレージエンジンの効率的なI/O・データの自動圧縮、解凍* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

MariaDB ColumnStoreの構成
MariaDB Column Store は分散超並列処理(MPP)向けに設計されたカラム型ストレージエンジンで、複数の異なるコンポーネントで構成され、連携して動作します。
ユーザー端末[ ユーザーモジュール ]・ SQLの解析と実行計画作成
・ データ配置の管理・ 結果セットの集約[ パフォーマンスモジュール ]

PM 1

PM 2

PM 3

・・・・
scale out

PM <N>

・ クエリ実行とキャッシュ管理
・ フィルタ/ジョイン処理・ リードとライト・ フェールオーバー

データストレージ(冗長化可)* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

ColumnStoreストレージアーキテクチャー・エクステントは物理的なセグメントファイル内に存在する論理ブロック
・エクステントマップにはエクステント及び対応するブロックを管理
・データの抽出と配置は、エクステントマップにより高速で処理される・リアルタイム解凍と圧縮・バージョンバッファーファイル（UNDO)

ーエクステントマップの仕組み

ー

SELECT COL1 FROM TABLE
WHERE COL1 BETWEEN 220 AND 250;
COL1

除外

Ext1
min 1
max 100
Ext2
min 101
max 200

処理Ext3
min 201
max 300

除外

Ext4
min 301
max 400

エクステントマップのイメージ
COL1のエクステントマップ

TABLE

Ext1 min 1 max 100 LBID
Ext2 min 101 max 200 LBID

COL1

Ext3 min 201 max 300 LBID
Ext4 min 301 max 400 LBID

800万件
800万件

※LBID 論理ブロック識別子

COL1フィルター：エクステント1,2,4を除外

800万件
800万件

エクステント3のみI/Oが発生する。
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

COL1

COL2

Ext1
min 1
max 100

Ext1
min 100
max 10000

Ext2
min 101
max 200

Ext2
min 10100
max 20000

除外

Ext3
min 201
max 300

Ext3
min 20100
max 30000

除外

Ext4
min 301
max 400

Ext4
min 30100
max 40000

SELECT COL1, COL2 FROM TABLE
WHERE COL1 BETWEEN 220 AND 250
AND COL2 < 10000;
除外

COL1フィルター：エクステント1,2,4を除外
COL2フィルター：エクステント3を除外
I/Oは発生しない。

エクステントマップのイメージ
COL1のエクステントマップ

TABLE

Ext1 min 1 max 100 LBID
Ext2 min 101 max 200 LBID

Ext1 min 100 max 10000 LBID

COL1

COL2

Ext3 min 201 max 300 LBID
Ext4 min 301 max 400 LBID

COL2のエクステントマップ
Ext2 min 10100 max 20000 LBID
Ext3 min 20100 max 30000 LBID

800万件

800万件

800万件

800万件

800万件

800万件

800万件

800万件

* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Ext4 min 30100 max 40000 LBID

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

デモ・InnoDB・ColumnStore Single
・ColumnStore PM x 2* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

デモ環境：InnoDB
デモマシン
・CPU 24 CORE
・メモリ 48G・SSD

TPCH
1 User10G

Query
1, 5, 7, 14, 15, 16

MariaDBEngine : InnoDB* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

デモ環境：ColumnStore Single
デモマシン
・CPU 24 CORE
・メモリ 48G・SSD

TPCH
1 User10G

Query
1, 5, 7, 14, 15, 16

MariaDB UM,PM
Engine : ColumnStore* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

デモ環境：ColumnStore PM x 2
デモマシン
・CPU 24 CORE
・メモリ 48G・SSD

TPCH
1 User10G

Query
1, 5, 7, 14, 15, 16
MariaDB UM

MariaDB PM
Engine : ColumnStore* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

Let’s DEMO !!

* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

デモ結果（実行例）* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

デモ結果（実行例）* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

TPC-H 全クエリでの比較

InnoDBではクエリ18が返ってこなかったため除外
ColumnStoreはInnoDBの約8倍！！
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

TPC-H 全クエリでの比較

ColumnStoreはInnoDBの約8倍！！
Columner XはColumnStore Singleの約10倍！！ （InnoDBの約80倍）（Columner X とは Actian Vector のこと）
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

次回は、こんなのやってみたいな。。

MariaDB UM

MariaDB PM
Engine : ColumnStore * 10台* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

Spider ストレージエンジンについて• Spider は、MariaDB、MySQLのストレージエン
ジン。
• 他のサーバにある、MariaDB,MySQL,Oracle DB、他のテーブルを、あたかもそのデータベースのにあるテーブルのように利用可能。
• テーブルのパーティションを定義する事により、複数のサーバにデータを分割する事が可能。
• MariaDB 10.0.4 から標準でバンドルされている。

* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

Spiderで出来る事• フェデレーション
他のサーバのテーブルをローカルサーバのテーブ
ルとして使用可能。
• シャーディング
テーブルを複数のサーバに分散する事が出来る。

* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

フェデレーション
MariaDB
Spider Engine<- select empno,ename,job,deptno from emp;

アプリケーションは、1つのデータベースに接続するだけで、データの場所を気にせず利用可能。

MariaDBMariaDB+-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7369 | SMITH | CLERK|
20 || 7499 | ALLEN | SALESMAN |30 || 7521 | WARD | SALESMAN |30 || 7566 | JONES | MANAGER |20 || 7654 | MARTIN | SALESMAN |30 || 7698 | BLAKE | MANAGER |30 || 7782 | CLARK | MANAGER |10 || 7788 | SCOTT | ANALYST |20 || 7839 | KING | PRESIDENT |10 || 7844 | TURNER | SALESMAN |30 || 7876 | ADAMS | CLERK|
20 || 7900 | JAMES | CLERK|
30 || 7902 | FORD | ANALYST |20 || 7934 | MILLER | CLERK|
10 |+-------+--------+-----------+--------+

MariaDB

EMP+-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------++--------+------------+----------+| 7369 | SMITH | CLERK|
20 || DEPTNO | DNAME| LOC|| 7499 | ALLEN | SALESMAN |30 |+--------+------------+----------+| 7521 | WARD | SALESMAN |30 ||10 | ACCOUNTING | NEW YORK || 7566 | JONES | MANAGER |20 ||20 | RESEARCH | DALLAS || 7654 | MARTIN | SALESMAN |30 ||30 | SALES| CHICAGO || 7698 | BLAKE | MANAGER |30 ||40 | OPERATIONS | BOSTON || 7782 | CLARK | MANAGER |10 |+--------+------------+----------+| 7788 | SCOTT | ANALYST |20 || 7839 | KING | PRESIDENT |10 || 7844 | TURNER | SALESMAN |30 || 7876 | ADAMS | CLERK|
20 || 7900 | JAMES | CLERK|
30 || 7902 | FORD | ANALYST |20 || 7934 | MILLER | CLERK|
10 |+-------+--------+-----------+--------+* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。
Copyright 2016 Insight Technology, Inc. All Rights Reserved.

DEPT

シャーディング
MariaDB +Spider Engine<- select empno,ename,job,deptno from emp;+-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7369 | SMITH | CLERK|
20 || 7499 | ALLEN | SALESMAN |30 || 7521 | WARD | SALESMAN |30 || 7566 | JONES | MANAGER |20 || 7654 | MARTIN | SALESMAN |30 || 7698 | BLAKE | MANAGER |30 || 7782 | CLARK | MANAGER |10 || 7788 | SCOTT | ANALYST |20 || 7839 | KING | PRESIDENT |10 || 7844 | TURNER | SALESMAN |30 || 7876 | ADAMS | CLERK|
20 || 7900 | JAMES | CLERK|
30 || 7902 | FORD | ANALYST |20 || 7934 | MILLER | CLERK|
10 |+-------+--------+-----------+--------+

アプリケーションは、1つのデータベースに接続するだけで、 全てのデータベースを透過的に利用可能

MariaDBMariaDBMariaDB

EMP

EMP

EMP

+-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7782 | CLARK | MANAGER |10 || 7839 | KING | PRESIDENT |10 || 7934 | MILLER | CLERK|
10 |+-------+--------+-----------+--------++-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7369 | SMITH | CLERK|
20 || 7566 | JONES | MANAGER |20 || 7788 | SCOTT | ANALYST |20 || 7876 | ADAMS | CLERK|
20 || 7902 | FORD | ANALYST |20 |+-------+--------+-----------+--------++-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7499 | ALLEN | SALESMAN |30 || 7521 | WARD | SALESMAN |30 || 7654 | MARTIN | SALESMAN |30 || 7698 | BLAKE | MANAGER |30 || 7844 | TURNER | SALESMAN |30 || 7900 | JAMES | CLERK|
30 |+-------+--------+-----------+--------+* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

シャーディングでのJOIN
MariaDB +Spider Engine<- select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e,dept dwhere e.deptno=d.deptno;

アプリケーションは、1つのデータベースに接続するだけで、 全てのデータベースを透過的に利用可能++-------+--------+-----------+--------+------------+| empno | ename | job| deptno | dname|+-------+--------+-----------+--------+------------+| 7782 | CLARK | MANAGER |10 | ACCOUNTING || 7839 | KING | PRESIDENT |10 | ACCOUNTING || 7934 | MILLER | CLERK|
10 | ACCOUNTING || 7369 | SMITH | CLERK|
20 | RESEARCH || 7566 | JONES | MANAGER |20 | RESEARCH || 7788 | SCOTT | ANALYST |20 | RESEARCH || 7876 | ADAMS | CLERK|
20 | RESEARCH || 7902 | FORD | ANALYST |20 | RESEARCH || 7499 | ALLEN | SALESMAN |30 | SALES|| 7521 | WARD | SALESMAN |30 | SALES|| 7654 | MARTIN | SALESMAN |30 | SALES|| 7698 | BLAKE | MANAGER |30 | SALES|| 7844 | TURNER | SALESMAN |30 | SALES|| 7900 | JAMES | CLERK|
30 | SALES|+-------+--------+-----------+--------+------------+

MariaDBMariaDB

EMP

EMP

EMP

+-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7369 | SMITH | CLERK|
20 || 7566 | JONES | MANAGER |20 || 7788 | SCOTT | ANALYST |20 || 7876 | ADAMS | CLERK|
20 || 7902 | FORD | ANALYST |20 |+-------+--------+-----------+--------++-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7499 | ALLEN | SALESMAN |30 || 7521 | WARD | SALESMAN |30 || 7654 | MARTIN | SALESMAN |30 || 7698 | BLAKE | MANAGER |30 || 7844 | TURNER | SALESMAN |30 || 7900 | JAMES | CLERK|
30 |+-------+--------+-----------+--------++-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7782 | CLARK | MANAGER |10 || 7839 | KING | PRESIDENT |10 || 7934 | MILLER | CLERK|
10 |+-------+--------+-----------+--------+

DEPT+--------+------------+----------+| DEPTNO | DNAME| LOC|+--------+------------+----------+|
10 | ACCOUNTING | NEW YORK ||20 | RESEARCH | DALLAS ||30 | SALES| CHICAGO ||40 | OPERATIONS | BOSTON |+--------+------------+----------+* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

MariaDB

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

データの更新
update EMP set DEPTNO = 20 where EMPNO=7839;
commit;select e.empno,e.ename,e.job,d.deptno,d.loc from emp e,dept d++-------+--------+-----------+--------+------------+
where e.deptno=d.deptno;| empno | ename | job| deptno | dname|+-------+--------+-----------+--------+------------+| 7782 | CLARK | MANAGER |10 | ACCOUNTING || 7839 | KING | PRESIDENT |20 | RESEARCH || 7934 | MILLER | CLERK|
10 | ACCOUNTING || 7369 | SMITH | CLERK|
20 | RESEARCH || 7566 | JONES | MANAGER |20 | RESEARCH || 7788 | SCOTT | ANALYST |20 | RESEARCH || 7876 | ADAMS | CLERK|
20 | RESEARCH || 7902 | FORD | ANALYST |20 | RESEARCH || 7499 | ALLEN | SALESMAN |30 | SALES|| 7521 | WARD | SALESMAN |30 | SALES|| 7654 | MARTIN | SALESMAN |30 | SALES|| 7698 | BLAKE | MANAGER |30 | SALES|| 7844 | TURNER | SALESMAN |30 | SALES|| 7900 | JAMES | CLERK|
30 | SALES|+-------+--------+-----------+--------+------------+

MariaDB +Spider Engine

XA 2PCMariaDB
EMP+-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7782 | CLARK | MANAGER |10 || 7839 | KING | PRESIDENT |10 || 7934 | MILLER | CLERK|
10 |+-------+--------+-----------+--------+

DEPT+--------+------------+----------+| DEPTNO | DNAME| LOC|+--------+------------+----------+|
10 | ACCOUNTING | NEW YORK ||20 | RESEARCH | DALLAS ||30 | SALES| CHICAGO ||40 | OPERATIONS | BOSTON |+--------+------------+----------+

MariaDBMariaDB

EMP

EMP+-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7369 | SMITH | CLERK|
20 || 7566 | JONES | MANAGER |20 || 7788 | SCOTT | ANALYST |20 || 7839 | KING | PRESIDENT |20 || 7876 | ADAMS | CLERK|
20 || 7902 | FORD | ANALYST |20 |+-------+--------+-----------+--------+* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

+-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7499 | ALLEN | SALESMAN |30 || 7521 | WARD | SALESMAN |30 || 7654 | MARTIN | SALESMAN |30 || 7698 | BLAKE | MANAGER |30 || 7844 | TURNER | SALESMAN |30 || 7900 | JAMES | CLERK|
30 |+-------+--------+-----------+--------+

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

複数サーバへの更新
update dept set LOC = 'TOKYO' where deptno=30;
insert into emp values(8000,’TOM','ANALYST',7566,'2017-05-12',1000,100,30);
commit;select e.empno,e.ename,e.job,d.deptno,d.loc from emp e,dept d +-------+--------+-----------+--------+----------+| empno | ename | job| deptno | loc|+-------+--------+-----------+--------+----------+
where e.deptno=d.deptno;| 7782 | CLARK | MANAGER |10 | NEW YORK |複数サーバへの更新は、Spiderの２フェーズ
コミットによって、一貫性が担保されます。
CommitがSpider内部で２フェーズ
コ
ミットに 変換されます。

| 7839 | KING | PRESIDENT |10 | NEW YORK || 7934 | MILLER | CLERK|
10 | NEW YORK || 7369 | SMITH | CLERK|
20 | DALLAS || 7566 | JONES | MANAGER |20 | DALLAS || 7788 | SCOTT | ANALYST |20 | DALLAS || 7876 | ADAMS | CLERK|
20 | DALLAS || 7902 | FORD | ANALYST |20 | DALLAS || 7499 | ALLEN | SALESMAN |30 | TOKYO|| 7521 | WARD | SALESMAN |30 | TOKYO|| 7654 | MARTIN | SALESMAN |30 | TOKYO|| 7698 | BLAKE | MANAGER |30 | TOKYO|| 7844 | TURNER | SALESMAN |30 | TOKYO|| 7900 | JAMES | CLERK|
30 | TOKYO|| 8000 | TMO| ANALYST |30 | TOKYO|+-------+--------+-----------+--------+----------+

MariaDB +Spider Engine

XA 2PCMariaDBMariaDB

EMP

EMP+-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7782 | CLARK | MANAGER |10 || 7839 | KING | PRESIDENT |10 || 7934 | MILLER | CLERK|
10 |+-------+--------+-----------+--------+

DEPT+--------+------------+----------+| DEPTNO | DNAME| LOC|+--------+------------+----------+|
10 | ACCOUNTING | NEW YORK ||20 | RESEARCH | DALLAS ||30 | SALES| TOKYO||40 | OPERATIONS | BOSTON |+--------+------------+----------+

MariaDB
EMP+-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7369 | SMITH | CLERK|
20 || 7566 | JONES | MANAGER |20 || 7788 | SCOTT | ANALYST |20 || 7876 | ADAMS | CLERK|
20 || 7902 | FORD | ANALYST |20 |+-------+--------+-----------+--------+* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

-------+--------+-----------+--------+| EMPNO | ENAME | JOB| DEPTNO |+-------+--------+-----------+--------+| 7499 | ALLEN | SALESMAN |30 || 7521 | WARD | SALESMAN |30 || 7654 | MARTIN | SALESMAN |30 || 7698 | BLAKE | MANAGER |30 || 7844 | TURNER | SALESMAN |30 || 7900 | JAMES | CLERK|
30 || 8000 | TOM| ANALYST |30 |+-------+--------+-----------+--------+

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

Spider の設定例
【サーバ情報の定義】
CREATE SERVER spidata1 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'spider', HOST '192.168.XX.100', PORT 3306);
CREATE SERVER spidata2 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'spider', HOST '192.168.XX.101', PORT 3306);
MariaDB [mysql]> select * from servers;+-------------+----------------+----+----------+----------+------+--------+---------+-------+| Server_name | Host
| Db | Username | Password | Port | Socket | Wrapper | Owner |+-------------+----------------+----+----------+----------+------+--------+---------+-------+| spidata1| 192.168.XX.100 || spider || 3306 || mysql||| spidata2| 192.168.XX.101 || spider || 3306 || mysql||+-------------+----------------+----+----------+----------+------+--------+---------+-------+
2 rows in set (0.00 sec)

【１対１ Spider テーブルの作成】
CREATE TABLE nation ( N_NATIONKEY INTEGER NOCREATE TABLE nation ( N_NATIONKEY INTEGER NOT NULL,
N_NAME
CHAR(25) NOT NULL,
N_REGIONKEY INTEGER NOT NULL,
N_COMMENTVARCHAR(152))
ENGINE = SPIDER DEFAULT CHARSET=utf8
comment 'server "spidata1", table "nation"’;* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

Spider の設定例

【１対多（シャーディング） Spider テーブルの作成】
CREATE TABLE orders ( O_ORDERKEYINTEGER NOT NULL,O_CUSTKEY
INTEGER NOT NULL,
O_ORDERSTATUS
CHAR(1) NOT NULL,O_TOTALPRICE
DECIMAL(15,2) NOT NULL,
O_ORDERDATEDATE NOT NULL,
O_ORDERPRIORITY CHAR(15) NOT NULL,
O_CLERKCHAR(15) NOT NULL,O_SHIPPRIORITY INTEGER NOT NULL,
O_COMMENTVARCHAR(79) NOT NULL)ENGINE = SPIDER DEFAULT CHARSET=utf8
partition by range (O_ORDERKEY)(PARTITION P1 VALUES LESS THAN (30000000) comment 'server "spidata1", table "orders"',
PARTITION P2 VALUES LESS THAN (60000000) comment ‘server “spidata2”, table “orders”’);* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

Spiderを使えばこんな事も出来るはず…..

OTHER* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

Spiderを使えばこんな事も出来るはず…..

to be continued
OTHER* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。
Copyright 2016 Insight Technology, Inc. All Rights Reserved.

* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.