「mysql cluster...

18
MySQL Cluster による高可用 システム運用ガイド」のご紹介 &その後のアップデートなど 日本MySQLユーザ会 山﨑 由章 @yyamasaki1

Upload: yoyamasaki

Post on 13-Apr-2017

332 views

Category:

Technology


0 download

TRANSCRIPT

「MySQL Cluster による高可用

システム運用ガイド」のご紹介&その後のアップデートなど

日本MySQLユーザ会 山﨑 由章

@yyamasaki1

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に関する

アップデート

• 2016年10月 MySQL Cluster 7.5 リリース!!

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 Clusterは高可用性構成の

選択肢の一つですが、

先月MySQLに新しい高可用性構成の

選択肢が増えました

MySQLグループ・レプリケーション

MySQLグループ・レプリケーションとは?

• レプリケーション機能をベースとした、MySQL側でのフェイルオーバー処理が不要な高可用性ソリューション

• MySQL 5.7.17以降にプラグインとして追加インストール可能

• グループメンバーの管理と障害検知を自動化

MySQLグループ・レプリケーションとは?

• デフォルトではシングルプライマリモードで稼働

– グループ内の1ノードだけが読み書き可能な状態

• マルチマスタ構成も可能

– COMMIT先勝ちによる競合の自動解消