「mysql cluster...
TRANSCRIPT
MySQL Clusterとは?
• MySQLとは開発ツリーの異なる別製品
• 共有ディスクを使わずに、アクティブ-アクティブのクラスタ構成が組めるインメモリデータベース (一部のデータはディスクに格納することも可能)
• 元々はSQLを使わないデータベースだったが、MySQL
と統合されSQLも使えるようになった(NoSQL(KVS)とSQLの両方が使えるデータベース)
– MySQL Clusterの基礎となる技術は、通信機器ベンダのエリク
ソンで携帯通信網の加入者データベース向けに開発されたEricsson Network DataBase(NDB)と呼ばれていた技術
MySQL Clusterが向いているシステム
• 高可用性が求められるシステム
– 携帯電話の通信インフラを支えるために開発された技術がベース
– 単一障害点が無い構成
– 障害発生時に、アプリケーションは処理をリトライすれば存続したノードで処理を継続
• 同時多発的に大量のトランザクションが発生するシステム
– サーバー台数を増加することで負荷分散可能
• 参照処理だけでなく、更新処理に対しても拡張性が求められる
システム
– 自動的にデータをシャーディングし、更新処理についても負荷分散可能
MySQL Clusterを構成する3種類のノード
• データノード
– データ、インデックスを管理し、トランザクションを制御するノード
– MySQL Clusterの中核となるノード
• アプリケーションノード(SQLノード) – アプリケーションとデータノードをつなぐインターフェースとなる
ノード
– SQLで処理する場合は、MySQL Serverが稼働する
• 管理ノード
– MySQL Cluster全体を管理するノード
– 各ノードの設定管理、クラスタ全体の起動/停止、オンラインバックアップ、など
MySQL Cluster による高可用システム運用ガイド
• MySQL Cluster初心者へのチュートリアルとなるように、
MySQL Clusterの特徴などの解説に加え、インストール方法、基本操作方法などをコマンド付きで解説した書籍
• 2016年3月25日発行
• 紙の本だけでなく、電子版もあり http://book.impress.co.jp/books/1115101123
• 書籍中のコマンドをこちらから
ダウンロード可能
MySQL Cluster による高可用システム運用ガイド
• 目次 – はじめに
– 第1章 MySQL Clusterの特徴とアーキテクチャ
– 第2章 MySQL Clusterのインストールと基本的な設定および操作
– 第3章 MySQL Clusterの主要な設定、設定変更時の注意点
– 第4章 MySQL Clusterのバックアップ/リストアの仕組み
– 第5章 MySQL Clusterのバックアップ/リストアの具体例
– 第6章 MySQL Clusterのサイジング
– 第7章 MySQL Clusterにおけるレプリケーションの基礎
– 第8章 MySQL Clusterにおけるレプリケーションの環境構築例
– 第9章 MySQL Clusterにおけるチューニングの基礎
– 第10章 Distribution Awarenessとパーティショニングテーブルを
活用したチューニング
MySQL Cluster 7.5の主な改善点
• MySQL 5.7との統合
– JSONデータ型、 Generated Columnなどの新機能が
MySQL Clusterでも使用可能に!
• ndbinfoの拡張
– パラメータの確認、ロックの確認などが容易に
• レプリケーション関連テーブルのInnoDB化
– ndb_binlog_index
• テーブル参照性能の向上
– READ_BACKUP
– FULLY_REPLICATED
テーブル参照性能の向上(READ_BACKUP)
• MySQL Cluster 7.4までは、全てでのデータはプライマリのセグメントからのみ読み取り可能
Node Group
Data Node 1 Data Node 2
セカンダリのセグメントからも データを参照可能
テーブル参照性能の向上(FULLY_REPLICATED)
• 全データノードで全データを持つ
• JOIN対象のマスター表に最適
Node Group
Data Node 1
Data Node 2
Node Group
Data Node 3
Data Node 4
MySQL Cluster 7.5リリースへの対応
• 書籍のダウンロードスクリプトに、MySQL Cluster 7.5に
対応したコマンドを追加予定
– MySQL 5.7と統合されたことにより、SQLノードのセットアップ
方法が変更になっています
• MySQL Cluster 7.5での変更点を解説した記事を
Think ITに掲載させて頂けるようにインプレスさんに
相談中
MySQLグループ・レプリケーションとは?
• レプリケーション機能をベースとした、MySQL側でのフェイルオーバー処理が不要な高可用性ソリューション
• MySQL 5.7.17以降にプラグインとして追加インストール可能
• グループメンバーの管理と障害検知を自動化
MySQLグループ・レプリケーションとは?
• デフォルトではシングルプライマリモードで稼働
– グループ内の1ノードだけが読み書き可能な状態
• マルチマスタ構成も可能
– COMMIT先勝ちによる競合の自動解消
MySQLグループ・レプリケーションの
コマンド付きチュートリアルを含めた
資料を後日こちらに公開予定
https://www-jp.mysql.com/news-and-events/seminar/downloads.html