十年くらい前と今とではデータベースの使われる場所というのが変わってきています。昔はデータベースといえば企業の情報システムで使っている用途が多くありました。その頃のインターネットは情報を配信する一方通行な存在でしたが、数年前から状況は変わってきました。
web2.0と呼ばれる時代が来て、誰もが情報を発信し、インターネットはその仕組を提供するようになりました。ここでデータベースが、インターネットにとって必要なものとなっていきます。しかしこのデータベース(RDBMS)は、元々が企業の情報システムで使われていたようなものだったりするので、いかんせん不特定多数から大量のアクセスのあるようなWebサービスとは相性がよろしくなかったようです。それでもあの手この手を使って工夫してきましたが、やがて限界がやってきます。さて、ここで本題に入る前に分散コンピュータシステムに関する一つの定理を知っておくと良いかもしれません。
CAP定理
Consistency(一貫性・整合性) Availability(可用性) Partition-tolerance(分断耐性)の頭文字をとってCAPです。
CAP定理はこの3つを確保できた物こそが真の分散コンピュータシステムだと言っているものではありません。分散コンピュータシステムはこの3つのうちの2つは兼ね備えることは出来ても、全てを兼ね備えることは出来ないという定理です。この定理の上では分散コンピュータシステムは、一貫性と可用性、可用性と分断耐性、一貫性と分断耐性の2つだけを持つこの3パターンしかありません。RDBMSは一般的にこの3つのうち一貫性と可用性を兼ね備えたものとされてます。
ではNoSQLはというと、一貫性を捨て可用性と分断耐性を持つ物が多いです。一貫性についてもリアルタイムでの一貫性は捨てたとしても、そのうち一貫性があれば良いという実装をしているもの(Apache Cassandra)もあります。

この記事は参考になりましたか?
- クラウド時代のデータストア連載記事一覧
- この記事の著者
-
得上竜一(トクガミリュウイチ)
株式会社マイニングブラウニー代表。
高校卒業後、電力会社の通信部門へ。社内にいくつもASがあるようなIP網やPDH,HDLCなどのL2以下のネットワークの保守を担当。その後パソコン・家電の激安店で価格調査と価格設定のシステムを開発。現在は進化させたそのシステムでインターネットの情報を集めるため...※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア