当前位置:首页 » 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模型的融合 

· 读取整行的数据较慢,但部分数据较快