MongoDB系列教程(一):NoSQL起源
為什么出現(xiàn)NoSQL?
隨著互聯(lián)網(wǎng)的發(fā)展,當(dāng)我們把一臺服務(wù)器一臺服務(wù)器變成兩臺服務(wù)器,當(dāng)我們開始建立數(shù)據(jù)備份,當(dāng)我們需要加一個緩沖層,來調(diào)整所有的查詢,投入更多的硬件。
最后,需要將數(shù)據(jù)切分多個集群上,并重構(gòu)大量的應(yīng)用邏輯以適應(yīng)這種切分。不久之后,你就會發(fā)現(xiàn)被自己數(shù)月前的設(shè)計數(shù)據(jù)結(jié)構(gòu)限制住了。
隨著web2.0的興起,關(guān)系型數(shù)據(jù)庫本身無法克服的缺陷越來越明顯,主要表現(xiàn)為如下幾點。
1、對數(shù)據(jù)高并發(fā)讀寫的需求
2、對海量數(shù)據(jù)的高效率存儲和訪問的需求。
3、對數(shù)據(jù)庫的高可擴(kuò)展性和高可用性的需求。
4、數(shù)據(jù)庫事務(wù)一致性需求。
5、數(shù)據(jù)庫寫實性和讀寫時性需求。
6、對復(fù)雜SQL的查詢,特別是對關(guān)聯(lián)查詢的需求。
NoSQL是Notonly SQL的縮寫,NoSQL不使用SQL作為查詢語言。其數(shù)據(jù)存儲可以不需要固定的表格模式,也經(jīng)常避免使用SQL的join操作,一般有水平可擴(kuò)展性的特征。
NoSQL歷史?
1、NoSQL一詞最早出現(xiàn)在1998年,是Carlo Strozzi開發(fā)的一個輕量、開源、不提供SQL功能的關(guān)系數(shù)據(jù)庫。
2、2009年,Last.fm的Johan Oskarsson發(fā)起了一次關(guān)于分布式開源數(shù)據(jù)庫的討論,來自Rackspace的Eric Evans再次提出了NoSQL概念,這時的NoSQL主要是指非關(guān)系型、分布式、不提供數(shù)據(jù)庫設(shè)計模式。
3、2009年趨勢高漲,被定為“非關(guān)系型的”數(shù)據(jù)存儲,相對于關(guān)系型數(shù)據(jù)庫運用,這一概念無疑是一種全新思維的注入。
SQL和NoSql的區(qū)別?
NoSQL具有如下幾點
優(yōu)點:
1、高并發(fā)讀寫
2、海量數(shù)據(jù)存儲
3、高可擴(kuò)展性
4、高可用性
缺點:
5、缺乏事務(wù)一致性
6、缺乏讀寫實時性
7、不支持復(fù)雜查詢
NoSQL數(shù)據(jù)庫類型
Key-value:key指Value的鍵值對,通常用hash table來實現(xiàn)
列式數(shù)據(jù)庫:同一列數(shù)據(jù)存在一起
文檔型數(shù)據(jù)庫:Key-Value對應(yīng)的鍵值對,Value為結(jié)構(gòu)化數(shù)據(jù)產(chǎn)品:MongoDB
圖結(jié)構(gòu)數(shù)據(jù)庫:以“圖”為基本存儲模型,產(chǎn)品:Neo4j,InfoGrid,InfiniteGraph
NoSQL數(shù)據(jù)庫開源軟件
1、Membase軟件
2、Hypertable
3、ApacheCassandra
4、MongoDB
在這里我們用的是MongoDB,下篇MongoDB簡介,以及實例操作。
- PHP對MongoDB[NoSQL]數(shù)據(jù)庫的操作
- 大數(shù)據(jù)時代的數(shù)據(jù)庫選擇:SQL還是NoSQL?
- 8種主流NoSQL數(shù)據(jù)庫系統(tǒng)特性對比和最佳應(yīng)用場景
- 初識NoSQL NoSql數(shù)據(jù)庫入門 NoSql數(shù)據(jù)庫基礎(chǔ)知識
- NoSQL反模式 - 文檔數(shù)據(jù)庫篇
- 最新統(tǒng)計排名前十的SQL和NoSQL數(shù)據(jù)庫排行榜
- 純Python開發(fā)的nosql數(shù)據(jù)庫CodernityDB介紹和使用實例
- NoSQL和Redis簡介及Redis在Windows下的安裝和使用教程
- 關(guān)于NoSQL之MongoDB的一些總結(jié)
- NoSQL數(shù)據(jù)庫的分布式算法詳解
- 深入解析NoSQL數(shù)據(jù)庫的分布式算法(圖文詳解)
- NoSQL開篇之為什么要使用NoSQL
- 8 種常用的 NoSQL 數(shù)據(jù)庫系統(tǒng)對比分析
- NoSQL 數(shù)據(jù)庫你應(yīng)該了解的 10 件事
相關(guān)文章
基于Mongodb分布式鎖解決定時任務(wù)并發(fā)執(zhí)行問題
這篇文章主要介紹了基于Mongodb分布式鎖解決定時任務(wù)并發(fā)執(zhí)行問題,網(wǎng)上有很多分布式鎖的實現(xiàn)方案,基于redis、zk、等有很多,但是我的就是一個用了mysql和mongo的小應(yīng)用,本文給大家詳細(xì)講解,需要的朋友可以參考下2023-04-04
Mongodb 利用mongoshell進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的實現(xiàn)方法
下面小編就為大家分享一篇Mongodb 利用mongoshell進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
Mongodb設(shè)置TTL索引自動清除數(shù)據(jù)與過期數(shù)據(jù)的方法
今天小編就為大家分享一篇關(guān)于Mongodb設(shè)置TTL索引自動清除數(shù)據(jù)與過期數(shù)據(jù)的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
淺談MySQL和MariaDB區(qū)別(mariadb和mysql的性能比較)
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品2018-02-02
MongoDB快速入門筆記(六)之MongoDB的文檔修改操作
這篇文章主要介紹了MongoDB快速入門筆記(六)之MongoDB的文檔修改操作的相關(guān)資料,需要的朋友可以參考下2016-06-06
mongodb主從復(fù)制_動力節(jié)點Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了mongodb主從復(fù)制的相關(guān)資料,討論mongodb的部署技術(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
MongoDB排序時內(nèi)存大小限制與創(chuàng)建索引的注意事項詳解
在數(shù)據(jù)量超大的情形下,任何數(shù)據(jù)庫系統(tǒng)在創(chuàng)建索引時都是一個耗時的大工程,下面這篇文章主要給大家介紹了關(guān)于MongoDB排序時內(nèi)存大小限制與創(chuàng)建索引的注意事項的相關(guān)資料,需要的朋友可以參考下2022-05-05

