一弱卡、Nosql概述

1乃正、為什么使用Nosql

1、單機(jī)Mysql時(shí)代

90年代,一個(gè)網(wǎng)站的訪問(wèn)量一般不會(huì)太大婶博,單個(gè)數(shù)據(jù)庫(kù)完全夠用瓮具。隨著用戶(hù)增多,網(wǎng)站出現(xiàn)以下問(wèn)題

  1. 數(shù)據(jù)量增加到一定程度凡人,單機(jī)數(shù)據(jù)庫(kù)就放不下了
  2. 數(shù)據(jù)的索引(B+ Tree),一個(gè)機(jī)器內(nèi)存也存放不下
  3. 訪問(wèn)量變大后(讀寫(xiě)混合)名党,一臺(tái)服務(wù)器承受不住。

2挠轴、Memcached(緩存) + Mysql + 垂直拆分(讀寫(xiě)分離)

網(wǎng)站80%的情況都是在讀传睹,每次都要去查詢(xún)數(shù)據(jù)庫(kù)的話(huà)就十分的麻煩!所以說(shuō)我們希望減輕數(shù)據(jù)庫(kù)的壓力岸晦,我們可以使用緩存來(lái)保證效率欧啤!

在這里插入圖片描述

優(yōu)化過(guò)程經(jīng)歷了以下幾個(gè)過(guò)程:

  1. 優(yōu)化數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)和索引(難度大)
  2. 文件緩存,通過(guò)IO流獲取比每次都訪問(wèn)數(shù)據(jù)庫(kù)效率略高委煤,但是流量爆炸式增長(zhǎng)時(shí)候堂油,IO流也承受不了
  3. MemCache,當(dāng)時(shí)最熱門(mén)的技術(shù),通過(guò)在數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)訪問(wèn)層之間加上一層緩存碧绞,第一次訪問(wèn)時(shí)查詢(xún)數(shù)據(jù)庫(kù)府框,將結(jié)果保存到緩存,后續(xù)的查詢(xún)先檢查緩存,若有直接拿去使用院峡,效率顯著提升。

3系宜、分庫(kù)分表 + 水平拆分 + Mysql集群

在這里插入圖片描述

4照激、如今最近的年代

如今信息量井噴式增長(zhǎng),各種各樣的數(shù)據(jù)出現(xiàn)(用戶(hù)定位數(shù)據(jù)盹牧,圖片數(shù)據(jù)等)俩垃,大數(shù)據(jù)的背景下關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)無(wú)法滿(mǎn)足大量數(shù)據(jù)要求。Nosql數(shù)據(jù)庫(kù)就能輕松解決這些問(wèn)題汰寓。

目前一個(gè)基本的互聯(lián)網(wǎng)項(xiàng)目

在這里插入圖片描述

為什么要用NoSQL 口柳?

用戶(hù)的個(gè)人信息,社交網(wǎng)絡(luò)有滑,地理位置跃闹。用戶(hù)自己產(chǎn)生的數(shù)據(jù),用戶(hù)日志等等爆發(fā)式增長(zhǎng)毛好!
這時(shí)候我們就需要使用NoSQL數(shù)據(jù)庫(kù)的望艺,Nosql可以很好的處理以上的情況!

2肌访、什么是Nosql

NoSQL = Not Only SQL(不僅僅是SQL)

Not Only Structured Query Language

關(guān)系型數(shù)據(jù)庫(kù):列+行找默,同一個(gè)表下數(shù)據(jù)的結(jié)構(gòu)是一樣的。

非關(guān)系型數(shù)據(jù)庫(kù):數(shù)據(jù)存儲(chǔ)沒(méi)有固定的格式场靴,并且可以進(jìn)行橫向擴(kuò)展啡莉。

NoSQL泛指非關(guān)系型數(shù)據(jù)庫(kù),隨著web2.0互聯(lián)網(wǎng)的誕生旨剥,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)很難對(duì)付web2.0時(shí)代!尤其是超大規(guī)模的高并發(fā)的社區(qū)浅缸,暴露出來(lái)很多難以克服的問(wèn)題轨帜,NoSQL在當(dāng)今大數(shù)據(jù)環(huán)境下發(fā)展的十分迅速,Redis是發(fā)展最快的衩椒。

