當前位置:首頁 » NoSQL教學 » NoSQL列存

NoSQL列存

NoSQL列存學習和介紹-數據庫以行、列的二維表的形式存儲數據.

列存

數據庫以行、列的二維表的形式存儲數據,但 是卻以一維字符串的方式存儲,例如以下的一個表:


EmpId

Lastname

Firstname

Salary

1

Smith

Joe

40000

2

Jones

Mary

50000

3

Johnson

Cathy

44000


這個簡單的表包括員工代碼(EmpId), 姓名字段(Lastname and Firstname)及工資(Salary).

這個表 存儲在電腦的內存(RAM)和存儲(硬盤)中。雖然內存和硬盤在機製上不同,電腦的操作係統是以同樣的方式存儲的。數據庫必須把這個二維表存儲在一係列一 維的“字節”中,又操作係統寫到內存或硬盤中。

行式數據庫把一行中的數據值串在一起存儲起來,然後再存儲下一行的數據,以此類推。

1,Smith,Joe,40000;2,Jones,Mary,50000;3,Johnson,Cathy,44000;

列 式數據庫把一列中的數據值串在一起存儲起來,然後再存儲下一列的數據,以此類推。

1,2,3;Smith,Jones,Johnson;Joe,Mary,Cathy;40000,50000,44000;


特點

· 良 好的壓縮比。由於大多數數據庫設計都有冗餘,如此一來,壓縮比非常高,把40多M的數據導入infobright,冇想到數據文件隻有1M多 

· 列 上的計算非常的快。 

· 方便MapReduce和Key-value模型的融合 

· 讀取整行的數據較慢,但部分數據較快