blog

ShardingSphere 4.x Read/Write Separation Up

システムへのアクセスが増加する中、データベースのスループットは大きなボトルネックに直面しています。 同時に多数の読み取り操作と少数の書き込み操作を行うアプリケーションでは、データベースをマスターとスレ...

Jul 13, 2020 · 2 min. read
シェア
  • 背景
  • 課題
  • 目的

背景

システムへのアクセスが増加する中、データベースのスループットは大きなボトルネックに直面しています。 同時に多数の読み取り操作と少数の書き込み操作を行うアプリケーションシステムでは、データベースをマスターとスレーブに分割し、マスターがトランザクションの追加、削除、変更を処理し、スレーブがクエリ操作を処理することで、データ更新による行ロックを効果的に回避し、システム全体のクエリ性能を大幅に向上させることができます。

マスタ-マルチスレーブ構成では、クエリ要求を複数のデータレプリカに均等に分散させることができるため、システムの処理能力をさらに向上させることができます。 複数のマスタと複数のスレーブを使用することで、システムのスループットが向上するだけでなく、システムの可用性も向上し、データベースがダウンした場合でも、ディスクが物理的に損傷した場合でも、システムの正常な動作に影響を与えません。

シャーディング・キーに基づいてデータを個々のデータ・ノードに分割する水平シャーディングとは異なり、読み書き分離では、SQLのセマンティクスの分析に基づいて、読み取りと書き込みの操作をそれぞれマスターとスレーブのライブラリにルーティングします。

読み書き分離のデータノードのデータ内容は同じですが、水平スライシングの各データノードのデータ内容は同じではありません。水平スライシングと読み書き分離を併用することで、より効果的にシステムのパフォーマンスを向上させることができます。

課題

読み書き分離はシステムのスループットと可用性を向上させますが、データの不整合という問題も発生します。 これには、複数のマスタリポジトリ間のデータ整合性や、マスタリポジトリとスレーブレポジトリ間のデータ整合性が含まれます。 さらに、読み書き分離もデータ・シャーディングと同じ問題を引き起こし、アプリケーション開発者や運用者にとってデータベースの運用や保守がより複雑になります。 次の図は、テーブル・シャーディングとデータベース・シャーディングを読み書き分離とともに使用する場合の、アプリケーションとデータベース・クラスタの複雑なトポロジーを示しています。

目的

マスター・スレーブ・データベース・クラスタをあたかも単一のデータベースであるかのように使用できるように、読み取り/書き込み分離の影響を透明化することが、ShardingSphere 読み取り/書き込み分離モジュールの主な設計目標です。

Read next

[ISV]callBackUrl

saasスイートの作成では、それはあなたが記入する必要があることに注意することが重要です、このURLを呼び出すと、バックグラウンドプロセスが正常であることを確認するために使用される特定の情報の戻り値を受信します。だから、スイートの作成では、最初にバックグラウンドアプリケーションを実行する必要があります。

Jul 13, 2020 · 1 min read

フック 問題記録

Jul 11, 2020 · 1 min read

nginxの設定 wss

Jul 10, 2020 · 2 min read