3蚌父、Nosql特點(diǎn)

  1. 方便擴(kuò)展(數(shù)據(jù)之間沒(méi)有關(guān)系,很好擴(kuò)展C取)

  2. 大數(shù)據(jù)量高性能(Redis一秒可以寫(xiě)8萬(wàn)次苟弛,讀11萬(wàn)次,NoSQL的緩存記錄級(jí)阁将,是一種細(xì)粒度的緩存膏秫,性能會(huì)比較高!)

  3. 數(shù)據(jù)類(lèi)型是多樣型的W鲋选(不需要事先設(shè)計(jì)數(shù)據(jù)庫(kù)缤削,隨取隨用)

  4. 傳統(tǒng)的 RDBMS 和 NoSQL

    傳統(tǒng)的 RDBMS(關(guān)系型數(shù)據(jù)庫(kù))
    - 結(jié)構(gòu)化組織
    - SQL
    - 數(shù)據(jù)和關(guān)系都存在單獨(dú)的表中 row col
    - 操作窘哈,數(shù)據(jù)定義語(yǔ)言
    - 嚴(yán)格的一致性
    - 基礎(chǔ)的事務(wù)
    - ...
    
    Nosql
    - 不僅僅是數(shù)據(jù)
    - 沒(méi)有固定的查詢(xún)語(yǔ)言
    - 鍵值對(duì)存儲(chǔ),列存儲(chǔ)亭敢,文檔存儲(chǔ)滚婉,圖形數(shù)據(jù)庫(kù)(社交關(guān)系)
    - 最終一致性
    - CAP定理和BASE
    - 高性能,高可用帅刀,高擴(kuò)展
    - ...
    

了解:3V + 3高

大數(shù)據(jù)時(shí)代的3V :主要是描述問(wèn)題

  1. 海量Velume
  2. 多樣Variety
  3. 實(shí)時(shí)Velocity

大數(shù)據(jù)時(shí)代的3高 : 主要是對(duì)程序的要求

  1. 高并發(fā)
  2. 高可擴(kuò)
  3. 高性能

真正在公司中的實(shí)踐:NoSQL + RDBMS 一起使用才是最強(qiáng)的让腹。

4、阿里巴巴演進(jìn)分析

推薦閱讀:阿里云的這群瘋子https://yq.aliyun.com/articles/653511

1

在這里插入圖片描述

商品信息
  • 一般存放在關(guān)系型數(shù)據(jù)庫(kù):Mysql,阿里巴巴使用的Mysql都是經(jīng)過(guò)內(nèi)部改動(dòng)的扣溺。
商品描述哨鸭、評(píng)論(文字居多)
  • 文檔型數(shù)據(jù)庫(kù):MongoDB
圖片
  • 分布式文件系統(tǒng) FastDFS
  • 淘寶:TFS
  • Google: GFS
  • Hadoop: HDFS
  • 阿里云: oss
商品關(guān)鍵字 用于搜索
  • 搜索引擎:solr,elasticsearch
  • 阿里:Isearch 多隆
商品熱門(mén)的波段信息
  • 內(nèi)存數(shù)據(jù)庫(kù):Redis,Memcache
商品交易娇妓,外部支付接口
  • 第三方應(yīng)用

5像鸡、Nosql的四大分類(lèi)

KV鍵值對(duì)

  • 新浪:Redis
  • 美團(tuán):Redis + Tair
  • 阿里、百度:Redis + Memcache

文檔型數(shù)據(jù)庫(kù)(bson數(shù)據(jù)格式):

  • MongoDB(掌握)
    • 基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)哈恰。C++編寫(xiě)只估,用于處理大量文檔。
    • MongoDB是RDBMS和NoSQL的中間產(chǎn)品着绷。MongoDB是非關(guān)系型數(shù)據(jù)庫(kù)中功能最豐富的蛔钙,NoSQL中最像關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)。
  • ConthDB

列存儲(chǔ)數(shù)據(jù)庫(kù)

  • HBase(大數(shù)據(jù)必學(xué))
  • 分布式文件系統(tǒng)

圖關(guān)系數(shù)據(jù)庫(kù)

用于廣告推薦荠医,社交網(wǎng)絡(luò)

  • Neo4j吁脱、InfoGrid
