1 NoSql入門和概述

1. 入門概述

1.1 互聯(lián)網(wǎng)時代背景下 大機遇享潜,為什么用nosql

1單機MySQL的美好年代

在90年代订晌,一個網(wǎng)站的訪問量一般都不大晦譬,用單個數(shù)據(jù)庫完全可以輕松應(yīng)付锡溯。

在那個時候,更多的都是靜態(tài)網(wǎng)頁信峻,動態(tài)交互類型的網(wǎng)站不多倦青。

clip_image002.jpg

上述架構(gòu)下,我們來看看數(shù)據(jù)存儲的瓶頸是什么盹舞?

1.數(shù)據(jù)量的總大小 一個機器放不下時

2.數(shù)據(jù)的索引(B+ Tree)一個機器的內(nèi)存放不下時

3.訪問量(讀寫混合)一個實例不能承受

如果滿足了上述1 or 3個产镐,進化......

2 Memcached(緩存)+MySQL+垂直拆分

后來隘庄,隨著訪問量的上升,幾乎大部分使用MySQL架構(gòu)的網(wǎng)站在數(shù)據(jù)庫上都開始出現(xiàn)了性能問題癣亚,web程序不再僅僅專注在功能上丑掺,同時也在追求性能。程序員們開始大量的使用緩存技術(shù)來緩解數(shù)據(jù)庫的壓力述雾,優(yōu)化數(shù)據(jù)庫的結(jié)構(gòu)和索引街州。開始比較流行的是通過文件緩存來緩解數(shù)據(jù)庫壓力,但是當訪問量繼續(xù)增大的時候玻孟,多臺web機器通過文件緩存不能共享唆缴,大量的小文件緩存也帶了了比較高的IO壓力。在這個時候取募,Memcached就自然的成為一個非常時尚的技術(shù)產(chǎn)品琐谤。

1559044395930.png

Memcached作為一個獨立的分布式的緩存服務(wù)器,為多個web服務(wù)器提供了一個共享的高性能緩存服務(wù)玩敏,在Memcached服務(wù)器上,又發(fā)展了根據(jù)hash算法來進行多臺Memcached緩存服務(wù)的擴展质礼,然后又出現(xiàn)了一致性hash來解決增加或減少緩存服務(wù)器導致重新hash帶來的大量緩存失效的弊端

3 Mysql主從讀寫分離

由于數(shù)據(jù)庫的寫入壓力增加旺聚,Memcached只能緩解數(shù)據(jù)庫的讀取壓力。讀寫集中在一個數(shù)據(jù)庫上讓數(shù)據(jù)庫不堪重負眶蕉,大部分網(wǎng)站開始使用主從復制技術(shù)來達到讀寫分離砰粹,以提高讀寫性能和讀庫的可擴展性。Mysql的master-slave模式成為這個時候的網(wǎng)站標配了造挽。

1559044488201.png
4 分表分庫+水平拆分+mysql集群

在Memcached的高速緩存碱璃,MySQL的主從復制,讀寫分離的基礎(chǔ)之上饭入,這時MySQL主庫的寫壓力開始出現(xiàn)瓶頸嵌器,而數(shù)據(jù)量的持續(xù)猛增,由于MyISAM使用表鎖谐丢,在高并發(fā)下會出現(xiàn)嚴重的鎖問題爽航,大量的高并發(fā)MySQL應(yīng)用開始使用InnoDB引擎代替MyISAM。

同時乾忱,開始流行使用分表分庫來緩解寫壓力和數(shù)據(jù)增長的擴展問題讥珍。這個時候,分表分庫成了一個熱門技術(shù)窄瘟,是面試的熱門問題也是業(yè)界討論的熱門技術(shù)問題衷佃。也就在這個時候,MySQL推出了還不太穩(wěn)定的表分區(qū)蹄葱,這也給技術(shù)實力一般的公司帶來了希望氏义。雖然MySQL推出了MySQL Cluster集群衰腌,但性能也不能很好滿足互聯(lián)網(wǎng)的要求,只是在高可靠性上提供了非常大的保證觅赊。

