做網(wǎng)站那個公司網(wǎng)站建設(shè)公司官網(wǎng)
文章目錄
- MongoDB 是什么?
- MongoDB 和關(guān)系型數(shù)據(jù)庫 mysql 區(qū)別
- MongoDB 有 3 個數(shù)據(jù)庫分別是什么?
- MongoDB 中的數(shù)據(jù)類型
- MongoDB 適用業(yè)務(wù)場景
MongoDB 是什么?
mongodb 是屬于文檔型的非關(guān)系型數(shù)據(jù)庫,是開源、高性能、高可用、可擴展的。其數(shù)據(jù)邏輯層次關(guān)系為文檔=>集合=>數(shù)據(jù)庫。在關(guān)系型數(shù)據(jù)庫中每一行的數(shù)據(jù)對應(yīng) mongodb 里是一個文檔。mongodb 的文檔是以 BSON(binary json)格式存儲的,其格式就是 json 格式。
- 集合
集合是一組文檔。集合相當于關(guān)系數(shù)據(jù)庫中的表,但集合中的文檔長度可不同(集合中的文檔中的鍵值對個數(shù)可不同)、集合中文檔的 key 可不同。向集合中插入第一個文檔時,集合會被自動創(chuàng)建。 - 文檔
文檔是一組鍵值對,用{ }表示,字段之間用逗號分隔。相當于關(guān)系數(shù)據(jù)庫中的一行(一條記錄)。
- 文檔中的鍵值對是有序的
- 一個文檔中不能有重復(fù)的 key(對應(yīng)關(guān)系數(shù)據(jù)庫中的一條記錄)
- 以"_"開頭的 key 是保留的,有特殊含義。
- 字段
即一個鍵值對,key 必須是 String 類型,value 可以是任意類型。
MongoDB 和關(guān)系型數(shù)據(jù)庫 mysql 區(qū)別
關(guān)系數(shù)據(jù)庫 | MongoDB |
---|---|
數(shù)據(jù)庫 database | 數(shù)據(jù)庫 database |
表格 table | 集合 collection |
行 row | 文檔 document |
列 column | 字段 field |
索引 index | 索引 index |
表聯(lián)合 table joins | 嵌入文檔 |
主鍵 primary | 主鍵 primary key 。MongoDB默認主鍵為_id |
MongoDB 有 3 個數(shù)據(jù)庫分別是什么?
一個 MongoDB 中可以建立多個數(shù)據(jù)庫,這些數(shù)據(jù)庫是相互獨立的,有自己的集合和權(quán)限。不同的數(shù)據(jù)庫使用不同的文件存儲(不存儲在一個文件中)。
MongoDB 默認有 3 個數(shù)據(jù)庫:
- admin: 從權(quán)限的角度來看,這是"root"數(shù)據(jù)庫。將一個用戶添加到這個數(shù)據(jù)庫,這個用戶會自動繼承所有數(shù)據(jù)庫的權(quán)限。一些特定的服務(wù)器端命令也只能在這個數(shù)據(jù)庫中運行,比如列出所有的數(shù)據(jù)庫或者關(guān)閉服務(wù)器。
- local: 這個數(shù)據(jù)庫永遠不會被復(fù)制,里面的數(shù)據(jù)都是本地的(不會復(fù)制到其他 MongoDB 服務(wù)器上),可以用來存儲限于本地單臺服務(wù)器的任意集合。
- config: 當 Mongo 用于分片設(shè)置時,config 數(shù)據(jù)庫在內(nèi)部使用,用于保存分片的相關(guān)信息。
MongoDB 中的數(shù)據(jù)類型
- null
- false 和 true
- 數(shù)值
- UTF-8 字符串
- 日期 new Date()
- 正則表達式
- 數(shù)組
- 嵌套文檔
- 對象 ID ObjectId()
- 二進制數(shù)據(jù)
- 代碼
MongoDB 適用業(yè)務(wù)場景
- 網(wǎng)站數(shù)據(jù):MongoDB 非常適合實時的插入,更新與查詢,并具備網(wǎng)站實時數(shù)據(jù)存儲所需的復(fù)制及高度伸縮性。
- 緩存:由于性能很高,MongoDB 也適合作為信息基礎(chǔ)設(shè)施的緩存層。在系統(tǒng)重啟之后, 由 MongoDB 搭建的持久化緩存層可以避免下層的數(shù)據(jù)源過載。
- 大尺寸,低價值的數(shù)據(jù):使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫存儲一些數(shù)據(jù)時可能會比較昂貴,在此之前,很多時候程序員往往會選擇傳統(tǒng)的文件進行存儲
- 高伸縮性的場景:MongoDB 非常適合由數(shù)十或數(shù)百臺服務(wù)器組成的數(shù)據(jù)庫。MongoDB 的路線圖中已經(jīng)包含對 MapReduce 引擎的內(nèi)置支持
- 用于對象及 JSON 數(shù)據(jù)的存儲:MongoDB 的 BSON 數(shù)據(jù)格式非常適合文檔化格式的存儲及查詢.
歡迎java熱愛者了解文章,作者將會持續(xù)更新中,期待各位友友的關(guān)注和收藏。。。