GNU/Linux >> Linux の 問題 >  >> Cent OS

シェアードナッシングアーキテクチャの説明

はじめに

GoogleやFacebookなどの企業がシェアードナッシングアーキテクチャを使用しているのはなぜですか。また、他のモデルとどのように違うのですか。

シェアードナッシングとは何か、他のアーキテクチャとの比較、およびその長所と短所については、以下をお読みください。

シェアードナッシングアーキテクチャとは何ですか?

シェアードナッシングアーキテクチャ(SNA)は、リソースを共有しない複数の分離されたノードで構成される分散コンピューティングアーキテクチャです。ノードには独自のディスクスペースとメモリがあるため、ノードは独立していて自給自足です。

このようなシステムでは、データセット/ワークロードはシステムのさまざまな部分に分散された小さなセット(ノード)に分割されます。各ノードには、独自のメモリ、ストレージ、および独立した入出力インターフェイスがあります。高速相互接続ネットワークを介して他のノードと通信および同期します。このような接続により、低遅延、高帯域幅、および高可用性が保証されます(プライマリに障害が発生した場合に備えてバックアップ相互接続を利用できます)。

データは水平方向に分割されているため、システムは段階的な拡張をサポートします。新しいノードを追加して、分散システムを水平方向にスケーリングし、伝送容量を増やすことができます。

シェアードナッシングアーキテクチャ図

シェアードナッシングモデルのアーキテクチャを理解する最良の方法は、他のタイプのアーキテクチャと並べて表示することです。

以下に、さまざまなモデルの共有コンポーネントと非共有コンポーネントの違いを示します-すべてを共有共有ストレージ 、およびシェアードナッシング

他とは異なり、SNAには共有リソースがありません。ノードを接続するのは、システムとノード間の通信を管理するネットワーク層だけです。

その他の共有アーキテクチャタイプの説明

「シェアードナッシング」の概念は、マイケルストーンブレーカーが1986年の研究論文で最初に紹介したもので、共有ディスクと共有メモリのアーキテクチャを対比させました。これら2つのオプションを比較する一方で、Stonebrakerには、メモリもストレージも共有されないシステムを作成する可能性が含まれていました。

SNAがユースケースのソリューションであるかどうかを判断するときは、SNAを他のクラスタータイプと比較するのが最善です。代替オプションは次のとおりです。

  • 共有ディスクアーキテクチャ
  • 共有メモリアーキテクチャ
  • すべてを共有するアーキテクチャ

共有ディスクアーキテクチャ

共有ディスクは、システム内のすべてのノードが同じディスクデバイスにリンクされているが、独自のプライベートメモリを備えている分散コンピューティングアーキテクチャです。共有データは、すべてのクラスターノードからアクセス可能であり、通常、共有ディスク(データベースなど)または共有ファイルシステム(ストレージエリアネットワークやネットワーク接続ストレージなど)を表します。共有ディスクアーキテクチャは、データのパーティション分割がオプションではないユースケースに最適です。 SNAと比較すると、拡張性ははるかに低くなります。

共有メモリアーキテクチャ

共有メモリは、システム内のノードが1つの共有メモリリソースを使用するアーキテクチャモデルです。このセットアップには、デバイスとメインメモリ間のポイントツーポイント接続が含まれているため、シンプルさと負荷分散が提供されます。プロセッサ間の高速で効率的な通信は、データの効率的な送信を保証し、冗長性を回避するための鍵です。このような通信は、相互接続ネットワークを介して実行され、単一のオペレーティングシステムによって管理されます。

共有-すべてのアーキテクチャ

スペクトルの反対側には、すべてが共有されているアーキテクチャがあります。このアーキテクチャモデルは、システム内のすべてのリソースを共有するノードで構成されています。各ノードは、同じコンピューティングリソースと共有ストレージにアクセスできます。このようなシステムの背後にある主なアイデアは、リソース使用率を最大化することです。欠点は、リソースを共有すると、競合が原因でパフォーマンスが低下することです。

シェアードナッシングアーキテクチャの長所と短所

上記のさまざまな共有アーキテクチャと比較すると、シェアードナッシングアーキテクチャには多くの利点があることは明らかです。そのようなモデルの長所と短所のいくつかを見てください。

利点

SNAには多くの利点がありますが、主な利点は、スケーラビリティ、フォールトトレランス、およびダウンタイムの短縮です。

スケーリングが簡単

シェアードナッシングモデルでのスケーリングに関しては、制限はありません。無制限のスケーラビリティは、このタイプのアーキテクチャの最高の機能の1つです。ノードは独立しており、リソースを共有しないため、アプリケーションをスケールアップしても、システム全体が中断したり、リソースの競合が発生したりすることはありません。

単一障害点を排除します

アプリケーション内のノードの1つに障害が発生しても、各ノードは自立しているため、他のノードの機能には影響しません。ノード障害はパフォーマンスに影響を与える可能性がありますが、アプリ全体の動作を妨げることはありません。

アップグレードを簡素化し、ダウンタイムを防止します

個々のノードで作業中またはアップグレード中にシステムをシャットダウンする必要はありません。冗長性のおかげで、一度に1つのノードをアップグレードしても、他のノードの有効性に影響はありません。さらに、異なるノードにデータの冗長コピーを配置することで、ディスク障害やデータ損失による予期しないダウンタイムを防ぐことができます。

短所

SNAのメリットを検討したら、それが最適なオプションであるかどうかを判断するのに役立ついくつかのデメリットを確認してください。

コスト

ノードは、個々のプロセッサ、メモリ、およびディスクで構成されます。専用のリソースがあるということは、システムのセットアップに関しては本質的にコストが高くなることを意味します。さらに、ソフトウェアの相互作用を必要とするデータの送信は、共有ディスクスペースやメモリを備えたアーキテクチャと比較してコストがかかります。

パフォーマンスの低下

相互通信レイヤーが正しく設定されていない場合、システムをスケールアップすると、最終的に全体的なパフォーマンスに影響を与える可能性があります。


Cent OS
  1. cPanelにログインする方法(説明)

  2. 何もしない Makefile

  3. NTP サーバーのアーキテクチャ

  1. Apache Hadoopアーキテクチャの説明(図付き)

  2. NoSQLデータベースとは何ですか? –NoSQLの説明

  3. CWP –Apacheの再構築

  1. データウェアハウスアーキテクチャの説明

  2. データベースの種類の説明

  3. DNSレコードタイプの説明