ある日突然、「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なんだね。
SQL文を使わずにどうやって、データのやり取りをするのかって? 一般的に、NoSQLと呼ばれるものには40種類以上のデータベースが存在していると言われているんだ。
その中でも今回は、ドキュメント指向データベースについてだけ教えてあげよう。 ドキュメント指向データベースでは、RDBで管理しているテーブル(表)のようなかたちで管理せず、ドキュメントでデータを管理するんだ。
この記事は参考になりましたか?
- この記事の著者
-
泉谷知恵(イズミヤ トモエ)
インサイトテクノロジーで以前配信していたメールマガジン、『おら!オラ!Oracle どっぷり検証生活』の 編集後記を担当して7~8年?ほど。まさか自分がライター側になるとは、これっぽっちも想像していませんでした。社内でも部署間をふらふら回りながら、人生何があるか分からない、と、つくづく実感しているこ...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア