而 NoSQL 那麼多種,為何會選擇 MongoDB 呢? 其實我並沒有比較過,只不過訂閱的 RSS 中似乎 MongoDB 出現的次數較多,印象分數較高的緣故吧!
先從 MongoDB 研究起,也算是對於 name value pair 之非 Relational DB、NoSQL 的初步熟悉吧!
[Steps] as follows:
- 下載適合OS的版本: www.mongodb.org/downloads
我下載的是 win 32 版本。 - 解開之目錄下,MongoDB 執行檔在 bin 目錄下: bin\mongod.exe
- 直接執行的話,會使用預設的資料庫檔案路徑: c:\data\db,但必須要自行建立目錄。
也可以啟動時指定到另外目錄,如: mongod --dbpath d:\job2\mongo - 執行 mongo.exe,這是直接下 sql command 來操作 MongoDB 的 console。
[Questions] at first:
- 之前是使用 MS SQL server,再來多使用 MySQL。不知道在 insert, insert + delete, query, query + update, multi-thread, ...等,MongoDB 的效能表現不知是否優於 MySQL。
(之前看到已經有人的測試報告,insert/query/multi-thread 均是 MongoDB 勝出。 - 以前多使用關聯式資料庫,而在 name value pair 的 MongoDB下,"一筆資料多個欄位(many columns/fields in a record)"的慣用資料結構,是否要改變呢? 還是要轉換成如何使用呢? 還是觀念上要改變呢?
- 硬碟空間使用量是否會比 MySQL 增加許多呢?
- 如何備份/還原呢? 方便嗎? 是否像 MySQL 之 ISAM 資料庫般,只須 copy/paste 就可以了呢?
- 擴充性如何呢? 很方便就可以加入一台機器嗎?
機器多是否影響更新速度呢? 多台機器如何運作呢? 只能對一台機器加資料嗎?
機器多是否加快查詢速度呢? 多台機器一起作業,同步即時性?
其中一台掛點時,修復機制如何呢? 資料完整性呢? - MongoDB 效能需要調整嗎? memory/CPU 需要設定嗎?
- 系統限制是什麼呢? connection 數目有無上限呢?
- database 數目多寡,有無影響呢?
以上是目前想到的問題,還真不少呀!
最近爬了幾篇,先列出參考資料:
-- 入門篇:
- 一開始當然是參考 MongoDB 的說明: Tutorial , Quickstart Windows
- 來試試 NoSQL - MongoDB 安裝、移除、新增 database
- C# 連結 MongoDB: Experimenting with MongoDB from C#
0 意見:
張貼留言