Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MySQL Cluster7.2 #TechLunch

MySQL Cluster7.2 #TechLunch

2012/06/06(水) @ Livesense TechLunch
発表者:福田 絵里

E60aa4f80303f3f386898546ddb3686a?s=128

Livesense Inc.
PRO

April 23, 2014
Tweet

Transcript

  1. MySQL Cluster 7.2

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

    高可用性
  3. None
  4. Features ・SQLまたは固有のAPI(Java/C++)によるアクセス → NewSQL ・高速なインメモリ型テーブル ・容量が必要な場合のディスク型テーブル ・アクティブ‐アクティブなクラスタ構成 ・シェアードナッシングアーキテクチャ ・ACID準拠のトランザクション ・行レベルロック

    ・ビルトインのHA機能 ・ノードの台数に応じた高い並列処理 ・オンラインバックアップ ・オンラインスキーマ変更 ・オンラインノード拡張 ・オンライン(ローリング)アップグレード・ダウングレード ・レプリケーション ・スキーマ、データの同期自動化
  5. 「NewSQL」 = NoSQL + RDBMS <NoSQLインターフェース>    NewSQL SQLでも、NoSQLでも、同一のデータを扱う NDB

    API memcached API (7.2から)
  6. インメモリ型テーブル・ディスク型テーブルのハイブリッド ※種類 In-memory ディスク型テーブル 大容量データ インメモリ型テーブル 高速、高トランザクション   (ex. TimesTen by

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

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

    nothing architecture
  9. 7.1 → 7.2 (2012/02/15 正式版公開) ・joinが70倍高速 (Adaptive Query Localizationによる) ・Memcached

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

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

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

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

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

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

  16. Data Nodes モジュール ・ndbd(シングルスレッド版) ・ndbmtd(マルチスレッド版) 行ごとに複数の各データノードへ振り分け 役割 ・トランザクションの実行 ・並列スキャン ・データの複製

    ・チェックポイント処理 ・ハートビート監視、  フェイルオーバー
  17. SQL Nodes SQLによるリクエストを処理 通常のmysqldにNDBCLUSTERストレージエンジンが 組み込まれたもの

  18. ◦レプリケーション MySQL Cluster-> MySQL Cluster MySQL Cluster-> MySQL ◦バックアップ 常にフルバックアップ

    Replication, Backup
  19. Next MySQL Cluster 7.2 as NoSQL