MySQL InnoDB ReplicaSet の簡単な紹介

MySQL InnoDB ReplicaSet の簡単な紹介

01 InnoDBレプリカセットの紹介

InnoDB ReplicaSet は MySQL 8.0 で導入され、私たちがよく知っているレプリケーション機能を提供します。MongoDB レプリカ セットの概念を知っていれば、InnoDB ReplicaSet を理解しやすくなります。

InnoDB ReplicaSet は次の技術を使用します。

1. より強力なクライアント、MySQL Shell

2. 軽量ミドルウェアである MySQL Router は、MongoDB の mongos の役割に相当します。

3. MySQLサーバー(MySQLサービスとも呼ばれる)

InnoDB ReplicaSet (以下、InnoDB レプリカ セットと呼びます)。これは、MySQL のレプリケーション テクノロジを使用します。レプリカ セットには、プライマリ ノードと 1 つ以上のセカンダリ ノードがあります。InnoDB クラスタ (InnoDB クラスタは別の MySQL 高可用性ソリューションです) のような障害の自己修復やマルチマスター モードは提供されませんが、関連するノードを追加、削除、および構成するための手動の方法を提供します。

通常、MySQL Shell の AdminApi を使用して、innodb レプリカ セットを管理します。AdminAPI には、js と python の 2 つのバージョンがあります。スクリプトを簡単に記述して、MySQL を自動的にデプロイできます。AdminAPI は、MySQL インスタンス セット用の効果的な最新のインターフェイスを提供し、中央ツールからデプロイメントをプロビジョニング、管理、監視できるようにします。

InnoDB レプリカ セットは MySQL クローン コンポーネントをサポートしています。クローン プラグインを使用すると、レプリカ セットを簡単に構築できます。

InnoDB ReplicaSet は MySQL Router と緊密に統合されており、AdminAPI を使用して操作できます。 MySQL Router は、InnoDB ReplicaSet (ブートストラップと呼ばれるプロセス) に基づいて自動的に構成できるため、ルーターを手動で構成する必要はありません。

02 InnoDBレプリカセットの制限

上記では、InnoDB レプリカ セットの基本的な知識と概念をいくつか紹介しました。ここでは、その制限について説明する必要があります。InnoDB レプリカ セットの制限は、主に InnoDB クラスターとの比較によって反映されます。以下にリストします。

1.自動故障切替機能はありません。プライマリ データベースが使用できない場合は、AdminApi を使用してフェイルオーバーを手動でトリガーする必要があります。

2. 事故や利用不能によるデータ損失を防ぐことは不可能であり、障害発生時には適用されていないトランザクションが失われる可能性があります。

3. 予期しない終了の後のデータの不整合を防ぐことは不可能です。ネットワークの問題によりマスターノードが一時的に切断された場合、スレーブノードがマスターノードに昇格すると、ブレインスプリットが発生する可能性があります。

4. InnoDB レプリカ セットはマルチマスター モードをサポートしておらず、従来のマルチマスター書き込みレプリケーション ソリューションではデータの一貫性を保証できません。

5. InnoDB レプリカ セットは非同期レプリケーションに基づいており、MGR のようなフロー制御を実行できないため、読み取りのスケーラビリティはある程度制限されます。

6. すべてのセカンダリ インスタンスはプライマリ インスタンスから複製する必要があるため、ソース インスタンスに一定の影響が出る可能性があります。

上記の説明から、InnoDB レプリカ セットと MongoDB レプリカ セットの間にはまだ大きなギャップがあることは容易にわかりますが、これは MySQL 担当者が高可用性への道で踏み出した重要なステップであるため、引き続き検討する必要があります。 以降のバージョンの反復により、これらの問題が注目され、解決され、ユーザーの要件をさらに満たすためのより良いソリューションが生まれると信じています。

03 導入前に知っておくべきこと

InnoDB レプリカ セットの動作環境には、次のような特定の要件があります。

1. MySQL 8.0 以上のみをサポートします。

2. GTIDのみをサポートするレプリケーション方法

3. 行形式のバイナリログのみがサポートされており、ステートメント形式のバイナリログはサポートされていません。

4. フィルターのコピーはサポートされていません

5. 追加の複製チャネルの確立を許可しない

6. レプリカセットにはプライマリノードが1つだけあり、セカンダリノードは複数存在する可能性があります。MySQL Routerは各ノードを監視します。

7. レプリカ セットは、MySQL Shell によって完全に管理される必要があります。MySQL Shell 外部でのインスタンスの構成と変更はサポートされていません。

次の記事では、最も基本的なインストール プロセスから始めて、MySQL Shell、MySQL Router のインストール、および InnoDB レプリカ セットの設定プロセスについて詳しく説明します。

以上がMySQL InnoDB ReplicaSetの簡単な紹介です。MySQL InnoDB ReplicaSetの詳細については、123WORDPRESS.COMの他の関連記事をご覧ください。

以下もご興味があるかもしれません:
  • MySQL Innodbの主な機能挿入バッファ
  • MySQL InnoDB ストレージエンジンのメモリ管理の詳細な説明
  • MySQL InnoDB トランザクション ロック ソースコード分析
  • MySQL Innodb インデックス メカニズムの詳細な紹介
  • MySQLのInnoDBストレージエンジンにおけるさまざまなロックの詳細な説明
  • MySQL ストレージ エンジン InnoDB と MyISAM
  • MySQL の innoDB でファントム リードを解決する方法

<<:  JavaScript と CSS を最適化してウェブサイトのパフォーマンスを向上させる

>>:  セマンティック XHTML タグの紹介

推薦する

Vueスロットの実装原理についての簡単な説明

目次1. サンプルコード2. 現象を通して本質を見抜く3. 実施原則4. 親コンポーネントのコンパイ...

JQueryはアニメーション効果の非表示と表示を実装します

この記事では、アニメーション効果の非表示と表示を実現するためのJQueryの具体的なコードを参考まで...

ウェブサイトのユーザビリティとコンバージョン率を向上させる 25 のツール

ウェブサイトの場合、ユーザビリティとは、ユーザーが必要な情報を効果的に見つけたり、タスクを完了したり...

ファイルの種類を検出するJavaScriptメソッド

目次1. 画像のバイナリデータを表示する方法2. 絵の種類の見分け方3. 画像の種類を検出する方法3...

React でのポータルとエラー境界処理の実装

目次ポータルエラー境界処理エラー境界を使用しない場合はどうなりますか?注記ポータルスロットとも言えま...

Linuxでブーストライブラリをインストールするための完全な手順

序文Boost ライブラリは、標準ライブラリのバックアップとして機能し、C++ 標準化プロセスの開発...

Navicat が MySQL に接続するときに発生する 1045 エラーの解決方法

ローカル データベースに接続すると、Navicat for MySQL は以下のように 1045 エ...

JavaScriptでフロアナビゲーションエフェクトを作成するプロセスの詳細な説明

目次この期間の目標1. 関数の実装1.1 構造層1.2 スタイルレイヤー1.3 行動層1.3.1 フ...

スクラッチ宝くじの例を実現する JavaScript キャンバス

この記事では、スクラッチ効果を実現するためのJavaScriptキャンバスの具体的なコードを参考まで...

フォームファイル選択ボックスのスタイルをカスタマイズする例

コードをコピーコードは次のとおりです。 <!DOCTYPE html> <html...

ウェブ開発者はIE7とIE8の共存を懸念している

今日、IE8 をインストールしました。ダウンロードするために Microsoft の Web サイト...

Dockerを使用してLaravelおよびVueプロジェクトの開発環境を構築する詳細な説明

この記事では、Docker で構築された Laravel および Vue プロジェクトの開発環境を紹...

CentOS6で定期的にjarプログラムを実行するスクリプトをcrontabで実行する

1. 簡単なJavaプログラムを書く パブリッククラステストシェル{ パブリック静的voidメイン(...

Docker、Nginx、Jenkins をベースにした自動フロントエンド デプロイメント

目次事前準備展開ターゲットDocker環境構築クラウドサーバーに接続Docker環境をインストールす...

JavaScript のフラット配列をツリー構造に変換する例

目次バックグラウンドで10,000個のデータが失われた再帰法非再帰的方法要約するバックグラウンドで1...