Jen

MongoDB 快速上手

MongoDB 是個 簡單、好用、易上手,NoSQL 的 Database,很容易入門,這裏記綠怎麼在 Mac OS 設定一個 MongoDB Server 及 Client 的開發環境。

在 Mac 系統的安裝步驟如下:

二、解壓縮之後的資料夾結構如下,而我們只需要 bin 資料夾。

三、在家目錄下開 Mongo 資料夾,整理後
/Mongo
  /bin : Mongo DB Core
  /Database : 資料庫檔案
  /install : 安裝檔案

四、設定環境變數:
將 ~/Mongo/bin 加到 /etc/paths,即可開始操作 MongoDb。

【註】在 32 bit 的版本中,單個資料庫檔案的大小不得超過 2 GB。因為 MongoDB 使用記憶體Mapped 來操作資料,這樣做是為了保持一定的效能,如果要在這樣的限制下去操作一個超過 2 GB 的資料庫,可能需要用到特別的工具(用到什麼特別的工具或方式,官方並沒有提到)以及增加程式碼的複雜度,所以 MongoDB乾脆就對 32 bit 的系統做出了這樣的限制,免得有更多複雜及不必要的工作產生。

啟動 Server 服務指令
mongod --bind_ip 127.0.0.1 --dbpath "\\192 .168.x.x\MongoDb" --rest
  • --bind_ip : 指定要 bind 的 ip
  • --dbpath : 指定存放檔案的目錄,可指定 UNC 目錄
  • --rest  : 開啟 rest 介面,預設的 port 為 28017
  • --help : 可查詢更多相關指令
啟動 Client 指令
mongo --host 127.0.0.1 --port 27017
  • 當你沒使用任何參數,預設會直接 bind localhost:27017
  • --help : 查詢更多相關指令

MongoDB GUI application on Mac OS
一、連線資訊畫面
二、連線成功之後,就會進入資料庫及Collection畫面
三、(二)圖上方有個 Query 按鈕按下去之後,就有這個操作畫面,提供CRUD、Map Reduce、匯出及匯出功能,按下 Run 之後即可把資料抓出來。


Mongo的確是個很好上手也容易Dep loy,支援又多的 NoSQL 資料庫,但他的 Map Reduce 效能不是非常好,最近的經驗是以 2 萬筆資料來做 Map Reduce,大約需3秒的時間,還因此沒辦法通過客戶的壓測,嚴格來說 2萬筆資料是非常少的,如果是要做 real-time 的服務,我不太建議用MongoDB 提供的 Map Reduce 來做運算。而會慢的原因主要是因為它的 Map Reduce 是 Single Thread Mode 搭配 JavaScript Core Engine,據說在 2.0 之後會有改善,但我現在就是用2.0,感覺並沒有特別優秀。

基本的開發環境已經架設完成,接著有時間會持續分享 MongoDB 的基本指令,怎麼 Indexing、Shar ding、Schema Design 觀念,還有 .Net Driver 、Java Driver 的使用方法及心得。

0 意見: