Slide 1

Slide 1 text

MySQL Cluster 7.2

Slide 2

Slide 2 text

Introduction MySQL Cluster : 分散型リアルタイムデータベース管理システム   高いスループット・拡張性・可用性を実現 複数のサーバーで同時に更新と参照を行える 既存のアプリとSQLの互換性を保てる 99.999%の 高可用性

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Features ・SQLまたは固有のAPI(Java/C++)によるアクセス → NewSQL ・高速なインメモリ型テーブル ・容量が必要な場合のディスク型テーブル ・アクティブ‐アクティブなクラスタ構成 ・シェアードナッシングアーキテクチャ ・ACID準拠のトランザクション ・行レベルロック ・ビルトインのHA機能 ・ノードの台数に応じた高い並列処理 ・オンラインバックアップ ・オンラインスキーマ変更 ・オンラインノード拡張 ・オンライン(ローリング)アップグレード・ダウングレード ・レプリケーション ・スキーマ、データの同期自動化

Slide 5

Slide 5 text

「NewSQL」 = NoSQL + RDBMS <NoSQLインターフェース>    NewSQL SQLでも、NoSQLでも、同一のデータを扱う NDB API memcached API (7.2から)

Slide 6

Slide 6 text

インメモリ型テーブル・ディスク型テーブルのハイブリッド ※種類 In-memory ディスク型テーブル 大容量データ インメモリ型テーブル 高速、高トランザクション   (ex. TimesTen by Oracle, MySQL MEMORY engine, solidDB by IBM, MemSQL) ハイブリッド型 (ex. Altibase)

Slide 7

Slide 7 text

アクティブ・アクティブなクラスタ構成  各ノードがアプリケーション処理作業を共有   障害発生時には他のノードのバックアップ   (自動フェールオーバー)  データは複数のノードに記録される Active-Active アクティブ‐アクティブ構成 アクティブ‐パッシブ構成 ※種類

Slide 8

Slide 8 text

シェアートナッシングアーキテクチャ  = 各ノードがリソースを共有していない 共有ディスク、共有メモリなし 単一障害点(single point of failure)なし 高いスケーラビリティ shared nothing architecture

Slide 9

Slide 9 text

7.1 → 7.2 (2012/02/15 正式版公開) ・joinが70倍高速 (Adaptive Query Localizationによる) ・Memcached API搭載 Release Note

Slide 10

Slide 10 text

●複数のコンピュータを使って構成 → RDBMSよりも管理が難しめ ●日本語の解説書がなかった   (「MySQL Cluster構築・運用バイブル」2012/04/25 初版) ●一般的なMySQLの知識が完全に通用するわけではない Demerits

Slide 11

Slide 11 text

初期:電気通信分野で利用される ・マピオンモバイルの顧客管理データベース(2009/04) ・NEC モバイルインターネットプラットホーム(3G、顧 客バックエンドシステム、認証、アクセス制御、メッ セージ制御、課金処理) ・楽天証券のMarketSpeed ・Nokia, Alcatel-Lucent, Glassfish Open Message Queue (OpenMQ) Example

Slide 12

Slide 12 text

ベンチャー企業のAlzato社が開発 「NDB」という名称  スウェーデンのEricsson社がテレコムユーザー向けに 開発  →元々は通信業界向けに開発されたもの 旧MySQL ABに買収される  MySQLのストレージエンジン NDBCLUSTER が誕生 History

Slide 13

Slide 13 text

複数ホストが協調  全体でひとつのRDMBS Components

Slide 14

Slide 14 text

ノード:MySQL Clusterを構成するプロセス  別々のホスト上で実行  MySQL ProxyやConnector/Jの機能を使って分散処理可能 ●管理ノード:クラスタ全体の設定や管理 ●データノード:データ格納 ●SQLノード:MySQL Server (SQL解析、ソート、結果送信) MySQL Cluster Architecture 最大ノード数:255 最大データノード数:48

Slide 15

Slide 15 text

 このノードからほとんどすべての操作、状態確認が可能  config.iniの設定値を伝搬  デーモンプロセス:ndb_mgmd  ポート(デフォルト):1186 Management Nodes

Slide 16

Slide 16 text

Data Nodes モジュール ・ndbd(シングルスレッド版) ・ndbmtd(マルチスレッド版) 行ごとに複数の各データノードへ振り分け 役割 ・トランザクションの実行 ・並列スキャン ・データの複製 ・チェックポイント処理 ・ハートビート監視、  フェイルオーバー

Slide 17

Slide 17 text

SQL Nodes SQLによるリクエストを処理 通常のmysqldにNDBCLUSTERストレージエンジンが 組み込まれたもの

Slide 18

Slide 18 text

○レプリケーション MySQL Cluster-> MySQL Cluster MySQL Cluster-> MySQL ○バックアップ 常にフルバックアップ Replication, Backup

Slide 19

Slide 19 text

Next MySQL Cluster 7.2 as NoSQL