More Related Content
Similar to dbts2013:MariaDB Galera Cluster 活用例
Similar to dbts2013:MariaDB Galera Cluster 活用例 (20)
dbts2013:MariaDB Galera Cluster 活用例
- 4. MariaDBってなに?
• MySQL派生のオープンソースデータベース。
• MySQL ABの創設者 Michael "Monty" Widenius氏
が立ち上げたプロジェクト。
• MySQL5.5とMariaDB5.5はほぼ同じだけど、次バー
ジョンのMySQL5.6とMariaDB10はだいぶ異なる。
• これはMariaDB5.5の次期バージョン(現在はベータ
バージョン10.0.5がリリースされています)では、
MySQL5.6と同じ機能を移植、あるいは別実装する
予定だがMySQL5.6には無い新機能を備えたリリー
スを行うのでMariaDB5.6としてはリリースしないとのこ
とらしいです。
4
- 7. MySQL/MariaDB機能比較
機能
Multi-source Replication
NoSQL Cassandra Storage Engine
NoSQL Handlersocket interface
NoSQL memcache interface
Dynamic Columns
Virtual Columns
Join Optimizations
Engine Independent Statistics
SHOW EXPLAIN of running thread
Explain improvements
Global Transaction ID
Online Alter Table
Parallel Slave Threads
Partitioning Improvement
InnoDB Improvements
Performance Schema Improvements
Optimizer Enhancements
Binlog Group Commit
Disk Access Optimizations
Subquery Optimizations
MySQL
5.5
-
MariaDB
5.5
✓
✓
✓
✓
✓
✓
✓
✓
MySQL
5.6
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
MariaDB
10.0.5(β)
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
※ http://www.ashisuto.co.jp/product/category/database/mysql/#tab4
7
- 8. MariaDB Galera Cluster とは
• MariaDBとCodership社が開発するGalera Replicationを
組み合わせたもの。
+
=
• 特徴
–
–
–
–
–
完全同期型のレプリケーション
アクティブ/アクティブのマルチマスター構成
全ノードに対してRead/Writeが可能
ノード追加/削除を自動で行える
クライアントからみれば普通のMySQLに見える
8
- 9. MariaDB Galera Clusterを触ったきっかけ
• さくらインターネット研究所さんの"MariaDB Galera
Clusterを試す(1)~(3)"という記事を読んだのがきっか
け。
– http://research.sakura.ad.jp/2013/02/14/mariadb-galera-cluster-1/
※ ここで紹介されている内容通りに実施すれば環境が作れます。
• 他にも以下の記事が非常に参考になりました
ので紹介です。
– http://dogmap.jp/2013/02/21/mariadb-galera-cluster/
– http://tech.gmo-media.jp/post/41837346333/starting-galera
9
- 10. MySQL Clusterとは違うの?
• 全くの別物です。
MariaDB Galera Cluster
MySQL Cluster
APノード
Galera Replication
・完全同期型レプリケーション
・DBサーバを増やすだけでスケールアウト
・特殊なストレージエンジンは使用しない
がInnoDBしか今のところ使えない
データ
ノード
・階層型のインメモリDB
・NDBという特殊なストレージエンジン
を使用する。MySQLの知識が通用しない
10
- 12. 同期レプリケーション
BEGIN
Node 1
COMMIT(REQ)
Statements
COMMIT(ACK/returns)
Commit response time
time
WS Replication event
COMMIT or
Rollback
OK or Conflict
Node 2
WS
time
Certification
Node 3
Trunsaction applied
(Virtually synchronous)
Apply event
Trunsaction applied
(Virtually synchronous)
WS
time
Certification
Apply event
ALL Nodes 100% sync
※ http://www.slideshare.net/Severalnines/galera-cluster-for-mysql-introduction-slides
12
- 13. ノード追加
Step 1
Node 1
Node 2
Step 2
Node 1
MariaDB
'Joiner' Node 3
MariaDB
MariaDB
Node 2
MariaDB
'Joiner' Node 3
MariaDB
MariaDB
SST Request
※ State Snapshot Transfer スクリプト
Step 3
Node 1
Node 2
MariaDB
Step 4
Node 1
MariaDB
'Joiner' Node 3
rsync send
MariaDB
※ Node2は"doner mode"になり、書込みが
ブロックされます。
Node 2
MariaDB
MariaDB
Node 3
MariaDB
Catch Up
13