關於Docker的基礎知識相關內容基本上寫完了,剩下的就是需要我們去多多熟練學習了。 一篇知識的完畢,不是結束,而是另外的一個開始。我們接下來的系列文章就是Mongodb的知識。 我們也會跟Docker一樣逐步的從基礎知識開始深入瞭解。 那麼就開始我們Mongodb的學習之旅吧
什麼是Mongodb
Mongodb是一款開源的文檔數據庫,提供高性能,高可用性和自動擴展性。 是最近接近於關係型數據庫的Nosql數據庫。 採用了一種叫做BSON結構的數據類型。
特點
- 高性能,具有數據持久性。
- 對嵌入式文檔模型的支持減少系統I/O操作
- 索引操作,更加的快速。
- 查詢語言豐富,不止有簡單的查詢find操作,還有聚合操作,文本搜索等內容
- 高可用性,利用水平擴展的方式搭建集羣。
- 支持多個存儲引擎。
- 面向集合存儲,能十分方便的保存對象類型的數據
- 能使用二進制進行存儲數據
mongodb的使用場景
- 用對對象存儲或者JSON數據存儲的場景。
- 需要大量的地理位置查詢,文本查詢。
- 高伸縮的場景:能快速的利用服務器進行數據庫的水平擴展。並且在Mongodb中已經對MapReduce進行了支持。聚合查詢等。
- 緩存層:利用Mongodb進行搭建緩存,避免下層的數據過載。 這是個人已知的場景,並且已經在使用的情況,其他場景情況,請參考google。不過可能有很多文檔已經過時。比如Mongodb已經支持Join在聚合操作中,因爲可以利用到分片的功能,所以性能還是很高的。
Mongodb的安裝
我們前面學習了Docker的使用,那麼本篇文章中我們就可以來使用Docker來安裝Mongodb。
首先我們要在自己的環境上安裝docker,這個可以參考文章Docker入門
- 使用docker命令檢查下是否已安裝Docker,沒有安裝的需要安裝一下
ruiqi@FRQ-PC:~$ docker --version Docker version 17.03.2-ce, build f5ec1e2
- 開始下載Mongodb
ruiqi@FRQ-PC:~$ docker pull mongo Using default tag: latest latest: Pulling from library/mongo 3b37166ec614: Pull complete 504facff238f: Pull complete ebbcacd28e10: Pull complete c7fb3351ecad: Pull complete 2e3debadcbf7: Pull complete 004c7a04feb1: Pull complete 897284d7f640: Pull complete af4d2dae1422: Pull complete 5e988d91970a: Pull complete aebe46e3fb07: Pull complete 6e52ad506433: Pull complete 47d2bdbad490: Pull complete 0b15ac2388a7: Pull complete 7b8821d8bba9: Pull complete Digest: sha256:4ad50a4f3834a4abc47180eb0c5393f09971a935ac3949920545668dd4253396 Status: Downloaded newer image for mongo:latest
- 啓動Mongodb
ruiqi@FRQ-PC:~$ docker run --name mongodb -p 27017:27017 -d mongo 237ae74dd4d935c64935d0af746d373f479f097d474dcb99380d3c13b392b540 ruiqi@FRQ-PC:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mongo latest 052ca8f03af8 10 days ago 381 MB
- 鏈接Mongodb 我們在這裏使用的圖形化操作Mongodb的軟件Robo 3T。 因爲是學習操作,所以裏面不加用戶權限限制,在正常操作時候都需要加上用戶權限。
鏈接
代表鏈接成功
- 使用Mongodb
- 打開shell操作,右擊localhost。
- 創建數據庫,如果只是用user 數據庫,庫不存在的時候會直接創建並且換,沒有任何操作會刪除這可庫。我們會看到以下現象。
// 創建庫或者切換庫 Mongodb中創建庫是隱士操作。不需要我們直接創建,可以直接使用 use newTestDB // show dbs 但是不顯示我們新增的庫。 正如我們上面所說的沒有操作會被刪除。 // 接下來這麼操作 use newTestDB db.test.insert({"name":"frq","email":"[email protected]"}) show dbs //這樣我們就會看到新庫
沒有newTestDB庫
有newTestDB庫
總結
我們今天先了解什麼是Mongodb,Mongdb的安裝,以及簡單的創庫操作。希望這些能對你有些幫助學習瞭解到Mongdb 接下來就走入我們的Mongodb的航海中吧