NoSQL概述

什麼是NoSQL

NoSQL = "not only sql"
泛指非關係型數據庫

NoSQL能幹嘛

易擴展

	NoSQL種類繁多, 但是擁有共同的特性就是去掉關係型數據庫的關係性

大數據量高性能

	NoSQL數據庫都具有非常高的讀寫性能, 在大數據量的存儲下更是如此。這就要得益於它非關係性的好		
	處, 去掉關係, 數據庫結構簡單。一般使用MySQL的Query Cache,每次表更新cache就會失效。
	是一種大粒度的Cache, 且性能不是很高。但是NoSQL是記錄級的, 是一種細粒度的Cache, 所以在性能
	方面, NoSQL的性能佔有極大的優勢

多樣靈活的數據模型

	NoSQL無需爲要存儲的數據先建立字段, 可以隨機性的存儲自己需要的字段。
	而在關係型數據庫中, 如果有一個大數據量的表需要添加字段, 那是一個很高危的操作

傳統RDBMS vs NoSQL

RDBMS

(1) 高度組織結構化數據
(2) 結構化查詢語言(SQL)
(3) 數據和關係都存儲在單獨的表中
(4) 數據操縱語言和數據定義語言
(5) 嚴格一致性
(6) 基礎食物

NoSQL

(1) 沒有聲明性查詢語言
(2) 沒有預定義模式
(3) 多樣化存儲
	1) 鍵值對存儲
	2) 列存儲
	3) 文檔存儲
	4) 圖形存儲
(4) 最終一致性, 非ACID
(5) 非結構化和不可預知的數據
(6) CAP定理
(7) 高性能 - 高可用- 高擴展	

常用的NoSQL

(1) Redis
(2) Memcache
(3) Mongdb

哪些場景下需要NoSQL

(1)大數據時代的3V
		1) 海量 - Volume
		2) 多樣 - Variety
		3) 實時 - Velocity
 (2) 當代互聯網下的3高
 		1) 高併發
 		2) 高擴展
 		3) 高性能

當代互聯網環境NoSQL的實際應用

阿里巴巴中文網的商品信息存儲

(1) 商品基礎信息: 名稱, 價格,出廠日期,出廠商
(2) 商品描述,商品詳情,評價信息(如果使用mysql存儲大量文字信息, IO性能會變差)
(3) 商品圖片
(4) 商品關鍵字
(5) 商品波段性高頻信息

NoSQL數據模型簡介

(1) KV
(2) Bson
(3) 列族
(4) 圖形 

NoSQL數據庫的四大分類

KV鍵值

(1) redis

文檔型

(1) MongoDB
(2) CouchDB

列存儲

(1) Hbase
(2) Cassandra

圖關係型

(1) Neo4J
(2) InfoGrid
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章