1559044556836.png
5 MySQL的擴展性瓶頸

MySQL數(shù)據(jù)庫也經(jīng)常存儲一些大文本字段右蕊,導致數(shù)據(jù)庫表非常的大,在做數(shù)據(jù)庫恢復的時候就導致非常的慢吮螺,不容易快速恢復數(shù)據(jù)庫饶囚。比如1000萬4KB大小的文本就接近40GB的大小,如果能把這些數(shù)據(jù)從MySQL省去鸠补,MySQL將變得非常的小萝风。關(guān)系數(shù)據(jù)庫很強大,但是它并不能很好的應(yīng)付所有的應(yīng)用場景紫岩。MySQL的擴展性差(需要復雜的技術(shù)來實現(xiàn))规惰,大數(shù)據(jù)下IO壓力大,表結(jié)構(gòu)更改困難泉蝌,正是當前使用MySQL的開發(fā)人員面臨的問題歇万。

6 今天是什么樣子?勋陪?
clip_image010.jpg
7 為什么用NoSQL

為什么使用NoSQL ?

今天我們可以通過第三方平臺(如:Google,Facebook等)可以很容易的訪問和抓取數(shù)據(jù)贪磺。用戶的個人信息,社交網(wǎng)絡(luò)诅愚,地理位置寒锚,用戶生成的數(shù)據(jù)和用戶操作日志已經(jīng)成倍的增加。我們?nèi)绻獙@些用戶數(shù)據(jù)進行挖掘违孝,那SQL數(shù)據(jù)庫已經(jīng)不適合這些應(yīng)用了, NoSQL數(shù)據(jù)庫的發(fā)展也卻能很好的處理這些大的數(shù)據(jù)刹前。

clip_image012.jpg

1.2 是什么

NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”雌桑,

泛指非關(guān)系型的數(shù)據(jù)庫喇喉。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關(guān)系數(shù)據(jù)庫在應(yīng)付web2.0網(wǎng)站筹燕,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動態(tài)網(wǎng)站已經(jīng)顯得力不從心轧飞,暴露了很多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫則由于其本身的特點得到了非常迅速的發(fā)展撒踪。NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重數(shù)據(jù)種類帶來的挑戰(zhàn)过咬,尤其是大數(shù)據(jù)應(yīng)用難題,包括超大規(guī)模數(shù)據(jù)的存儲制妄。

(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數(shù)據(jù))掸绞。這些類型的數(shù)據(jù)存儲不需要固定的模式,無需多余操作就可以橫向擴展

1.3 能干嘛

易擴展

NoSQL數(shù)據(jù)庫種類繁多衔掸,但是一個共同的特點都是去掉關(guān)系數(shù)據(jù)庫的關(guān)系型特性烫幕。

數(shù)據(jù)之間無關(guān)系,這樣就非常容易擴展敞映。也無形之間较曼,在架構(gòu)的層面上帶來了可擴展的能力。

大數(shù)據(jù)量高性能

NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能振愿,尤其在大數(shù)據(jù)量下捷犹,同樣表現(xiàn)優(yōu)秀。

這得益于它的無關(guān)系性冕末,數(shù)據(jù)庫的結(jié)構(gòu)簡單萍歉。

一般MySQL使用Query Cache,每次表的更新Cache就失效档桃,是一種大粒度的Cache枪孩,

在針對web2.0的交互頻繁的應(yīng)用,Cache性能不高藻肄。而NoSQL的Cache是記錄級的蔑舞,

是一種細粒度的Cache,所以NoSQL在這個層面上來說就要性能高很多了

多樣靈活的數(shù)據(jù)模型

NoSQL無需事先為要存儲的數(shù)據(jù)建立字段仅炊,隨時可以存儲自定義的數(shù)據(jù)格式斗幼。而在關(guān)系數(shù)據(jù)庫里,

增刪字段是一件非常麻煩的事情抚垄。如果是非常大數(shù)據(jù)量的表,增加字段簡直就是一個噩夢

