データベース

DBのシェアードナッシングとシェアードエブリシングの違いを調べよう!

2020年3月17日

データベースにおいて、シェアードナッシングという言葉を聞くと「共有しない」ことかなと思いますが、実はその通りです。

反対にシェアードエブリシングは「共有する」ということになります。

それだけのことですが、データベースにおいて、共有「するしない」でどんなメリットデメリットがあるかを今回は調べてみました!

 

シェアードエブリシングの特徴は?

こちらは一般的なデータベースの方式のことです。

プログラムで制御される複数のプロセスが一つのデータベースへアクセスして利用されます。

シェアードエブリシングはデータベースが一つなので、データベースへアクセスするノード(サーバ)が複数あって、そのノードの障害が発生しても、他のノードへ影響を及ぼさずにできます。

但し、データベースへのアクセスが集中すると、性能が劣化してしまいますので、その対策として次のシェアードナッシング方式があります。

シェアードエブリシングのイメージ

 

シェアードナッシングの特徴は?

こちらはデータベースを分割して、それぞれを独立させる方式となります。

各プロセスが別々のデータベースにアクセスします。

この方式のメリットは各プロセスがそれぞれのデータベース(ディスク含む)を持っているので、並列処理をした際に、データベースへのアクセスが集中しないため、高性能を出すことができることです。

ただし、分散されたデータベースのノード障害などが発生すると、そこのデータへはアクセスできなくなってしまうため、何らからの対策をしておく必要があります。

シェアードナッシングのイメージ

 

まとめ

今回はデータベースにおける、シェアードナッシングとシェアードエブリシングの違いを調べてみました。

大量のデータを扱う昨今、より高い性能(速度)を確保することは重要なので、データウェハウスなどの製品でシェアードナッシング方式が使われるようになっているようですね。

以上です!

-データベース