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