傳統(tǒng)RDBMS VS NOSQL

RDBMS vs NoSQL

RDBMS

- 高度組織化結(jié)構(gòu)化數(shù)據(jù)

- 結(jié)構(gòu)化查詢語言(SQL)

- 數(shù)據(jù)和關(guān)系都存儲在單獨的表中谋逻。

- 數(shù)據(jù)操縱語言呆馁,數(shù)據(jù)定義語言

- 嚴格的一致性

- 基礎(chǔ)事務(wù)

NoSQL

- 代表著不僅僅是SQL

- 沒有聲明性查詢語言

- 沒有預定義的模式

-鍵 - 值對存儲,列存儲毁兆,文檔存儲浙滤,圖形數(shù)據(jù)庫

- 最終一致性,而非ACID屬性

- 非結(jié)構(gòu)化和不可預知的數(shù)據(jù)

- CAP定理

- 高性能气堕,高可用性和可伸縮性

1.4 去哪下

Redis

Memcache

Mongdb

1.5 怎么玩

KV

Cache

Persistence

......

2. 3V+3高

2.1 大數(shù)據(jù)時代的3V

還有 69% 的精彩內(nèi)容
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
支付 ¥2.99 繼續(xù)閱讀
  • 序言:七十年代末纺腊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子茎芭,更是在濱河造成了極大的恐慌揖膜,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梅桩,死亡現(xiàn)場離奇詭異壹粟,居然都是意外死亡,警方通過查閱死者的電腦和手機宿百,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門趁仙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洪添,“玉大人,你說我怎么就攤上這事雀费「缮荩” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵盏袄,是天一觀的道長忿峻。 經(jīng)常有香客問我,道長貌矿,這世上最難降的妖魔是什么炭菌? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮逛漫,結(jié)果婚禮上黑低,老公的妹妹穿的比我還像新娘。我一直安慰自己酌毡,他們只是感情好克握,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著枷踏,像睡著了一般原茅。 火紅的嫁衣襯著肌膚如雪柏副。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機與錄音哭懈,去河邊找鬼。 笑死敛助,一個胖子當著我的面吹牛叨粘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播旗芬,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼舌胶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了疮丛?” 一聲冷哼從身側(cè)響起幔嫂,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎誊薄,沒想到半個月后履恩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡暇屋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年似袁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡昙衅,死狀恐怖扬霜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情而涉,我是刑警寧澤著瓶,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站啼县,受9級特大地震影響材原,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜季眷,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一余蟹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧子刮,春花似錦威酒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至橱赠,卻和暖如春尤仍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背狭姨。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工宰啦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人饼拍。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓绑莺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親惕耕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1 單機MySQL的美好年代 在90年代诫肠,一個網(wǎng)站的訪問量一般都不大司澎,用單個數(shù)據(jù)庫完全可以輕松應(yīng)付。在那個時候栋豫,更...
    笑Skr人啊閱讀 256評論 0 4
  • NoSql入門和概述 入門概述 1. 互聯(lián)網(wǎng)時代背景下大機遇挤安,為什么用nosql 1.1 單機MySQL的美好年代...
    彈鋼琴的崽崽閱讀 185評論 0 5
  • 1.互聯(lián)網(wǎng)時代背景下,為什么用nosql丧鸯? 1.單機mysql的美好年代 在90年代蛤铜,一個網(wǎng)站的訪問量一般都不大,...
    _簡_單_點_閱讀 101評論 0 0
  • 1. NoSql入門和概述 1.1) 互聯(lián)網(wǎng)時代背景下大機遇,為什么用nosql 1.1.1 單機MySQL的美好...
    21號新秀_鄧肯閱讀 251評論 0 0
  • 久違的晴天围肥,家長會剿干。 家長大會開好到教室時,離放學已經(jīng)沒多少時間了穆刻。班主任說已經(jīng)安排了三個家長分享經(jīng)驗置尔。 放學鈴聲...
    飄雪兒5閱讀 7,523評論 16 22