柚子快報(bào)激活碼778899分享:數(shù)據(jù)庫(kù) Redis-NoSql
柚子快報(bào)激活碼778899分享:數(shù)據(jù)庫(kù) Redis-NoSql
一、Nosql概述
單機(jī)MySQL年代 90年代訪問(wèn)量不大,全國(guó)的互聯(lián)網(wǎng)并沒(méi)有通,那個(gè)時(shí)候更多的使用靜態(tài)網(wǎng)頁(yè)例如hao123,這種靜態(tài)頁(yè)面里沒(méi)有太大的壓力,所以單機(jī)的Mysql足夠用。
數(shù)據(jù)量如果太大,一臺(tái)機(jī)器放不下;索引不斷的累加,機(jī)器內(nèi)存受不了;訪問(wèn)量(讀寫(xiě)混合),一個(gè)服務(wù)承受不了。 只要出現(xiàn)以上三種情況,必須考慮晉級(jí)!
Memcached(緩存)+MySQL+垂直拆分(讀寫(xiě)分離) 網(wǎng)站大多數(shù)的情況都是在讀,甚至有很多是在讀重復(fù)的內(nèi)容, 如果每次都去讀取數(shù)據(jù)庫(kù),會(huì)存在IO瓶頸,所以這個(gè)時(shí)候加一層緩存來(lái)存儲(chǔ)每次讀取一致的那些內(nèi)容,當(dāng)?shù)谝粋€(gè)人讀時(shí)寫(xiě)入緩存,其他人再讀只需要從緩存中讀取數(shù)據(jù)即可。 發(fā)展過(guò)程:優(yōu)化MySQL底層數(shù)據(jù)結(jié)構(gòu)和索引->文件緩存(IO)->Memcached(當(dāng)時(shí)最熱門(mén)的技術(shù)) 分庫(kù)分表+水平拆分(集群) 如今年代的結(jié)構(gòu): 現(xiàn)在的定位、熱榜、音樂(lè)等數(shù)據(jù)多且瀏覽時(shí)刷新快,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)已經(jīng)無(wú)法滿足要求,所以產(chǎn)生了一些專門(mén)的存儲(chǔ)結(jié)構(gòu)來(lái)存儲(chǔ)這些數(shù)據(jù)。 例如,圖形數(shù)據(jù)庫(kù)、BSON、文件數(shù)據(jù)庫(kù)、文本數(shù)據(jù)庫(kù)等進(jìn)行對(duì)應(yīng)的處理,來(lái)減少M(fèi)ySQL的壓力。 現(xiàn)在個(gè)人信息、日志文件、地理位置信息等相關(guān)信息爆發(fā)式增長(zhǎng),傳統(tǒng)關(guān)系型數(shù)據(jù)無(wú)法滿足需求,所以這個(gè)時(shí)候需要使用NoSql數(shù)據(jù)庫(kù)進(jìn)行大量數(shù)據(jù)的存儲(chǔ)操作。 什么是NoSql? not only sql,不僅僅是sql,泛指非關(guān)系型數(shù)據(jù)庫(kù)。NoSql可以存儲(chǔ)一些無(wú)法通過(guò)行列的形式存儲(chǔ)的數(shù)據(jù),不需要多余的操作就可以橫線擴(kuò)展。 NoSql特點(diǎn): 解耦; 方便擴(kuò)展(數(shù)據(jù)之間沒(méi)有關(guān)系,很好擴(kuò)展); 大數(shù)據(jù)量高性能(redis一秒寫(xiě)8萬(wàn)次,讀11萬(wàn)); 數(shù)據(jù)類型多樣性,無(wú)需設(shè)計(jì)數(shù)據(jù)庫(kù),隨取隨用; 傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)和NoSql的區(qū)別:
傳統(tǒng)的sql:
- 結(jié)構(gòu)化組織
- 數(shù)據(jù)和關(guān)系都存在單獨(dú)的表中
- 數(shù)據(jù)定義語(yǔ)言
- 嚴(yán)格的一致性
- 基礎(chǔ)的事務(wù)
- ......
NoSql:
- 沒(méi)有固定的查詢語(yǔ)言
- 不僅僅是數(shù)據(jù)
- 鍵值對(duì)存儲(chǔ),列存儲(chǔ),文檔存儲(chǔ),圖形數(shù)據(jù)庫(kù)(社交關(guān)系)
- 最終一致性
- CAP定理和BASE
- 高性能,高可用,高擴(kuò)展
- ......
大數(shù)據(jù)時(shí)代的3V+3高
3V:
- 海量
- 多樣
- 實(shí)時(shí)
3高:
- 高可擴(kuò)
- 高并發(fā)
- 高性能
二、阿里巴巴技術(shù)發(fā)展史
三、關(guān)于一些數(shù)據(jù)的存儲(chǔ)
# 1、商品的基本信息
MySQL/Oracle
# 2、商品的描述、評(píng)論(文字比較多)
文檔型數(shù)據(jù)庫(kù)中,MongoDB
# 3、圖片
分布式文件系統(tǒng) FastDFS
- 淘寶自己的 TFS
- 谷歌自己的 GFS
- Hadoop HDFS
- 阿里云的 OSS
# 4、商品的關(guān)鍵字(搜索)
- 搜索引擎 solr elasticsearch
- ISearch: 多隆
# 5、商品的波段信息
內(nèi)存數(shù)據(jù)庫(kù)、redis等
# 6、商品的支付、交易
三方應(yīng)用
四、NoSql的四大分類
1、KV鍵值對(duì):
新浪:Redis美團(tuán):Redis+Tair阿里、百度:Redis+memache
2、文檔型(bson格式):
MongoDB:分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),由C++編寫(xiě)的,主要用于存儲(chǔ)大量文檔。介于關(guān)系型和非關(guān)系型的中間產(chǎn)品!CouchDB
3、列存儲(chǔ):
HBase分布式文件系統(tǒng)
4、圖關(guān)系數(shù)據(jù)庫(kù)
不是存圖形的,而是存放圖關(guān)系的,比如社交推薦、廣告推薦等。
Neo4j、InfoGrid
柚子快報(bào)激活碼778899分享:數(shù)據(jù)庫(kù) Redis-NoSql
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。