
MongoDB Tutorial(1)雲端時代的 MongoDB 環境建置
MongoDB 是 10gen 這家公司開發的一個 NoSQL Database,屬於 Document-Oriented Database 這一類型,希望能夠結合 Relational Database 與 Key/Value Database 雙方的優點,很適合用在 Web 應用程式、Internet 架構的環境底下。 TerminologyMongoDB 有一些基本術語,跟傳統 Relational Database 剛好可以一對一對應:
MongoDB 裡面每一筆紀錄就是一個所謂的 Document: { "_id": "10280", "city": "NEW YORK", "state": "NY", "pop": 5574, "loc": [-74.016323, 40.710537] } 沒錯,寫法看起來就跟 JSON 一樣。 如果把具有類似欄位定義的一堆 Document 集合起來,就是所謂的 Collection。為什麼說「具有類似欄位定義」呢?因為 MongoDB 一樣具有 NoSQL 常見的 Schemaless 特色,所以每個 Document 不見得會有相同的欄位,就算欄位名稱相同,存放的內容資料型別也可能不同。 如果把許多個 Collection 基於某個共同的目的集合起來,就是所謂的 Database,這個講法倒是跟傳統 Relational Database 一樣。 Learning以往學習 MongoDB,一開始總是要大家先去 MongoDB 網站下載檔案、解壓縮、設定、執行。不過現在都已經進步到 Cloud Computing,學習的環境應該也可以搬到雲端上面去,至少 Server 放上去應該是理所當然的一件事。 如果只是想簡單看一下 MongoDB 長什麼樣子,可以直接到 MongoDB 提供的 Try MongoDB 網站,透過 Web 介面玩一玩 MongoDB: 這種方式沒辦法讓我們建立自己的 Database,資料也比較無法保存,所以真的只適合簡單玩一玩。 如果想要認真一點接觸 MongoDB,MongoHQ 與 MongoLab 都提供了免費建置 MongoDB Server 的方案,大小是 512 MB,從學習的角度來說已經相當足夠。 因為 MongoLab 提供的 Client 端操作介面比 MongoHQ 完整一些,所以底下我們就以 MongoLab 來做介紹。 Sign Up首先開啟 MongoLab 首頁: 按下右上角的 Sign up 按鈕,填入帳號等基本資料: 按下 Create account 按鈕,一切順利的話,就可以建立 MongoLab 帳號,進入管理介面: Database帳號建立完成,進入管理介面之後,按下 Create new 按鈕,就可以準備建立 Database: 其中:
按下最底下的 Create new MongoDB deployment 按鈕,就會根據設定的 Subscription 開始建立 Database,完成之後會回到一開始的管理介面: 用滑鼠點擊剛剛建立的 中間很清楚地寫著:A database user is required to connect to this database. Click here to create a new one.,所以接下來的工作,就是建立 Database User。 Database User在顯示 Database 詳細資料的畫面,按下中間的 Click here 連結,新增一個 Database User: 填入帳號密碼之後,再按下 Create 按鈕,就可以看到帳戶相關資料顯示在 Users 標籤頁: Collection切換到畫面中間最左邊的 Collections 標籤頁,就可以看到所有 Collection 的列表,不過目前是空的: 按下畫面中間右邊的 Add collection 按鈕,自行輸入 Collection 名稱,比方說 按下 Create 按鈕確認,就可以建立 用滑鼠點擊剛剛建立的 Document CRUD按下畫面中間右邊的 Add document 按鈕,就可以輸入想要新增的 Document 內容: { "_id": "10280", "city": "NEW YORK", "state": "NY", "pop": 5574, "loc": [-74.016323, 40.710537] } 按下右下角的 Create and go back 按鈕,就可以將 按照相同的方式,輸入底下 { "city": "BEVERLY", "loc": [-97.981785, 38.984416], "pop": 389, "state": "KS", "_id": "67423" } { "city": "SPRINGFIELD", "loc": [-92.54567, 35.274879], "pop": 752, "state": "AR", "_id": "72157" } 每個 Document 輸入完成之後,可以按下 Create and continue editing 按鈕,方便連續輸入: 這些資料其實可以從 MongoDB 網站上提供的 zips.json 檔案取得。 如果想要更新某一個 Document,比方說 改完按下 Save 或 Save and go back 按鈕存檔即可: 如果想要對 然後在中間的 Query (blank returns all objects) 方塊輸入查詢條件,甚至還可以搭配右邊的 Sort order 與 Subsets of fields 進行微調: 再按下中間右邊的 Search 按鈕,就可以看到查詢的結果: 如果不輸入任何條件,就會列出 Collection 中所有的 Document: 如果想要刪除任何一個 Document,比方說 再按下 Delete 按鈕確認即可: 後續 >> MongoDB Tutorial(2)MongoDB 的 Query Language
|
Chih-Kuo Hu
04/21
Hi, 您好,我一直關注這個新形態的數據庫,它因Scalbility& Big Data有了特殊的設計觀點,但是在Survey的過程中,我看了很多Forum,為什麼在很多人測試的過程中,基於Big Data Volumn的情況下,測試效果反而輸了Rational Database,請問您有相關方面的見解嗎? (基於同一個設備水平的測試)
MonsterSupreme
04/23
Microsoft Azure 跟 MongoLab 也合作了:http://blogs.msdn.com/b/windowsazure/archive/2014/04/22/announcing-new-mongodb-instances-on-microsoft-azure.aspx