分類(lèi) Examples舉例 典型應(yīng)用場(chǎng)景 數(shù)據(jù)模型 優(yōu)點(diǎn) 缺點(diǎn)
鍵值對(duì)(key-value) Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB 內(nèi)容緩存,主要用于處理大量數(shù)據(jù)的高訪問(wèn)負(fù)載彬向,也用于一些日志系統(tǒng)等等兼贡。 Key 指向 Value 的鍵值對(duì),通常用hash table來(lái)實(shí)現(xiàn) 查找速度快 數(shù)據(jù)無(wú)結(jié)構(gòu)化娃胆,通常只被當(dāng)作字符串或者二進(jìn)制數(shù)據(jù)
列存儲(chǔ)數(shù)據(jù)庫(kù) Cassandra, HBase, Riak 分布式的文件系統(tǒng) 以列簇式存儲(chǔ)遍希,將同一列數(shù)據(jù)存在一起 查找速度快,可擴(kuò)展性強(qiáng)里烦,更容易進(jìn)行分布式擴(kuò)展 功能相對(duì)局限
文檔型數(shù)據(jù)庫(kù) CouchDB, MongoDb Web應(yīng)用(與Key-Value類(lèi)似凿蒜,Value是結(jié)構(gòu)化的,不同的是數(shù)據(jù)庫(kù)能夠了解Value的內(nèi)容) Key-Value對(duì)應(yīng)的鍵值對(duì)胁黑,Value為結(jié)構(gòu)化數(shù)據(jù) 數(shù)據(jù)結(jié)構(gòu)要求不嚴(yán)格废封,表結(jié)構(gòu)可變,不需要像關(guān)系型數(shù)據(jù)庫(kù)一樣需要預(yù)先定義表結(jié)構(gòu) 查詢(xún)性能不高丧蘸,而且缺乏統(tǒng)一的查詢(xún)語(yǔ)法漂洋。
圖形(Graph)數(shù)據(jù)庫(kù) Neo4J, InfoGrid, Infinite Graph 社交網(wǎng)絡(luò),推薦系統(tǒng)等。專(zhuān)注于構(gòu)建關(guān)系圖譜 圖結(jié)構(gòu) 利用圖結(jié)構(gòu)相關(guān)算法氮发。比如最短路徑尋址渴肉,N度關(guān)系查找等 很多時(shí)候需要對(duì)整個(gè)圖做計(jì)算才能得出需要的信息,而且這種結(jié)構(gòu)不太好做分布式的集群
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末爽冕,一起剝皮案震驚了整個(gè)濱河市仇祭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌颈畸,老刑警劉巖乌奇,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異眯娱,居然都是意外死亡礁苗,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)徙缴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)试伙,“玉大人,你說(shuō)我怎么就攤上這事于样∈柽叮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵穿剖,是天一觀的道長(zhǎng)蚤蔓。 經(jīng)常有香客問(wèn)我,道長(zhǎng)糊余,這世上最難降的妖魔是什么秀又? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮贬芥,結(jié)果婚禮上吐辙,老公的妹妹穿的比我還像新娘。我一直安慰自己誓军,他們只是感情好袱讹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著昵时,像睡著了一般。 火紅的嫁衣襯著肌膚如雪椒丧。 梳的紋絲不亂的頭發(fā)上壹甥,一...
    開(kāi)封第一講書(shū)人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音壶熏,去河邊找鬼句柠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的溯职。 我是一名探鬼主播精盅,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼谜酒!你這毒婦竟也來(lái)了叹俏?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤僻族,失蹤者是張志新(化名)和其女友劉穎粘驰,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體述么,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝌数,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了度秘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顶伞。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖剑梳,靈堂內(nèi)的尸體忽然破棺而出唆貌,到底是詐尸還是另有隱情,我是刑警寧澤阻荒,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布挠锥,位于F島的核電站,受9級(jí)特大地震影響侨赡,放射性物質(zhì)發(fā)生泄漏蓖租。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一羊壹、第九天 我趴在偏房一處隱蔽的房頂上張望蓖宦。 院中可真熱鬧,春花似錦油猫、人聲如沸稠茂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)睬关。三九已至,卻和暖如春毡证,著一層夾襖步出監(jiān)牢的瞬間电爹,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工料睛, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丐箩,地道東北人摇邦。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像屎勘,于是被迫代替她去往敵國(guó)和親施籍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

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

  • 一概漱、為什么要用NoSql 用戶(hù)的個(gè)人信息丑慎、社交網(wǎng)絡(luò)、地理位置犀概。用戶(hù)自己產(chǎn)生的數(shù)據(jù)立哑,用戶(hù)日志等爆發(fā)式增長(zhǎng)!每秒的數(shù)據(jù)...
  • 最近抽時(shí)間把Redis學(xué)了一下,所以就在網(wǎng)上找了一些資料产喉。然后找到尚硅谷-周陽(yáng)老師的視頻教程捂掰,覺(jué)得里面的講的挺好。...
    MPPC閱讀 1,082評(píng)論 0 3
  • 前言 這個(gè)系列要講的是幾乎所有互聯(lián)網(wǎng)公司都在使用的Redis曾沈,Redis 適用于挺多的業(yè)務(wù)場(chǎng)景这嚣,比如會(huì)話(huà)存儲(chǔ)、數(shù)據(jù)...
    鄒志全閱讀 358評(píng)論 0 2
  • 前言 關(guān)于redis塞俱,最近在b站看了一個(gè)比較全面的視頻姐帚,并且與此同時(shí)打算做個(gè)筆記,為了更好的理解和以后的復(fù)習(xí)障涯。ps...
    唯有努力不欺人丶閱讀 96評(píng)論 0 1
  • 一.能干嘛 1.易擴(kuò)展NoSQL數(shù)據(jù)庫(kù)種類(lèi)繁多罐旗,但是一個(gè)共同的特點(diǎn)都是去掉關(guān)系數(shù)據(jù)庫(kù)的關(guān)系型特性。數(shù)據(jù)之間無(wú)關(guān)系唯蝶,...
    碼農(nóng)GG閱讀 429評(píng)論 0 0