mongodb是乙個高效能,開源,無模式的文件型資料庫,是當前nosql資料庫中比較熱門的一種。它在許多場景下可用於替代傳統的關係型資料庫或鍵/值儲存方式。
所謂nosql,全稱是 not only sql,指的是非關係型的資料庫。該資料庫主要解決幾個要點:非關係型的、開源的、分布式的、水平可擴充套件的。主要的儲存特性是:模式自由、支援簡易複製、簡單的api、最終的一致性(非acid)、大容量資料等。
mongodb資料庫的特點是
高效能、易部署、易使用,儲存資料非常方便。具有的特性和功能:
面向集合(collenction-orented),意思是資料被分組儲存在資料集中,被稱為乙個集合(collenction)。每個集合在資料庫中都有乙個唯一的標識名,並且可以包含無限數目的文件。集合的概念類似關係型資料庫(rdbms)裡的表(table),不同的是它不需要定義任何模式(schema)。也是就是說適合儲存物件及json形式的資料。
模式自由(schema-free),意味著對於儲存在mongodb資料庫中的檔案,我們不需要知道它的任何結構定義。如果需要的話,你完全可以把不同結構的檔案儲存在同乙個資料庫裡。
儲存在集合中的文件,被儲存為鍵-值對的形式。鍵用於唯一標識乙個文件,為字串型別,而值則可以是各中複雜的檔案型別。我們稱這種儲存形式為bson(binary serialized document format)。
動態查詢:mongo支援豐富的查詢表示式。查詢指令使用json形式的標記,可輕易查詢文件中內嵌的物件及陣列。
完整的索引支援:包括文件內嵌物件及陣列。mongo的查詢優化器會分析查詢表示式,並生成乙個高效的查詢計畫。
查詢監視:mongo包含乙個監視工具用於分析資料庫操作的效能。
複製及自動故障轉移:mongo資料庫支援伺服器之間的資料複製,支援主-從模式及伺服器之間的相互複製。複製的主要目標是提供冗餘及自動故障轉移。
高效的傳統儲存方式:支援二進位制資料及大型物件(如**或)
自動分片以支援雲級別的伸縮性:自動分片功能支援水平的資料庫集群,可動態新增額外的機器。
nosql資料庫的
的出現為web開發
帶來了極大的方便。所以mongodb是適用以下的場景
**資料:mongo 非常適合實時的插入,更新與查詢,並具備**實時資料儲存所需的複製及高度伸縮性。
快取:由於效能很高,mongo 也適合作為資訊基礎設施的快取層。在系統重啟之後,由mongo 搭建的持久化快取層可以避免下層的資料來源過載。
大尺寸、低價值的資料:使用傳統的關係型資料庫儲存一些資料時可能會比較昂貴,在此之前,很多時候程式設計師往往會選擇傳統的檔案進行儲存。
高伸縮性的場景:mongo 非常適合由數十或數百台伺服器組成的資料庫,mongo 的路線圖中已經包含對mapreduce 引擎的內建支援。
用於物件及json 資料的儲存:mongo 的bson 資料格式非常適合文件化格式的儲存及查詢。
MongDB簡單介紹
mongdb非關係型資料庫,我們經常用的基本都是關係型資料庫,比如 mysql,oracle 等等,這裡我們先講一下關係型資料庫和菲關係型資料庫各自的乙個優勢,如下圖所示 之前的專案中用到mongdb的地方主要是儲存一些動態資訊及等等,關係型和非關係型的很大的乙個區別就是非關係型資料庫沒有關係型資料...
mongdb基本操作
參考 新增乙個 useradminanydatabase 使用者,這是乙個能夠管理所有使用者的的使用者,類似於超級管理員吧 use admin 進入admin表 db.createuser 檢視使用者是否建立成功 show users 輸出以下內容表示新增成功 切換到要新增使用者的資料庫中 use ...
MongDB安裝方法
選擇第二個,自定義安裝 選擇安裝路徑 我的安裝路徑為f mongodb 安裝完成後,在f mongodb建立目錄。1 建立資料存放目錄f mongodb data db 2 建立日誌檔案f mongodb log mongodb.log log檔案的建立需要先建立.txt檔案,再修改其屬性即可 啟動...