数据库以行、列的二维表的形式存储数据,但是却以一维字符串的方式存储,例如以下的一个表: 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,400002,Jones,Mary,500003,Johnson,Cathy,44000
列式数据库把一列中的数据值串在一起存储起来,然后再存储下一列的数据,以此类推。
1,2,3Smith,Jones,JohnsonJoe,Mary,Cathy40000,50000,44000这是一个简化的说法。
列式数据库的代表包括:Sybase IQ,infobright、infiniDB、GBase 8a,ParAccel, Sand/DNA Analytics和 Vertica。
MPP的列存储数据仓库包括:Yonghong Z-DataMart
列式数据库是以列相关存储架构进行数据存储的数据库,主要适合与批量数据处理和即席查询。GBase 8a 分析型数据库的独特列存储格式,对每列数据再细分为“数据包”。这样可以达到很高的可扩展性:无论一个表有多大,数据库只 *** 作相关的数据包,性能不会随着数据量的增加而下降。通过以数据包为单位进行 I/O *** 作提升数据吞吐量,从而进一步提高I/O效率。
由于采用列存储技术,还可以实现高效的透明压缩。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)