小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

MongoDB簡(jiǎn)介和基本概念(一)

 遠(yuǎn)方 2018-06-02

NoSQL簡(jiǎn)介

  NoSQL(Not Only SQL ),意即“不僅僅是SQL” ,指的是非關(guān)系型的數(shù)據(jù)庫(kù) 。是一項(xiàng)全新的數(shù)據(jù)庫(kù)革命性運(yùn)動(dòng),早期就有人提出,發(fā)展至2009年趨勢(shì)越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲(chǔ),相對(duì)于鋪天蓋地的關(guān)系型數(shù)據(jù)庫(kù)運(yùn)用,這一概念無(wú)疑是一種全新的思維的注入。
  關(guān)系型數(shù)據(jù)庫(kù)中的表都是存儲(chǔ)一些結(jié)構(gòu)化的數(shù)據(jù),每條記錄的字段的組成都一樣,即使不是每條記錄都需要所有的字段,但數(shù)據(jù)庫(kù)會(huì)為每條數(shù)據(jù)分配所有的字段。而非關(guān)系型數(shù)據(jù)庫(kù)以鍵值對(duì)(key-value)存儲(chǔ),它的結(jié)構(gòu)不固定,每一條記錄可以有不一樣的鍵,每條記錄可以根據(jù)需要增加一些自己的鍵值對(duì),這樣就不會(huì)局限于固定的結(jié)構(gòu),可以減少一些時(shí)間和空間的開(kāi)銷(xiāo)。

常見(jiàn)的NoSql(非關(guān)系型數(shù)據(jù)庫(kù))數(shù)據(jù)庫(kù)

CouchDB
Redis
MongoDB
Neo4j
HBase
BigTable

NoSql數(shù)據(jù)庫(kù)優(yōu)缺點(diǎn)

在優(yōu)勢(shì)方面主要體現(xiàn)在下面幾點(diǎn):- 簡(jiǎn)單的擴(kuò)展
快速的讀寫(xiě)
低廉的成本
靈活的數(shù)據(jù)模型

在不足方面主要有下面幾點(diǎn):
不提供對(duì)SQL的支持
支持的特性不夠豐富
現(xiàn)有的產(chǎn)品不夠成熟

MongoDB簡(jiǎn)介

MongoDB是用C++語(yǔ)言編寫(xiě)的非關(guān)系型數(shù)據(jù)庫(kù)。特點(diǎn)是高性能、易部署、易使用,存儲(chǔ)數(shù)據(jù)十分方便,主要特性有:
面向集合存儲(chǔ),易于存儲(chǔ)對(duì)象類(lèi)型的數(shù)據(jù)
模式自由
支持動(dòng)態(tài)查詢
支持完全索引,包含內(nèi)部對(duì)象
支持復(fù)制和故障恢復(fù)
使用高效的二進(jìn)制數(shù)據(jù)存儲(chǔ),包括大型對(duì)象
文件存儲(chǔ)格式為BSON(一種JSON的擴(kuò)展)

MongoDB和關(guān)系數(shù)據(jù)庫(kù)的對(duì)比

對(duì)比項(xiàng) mongoDB mysql oracle
集合 二維表table
表的一行數(shù)據(jù) 文檔document 一條記錄recoder
表字段 鍵key 字段filed
字段值 值value 值value
主外鍵 無(wú) PK FK
靈活度擴(kuò)展性 極高

MongoDB基本概念

  • 文檔(document)是MongoDB中數(shù)據(jù)的基本單元,非常類(lèi)似于關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)中的行(但是比行要復(fù)雜的多)。
  • 集合(collection)就是一組文檔,如果說(shuō)MongoDB中的文檔類(lèi)似于關(guān)系型數(shù)據(jù)庫(kù)中的行,那么集合就如同表。
  • MongoDB的單個(gè)計(jì)算機(jī)可以容納多個(gè)獨(dú)立的數(shù)據(jù)庫(kù),每一個(gè)數(shù)據(jù)庫(kù)都有自己的集合和權(quán)限。
  • MongoDB自帶簡(jiǎn)潔但功能強(qiáng)大的JavaScript shell,這個(gè)工具對(duì)于管理MongoDB實(shí)例和操作數(shù)據(jù)作用非常大。
  • 每一個(gè)文檔都有一個(gè)特殊的鍵”_id”,它在文檔所處的集合中是唯一的,相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的表的主鍵。

MongoDB數(shù)據(jù)類(lèi)型

數(shù)據(jù)類(lèi)型 描述 舉例
null 表示空值或者未定義的對(duì)象 {“x”:null}
布爾值 真或者假:true或者false {“x”:true}
32位整數(shù) 32位整數(shù)。shell是不支持該類(lèi)型的,shell中默認(rèn)會(huì)轉(zhuǎn)換成64位浮點(diǎn)數(shù)
64位整數(shù) 64位整數(shù)。shell是不支持該類(lèi)型的,shell中默認(rèn)會(huì)轉(zhuǎn)換成64位浮點(diǎn)數(shù)
64位浮點(diǎn)數(shù) 64位浮點(diǎn)數(shù)。shell中的數(shù)字就是這一種類(lèi)型 {“x”:3.14,”y”:3}
字符串 UTF-8字符串 {“foo”:”bar”}
符號(hào) shell不支持,shell會(huì)將數(shù)據(jù)庫(kù)中的符號(hào)類(lèi)型的數(shù)據(jù)自動(dòng)轉(zhuǎn)換成字符串
對(duì)象id 文檔的12字節(jié)的唯一id {“id”: ObjectId()}
日期 從標(biāo)準(zhǔn)紀(jì)元開(kāi)始的毫秒數(shù) {“date”:new Date()}
正則表達(dá)式 文檔中可以包含正則表達(dá)式,遵循JavaScript的語(yǔ)法 {“foo”:/foobar/i}
代碼 文檔中可以包含JavaScript代碼 {“x”:function() {}}
未定義 undefined {“x”:undefined}
數(shù)組 值的集合或者列表 {“arr”: [“a”,”b”]}
內(nèi)嵌文檔 文檔可以作為文檔中某個(gè)key的value {“x”:{“foo”:”bar”}}

更多關(guān)于mongodb的知識(shí)請(qǐng)閱讀官方文檔

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多