2012年1月18日 星期三

[mongodb]mongo database 芒果資料庫-開端

Mongo database 是資料庫的一種。
屬於 NoSQL 的這一種。
從學校學資料庫的時候,還有碰過不是關聯式資料庫的嗎?

在近年來,資料庫的應用環境變化,
讓所謂 NoSQL 的資料庫大顯身手,
這些資料庫聲稱更能適應網路應用,更能適應資料變化,更能適應分散管理,
而芒果資料庫,就是其中之一。

它採用所謂的 document-oriented,讓它的每筆資料(也就是一個 document,也有人按舊習慣叫 record),
都是個 dictionary 物件,可以任意加屬性(或按舊習慣稱做 field),
一群你認為同類的 document,就裝在一個 collection 裡面。
對於用過 javascript 的人都知道,dictionary 跟 class 是一體的兩面,
只要拿得到 dictionary 的序列化表示,javascript 就等於拿到一個物件,
在網頁上的應用當然超方便,server side 或 client 的程式就不用想如何從 table 轉換成物件。
靈活的 field 增減,也不用太過擔心 schema 的變化,
field 的值也不只限單一值,也可以是個 list,或是個 dictionary,可像個樹一樣的結構長大,
面對一個人有三個電話號碼的這種資料,是輕鬆自然又直覺,不用像以前一樣用分隔符號分開,
然後限制哪些符號不行在值裡面出現之類的地雷。

當然開頭一定是因為宣傳廣告吸引了我,才會開始想要用他。
http://www.mongodb.org
既然有想,就開始試用吧,不用不會知道優缺點的。
如果你也有類似的需求,你可以試試。

類似的資料庫還有 Apache 的 Cassandra ,
http://www.datastax.com/docs/0.8/introduction/index#getting-started-with-cassandra

沒有留言:

張貼留言