インソースマーケティングデザイン
2015.03.03 システム
NoSQLのススメ ~mongoDB
こんにちは、システムエンジニアの福田です。
前回「NoSQL」についてブログに書かせて頂きましたが、今回はNoSQLのデータベースである「mongoDB」をご紹介したいと思います。
▼mongoDB
http://www.mongodb.org/
※ライセンスは「GNU AGPL v3.0」ただしドライバは「Apache License」)
mongoDBの特徴は
ドキュメント指向データベース
であることでしょう。
聞きなれない言葉かも知れませんが、RDBMSのようにレコードをテーブルに格納するのではなく、「ドキュメント」と呼ばれるデータ(JSONに似たBSONという)の集合を「コレクション」として管理する・・・ということらしいです。
つまりは
{
”username” : “fukuda”,
”age” : “35”,
”address” : {
”pref” : “tochigi”,
”city” : “utsunomiya”,
}
}
————————————–
このようなデータを「コレクション」に入れて管理するという訳でして・・・
のみならず
{
”username” : “uematsu”,
”address” : {
”pref” : “tochigi”,
”city” : “utsunomiya”,
}
}
————————————–
このように「”age”」が欠けたデータでも
{
”username” : “oonuki”,
”height” : “185”,
”address” : {
”pref” : “tochigi”,
”city” : “kanuma”,
}
}
————————————–
さらには「”height”」が増えたデータでも、同じコレクションで管理することができるのです。
RDBMSであれば細かいテーブル設計が必要ですが、mongoDBでは必要ない・・・は過言ですが、入れたいデータをそのまま入れられるのは大きな魅力です。
※とはいえ、効率的に運用するにはそれなりにデータの設計が必要でしょうが。
昨今では、「Nginx」+「Node.js」+「mongoDB」を組み合わせてのWEBアプリ開発が人気とのこと。
これを機に「mongoDB」を試してみてはいかがでしょうか?