ホームページ  >  記事  >  データベース  >  MySQL の読み取りと書き込みの分離の基本原則の詳細な説明

MySQL の読み取りと書き込みの分離の基本原則の詳細な説明

WBOY
WBOY転載
2022-07-18 14:11:422553ブラウズ

この記事は、mysql に関する関連知識を提供します。主に、読み書き分離の動作原理、読み書き分離の実装方法など、読み書き分離の基本原理に関連する問題を整理します。分離、読み書き分離でよく使われるミドルウェアなどを一緒に見ていきましょう。

MySQL の読み取りと書き込みの分離の基本原則の詳細な説明

## 推奨学習:

mysql ビデオ チュートリアル

1. 読み取りと書き込みの分離の動作原理

いくつかの大規模なWeb サイト ビジネス シナリオでは、単一のデータベース サーバーが提供する同時実行性の量ではビジネス ニーズを満たすことができなくなりました。この状況を満たすために、データは通常、マスターとスレーブの同期によって同期されます。これに基づいて、読み取りと書き込みの分離が使用されます。データを同期し、データベースの同時実行性とロード機能を向上させます。

一般に、ビジネス シナリオにおけるデータベースに対するクエリ操作は、追加、削除、変更よりもはるかに多く、読み取り操作の方がデータベースに与える影響は小さくなります。したがって、通常は 1 台のデータベース サーバーを主にデータの追加、削除、変更のタスクを担当するマスター サーバーとして設定し、3 ~ 4 台のデータベース サーバーを主にデータのクエリ タスクを担当するスレーブ サーバーとして構成します。データベース スレーブ サーバーは、データベース マスター サーバーからのデータを同期して、データの一貫性を実現します。

2. 読み取り/書き込み分離の実装方法

読み取り/書き込み分離の実装レベルに応じて、読み取り/書き込み分離は一般に、アプリケーション層を介する方法と、ミドルウェア層。

アプリケーション層を介した実装とは、Web ページ内にデータ クエリ言語とデータ操作言語を実装して、それぞれ異なる MySQL メイン ライブラリとスレーブ ライブラリを指すことを指します。アプリケーション層を通じて実装された MySQL の読み取りと書き込みの分離の図は次のとおりです。

MySQL の読み取りと書き込みの分離の基本原則の詳細な説明 これの利点は、展開の難しさが軽減され、展開とインストールがすぐに使用できることです。欠点は、アーキテクチャを拡張すると、コードを変更するために自動データベース シャーディングやテーブル シャーディングなどの高度な操作を実装するのが難しくなり、一部の大規模なアプリケーション シナリオにはあまり適さないことです。
ミドルウェア層を介した実装とは、すべての SQL ステートメントがアプリケーション層で均一にミドルウェア デバイスを指し、ミドルウェア デバイスが操作のためにさまざまな SQL ステートメントをさまざまなデータベース サーバーに指すことを意味します。ミドルウェア層を通じて読み取りと書き込みの分離を実現する図は次のとおりです。

MySQL の読み取りと書き込みの分離の基本原則の詳細な説明 これの利点は、アーキテクチャ設計がより柔軟で、ビジネス コードへの影響が少なく、移植性が優れていることです。高度な制御を実現できますが、この種のアーキテクチャでは、アーキテクチャを維持するために専門の運用保守担当者が必要です。

3. 読み取りと書き込みの分離でよく使用されるミドルウェア

読み取りと書き込みの分離でよく使用されるミドルウェア プログラムは次のとおりです:


1, cobarアリババ B2B 開発 リレーショナル分散システムは初期のミドルウェアですが、開発者の退職によりその後メンテナンスされずに放置されました。

2. MyCAT テクノロジー愛好家たちは、cobar をベースに二次開発を実施し、cobar のいくつかの問題を解決し、いくつかの新機能を追加しており、現在、MyCAT コミュニティは非常に活発です。 MyCAT を使用している企業も数多くあります。

3. OneProxy Oneproxy は、Alipay チームによって開発された商用の有料ミドルウェアであり、同時実行性の高いシナリオで非常に安定しています。

4. Vitess ミドルウェア アーキテクチャは複雑で、Vitess を使用するには、Vitess が提供する API インターフェイスを使用する必要があります。

5. Kingshard 360 チームによって開発され、サブデータベースとテーブルをサポートしていますが、同時実行性が高い条件下では安定性は平均的です。

6、MaxScaleとMySQL Route どちらもMySQLの公式ミドルウェアです。 Maxscale は Mariadb によって開発され、MySQL Route は現在 Oracle によって MySQL データベース用にリリースされているミドルウェアです。

推奨学習:

mysql ビデオ チュートリアル

以上がMySQL の読み取りと書き込みの分離の基本原則の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。