什麼是mongodb
MongoDB是一個基於分布式檔案儲存體的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充的高效能資料儲存解決方案。
MongoDB是一個介於關聯式資料庫和 非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。他支援的資料結構非常鬆散,是類似json的bjson格式,因此可以儲存比較複雜的資料類型。Mongo最大的特點是他支援的查詢語言非常強大,其文法有點類似於物件導向的查詢語言,幾乎可以實作類別似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。
mongodb的幾大優勢
MongoDB是面向文檔的資料庫,不是關係型資料庫。
1、MongoDB有豐富的資料模型,基本的思路就是將原來“行”的概念換成更加靈活的“文檔”模型。一條記錄可以表示非常複雜的層次關係。
2、非常容易擴充。面對資料量的不斷上漲,通常有兩種方案,一種是購買更好的硬體,別一種是分散資料,進行分布式的擴充,前者有著非常大的缺點,因為硬體通常是有物理極限的,當達到極限以後,處理能力就不可能再進行擴充了。所以建議的方式是使用叢集進行擴充。MongoDB所採用的面向文檔的資料模型使其可以自動在多台伺服器之間分割資料。它還可以平衡叢集的資料和負載,自動重排文檔。
3、豐富的功能。包括索引、儲存JavaScript、彙總、固定集合、檔案儲存體等。
4、卓越的效能。
5、方便的管理,除了啟動資料庫伺服器之外,幾乎沒有什麼必要的管理操作。管理叢集只需要知道有新增加的節點,就會自動整合和配置新節點。
mongodb的幾個基本概念
文檔
文檔是MongoDB中資料的基本單元,非常類似於關聯式資料庫管理系統中的行。
文檔是MongoDB的核心概念。多個鍵及其關聯的值有序地放置在一起便是文檔。
MongoDB以類JSON的格式來表示文檔,例如:
{"greeting":"hello mongodb!"}
以索引值形式儲存,值可以是不同的類型,比如字串,整型等。
集合
集合就是一組文檔。類似於關係型資料庫中的表。
我們可以使用任意的UTF-8字串來命名集合。
為了使組織圖更好些,我們可以使用子集合。組織集合的一種慣例是使用“.”字元分開的按命名空間劃分的子集合。
資料庫
MongoDB中多個文檔組成集合,同樣多個集合可以組成資料庫。一個MongoDB執行個體可以承載多個資料庫,它們之間可視為完全獨立的。
資料庫名可以是任意UTF-8字串。
除了一些規則外,有一些資料庫名是保留的,不能作為資料庫名,包括“admin”、“local”、"config"。
32位win7下用虛機安裝64位ubuntu
如果是32位的ubuntu安裝起來很順利沒什麼問題,但是到了安裝64位ubuntu的時候出問題了。
報錯如下:
This kernel requires an x86-64 CPU, but only detected an i686 CPU.
Unable to boot - please use a kernel appropriate for your CPU.
解決辦法:
先下載一個cpu-z,我下載的地址是
http://www.xiazaiba.com/html/160.html
開啟並且查看一下
如果顯示支援64位那麼就應該是bios裡邊沒有進行設定的原因了,重啟電腦進入bios
找到 CPU ==> Intel(R) Virtualization Technology ==> 設定為 Enabled
注意:這之後要冷啟動才會生效。
然後進行系統重新安裝,一切正常。
啟動mongodb
首先是下載和安裝,下載就到mongodb的官方網站上,在baidu或者google輸一下,基本上第一個就是,我的是:
http://www.mongodb.org/downloads
因為使用的是64位的ubuntu,所以下載了64-bit的mongodb,下載後解壓縮。
到解壓後的bin目錄裡執行./mongod
提示路徑不存在,需要建立路徑,執行mkdir -p /data/db,並授予許可權。
然後重新執行./mongod,正常啟動。
在瀏覽器中輸入
http://localhost:28017
可以獲得資料庫的管理資訊。