2011-10-27

Starting survey of MongoDB (NoSQL)

最近在研究 NoSQL,先從 MongoDB 開始。
而 NoSQL 那麼多種,為何會選擇 MongoDB 呢? 其實我並沒有比較過,只不過訂閱的 RSS 中似乎 MongoDB 出現的次數較多,印象分數較高的緣故吧!
先從 MongoDB 研究起,也算是對於 name value pair 之非 Relational DB、NoSQL 的初步熟悉吧!

[Steps] as follows:
  1. 下載適合OS的版本: www.mongodb.org/downloads
    我下載的是 win 32 版本。
  2. 解開之目錄下,MongoDB 執行檔在 bin 目錄下: bin\mongod.exe
  3. 直接執行的話,會使用預設的資料庫檔案路徑: c:\data\db,但必須要自行建立目錄。
    也可以啟動時指定到另外目錄,如: mongod --dbpath d:\job2\mongo
  4. 執行 mongo.exe,這是直接下 sql command 來操作 MongoDB 的 console。

[Questions] at first:
  1. 之前是使用 MS SQL server,再來多使用 MySQL。不知道在 insert, insert + delete, query, query + update, multi-thread, ...等,MongoDB 的效能表現不知是否優於 MySQL。
    (之前看到已經有人的測試報告,insert/query/multi-thread 均是 MongoDB 勝出。
  2. 以前多使用關聯式資料庫,而在 name value pair 的 MongoDB下,"一筆資料多個欄位(many columns/fields in a record)"的慣用資料結構,是否要改變呢? 還是要轉換成如何使用呢? 還是觀念上要改變呢?
  3. 硬碟空間使用量是否會比 MySQL 增加許多呢?
  4. 如何備份/還原呢? 方便嗎? 是否像 MySQL 之 ISAM 資料庫般,只須 copy/paste 就可以了呢?
  5. 擴充性如何呢? 很方便就可以加入一台機器嗎?
    機器多是否影響更新速度呢? 多台機器如何運作呢? 只能對一台機器加資料嗎?
    機器多是否加快查詢速度呢?  多台機器一起作業,同步即時性?
    其中一台掛點時,修復機制如何呢? 資料完整性呢?
  6. MongoDB 效能需要調整嗎? memory/CPU 需要設定嗎?
  7. 系統限制是什麼呢? connection 數目有無上限呢? 
  8. database 數目多寡,有無影響呢?

以上是目前想到的問題,還真不少呀!


最近爬了幾篇,先列出參考資料:
-- 入門篇:

0 意見:

張貼留言