メールアドレス(半角):

バックナンバーはこちら

Solution

製品紹介


清田陽司について


つづきはこちら infomation一覧へもどる

分散KVSと分散RDBの比較

リッテルの藤井です。
今日は分散RDBと分散KVSの比較についてお話します。

違いは3点挙げられますが、1点目はコストです。
現在、RDBMSが1台のサーバで現実的に扱えるのは、大きくてもギガバイト単位です。
そこでさらに大きなデータを扱う際には、サーバを並列動作させることになりますが、
その量はTバイト単位にとどまります。
また1Tバイトあたりのパッケージのライセンス料金も含めたコストは、
1000万円台となっています。
いっぽう、分散KVSであるHBaseは、
そもそもペタバイト単位のデータ量を扱うことを前提に設計されています。
Hadoopクラスタの1Tバイトあたりのコストは、
数十万円から数百万円程度で、RDBMSより1桁から2桁安いです。

2点目にはRDBとKVSのそもそもの違いとして、
構造をあらかじめ定義する必要の有無があります。
RDBの場合は、データの構造(スキーマ)をきっちり定義しなければなりません
(正規化と呼びます)。
特に多数のサーバで並列動作しているRDBMSにデータを搭載する
(パーティショニング、シャーディングなどの手法があります)には、
あらかじめどのデータをどのサーバに置くか決めておく必要があります。
また、スキーマに基づいてデータの使い方を決めるため、
スキーマの定義は慎重に行う必要があります。

いっぽう、最初にスキーマを決めないのがKVSの特徴です。
そのため、データマイニング用途の素データなど、
どのように用いるかあらかじめ決められていないときにはKVSが向いているといえます。

3点目として、これは2点目の違いに由来しますが、
RDBはデータを入れるサーバをあらかじめ規定するため、
ネットワークの分断に対して脆弱であることが挙げられます。
その点、たとえばKVSであるHBaseは、
常にデータが多重化されているため、
インフラの障害に対して耐性が備わっています。

ただし、すべてのKVSにネットワーク分断耐性が備わっているわけではありません。
また、HBaseにもそれなりのデメリットがあります。
こういった点に関する詳しい話は次回にお話します。

以上で説明したように、コストも安く、ネットワーク分断耐性のあるKVSもまた、
クラウド時代のデータベースとして注目されています。

ご意見・ご感想などぜひ送ってくださいね。
↓↓↓
mminfo@littel.co.jp

ページTOPへ

つづきはこちら infomation一覧へもどる