注目のNoSQLデータベース、MongoDBはじめました!

EnterpriseZine / 2012年7月10日 0時0分

ある日突然、「MongoDBを勉強しろ!」という一言が投げられ…DBがついてるからデータベースなんだろうと察しながら、データベース初心者が何から勉強して良いのか…まずは、社内を徘徊しながら情報収集をはじめたものの、さて、どこから手をつけたらよいのやら…そんな泉谷がお届けいたします、「胸熱!MongoDB」。第1回目となる今回は、MongoDB開発元の10gen社マーケティングマネージャーAdam Kroll氏がさわやかスマイルと共に登場!少しだけコメントをいただくことができました。

■今注目のデータベースは?

 ここ最近よく耳にする「NoSQL」。どんなものかとちょっと、調べたところ Not only SQLの略とのこと。
 ではでは、今までデータベースと言えば「RDBMS」だったのとは違うの??

 まずは、気付いた違いをさっくりと。

 RDBと言われていたものは、こんな特徴があります。

 RDB

 ・データ構造が複雑 → データを表形式で管理
 ・リレーションがある → データ同士の関係性を定義することで、整合性が保たれる
 ・トランザクションがある → データの不整合を防ぐ
 ・拡張性/柔軟性が低い → 事前にデータ構造を定義してしまう

 それに対して、NoSQLはこんな感じですね。

 NoSQL

 ・データ構造が単純である → 難しく考えなくても使い始められる!
 ・リレーションがない → 関連性を持たなくても問題なし
 ・トランザクションがない(なくはないですが緩い感じ)→シンプルな設計&機能
 ・拡張性/柔軟性が高い → とにかくデータ定義が不要のため、自由!
 ・分散環境への対応 → アベイラビリティの向上

それでは、10gen社マーケティングマネージャー、アダムさんに聞いてみましょう。アダムさーん!

やあ、アダムだよ。

 これは、RDBとNoSQLを比較する際によく使われるたとえなんだけど、まず車を想像してごらん。

 座席は座席の箱に、
 窓は窓の箱に、
 鏡は鏡の箱に、

 今まで、いろいろなパーツが別々の箱に入っていて必要なときに箱から抜き出し組み合わせていた。でも、そんなことをせずに最初から組み立てられてる一台の車を出せたらどうだろう?

 

 これを、RDB&NoSQLの関係に置き換えると…

 個々のデータをそれぞれ持ち、必要なときにJoinさせるのがRDB。

 これに対して、最初からデータを一つのドキュメントとして持つことでJoinさせる必要もなくすぐに欲しい情報が得られるというのがNoSQLなんだね。

  • 前のページ
    • 1
    • 2
  • 次のページ
EnterpriseZine

トピックスRSS

ランキング