列式数据库和行式数据库

项目涉及到nosql的建表等等。

而nosql是列式数据库,没有接触过。于是查了很多资料,浪费了很多时间。记录下来,为以后备用。



这个简单的表包括员工代码(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;


列式数据库的优点:
数据压缩比高,正因为同一类型的列存储在一起。
简化数据建模的复杂性。
由于查询需要读取的blocks少,速度更快。
BI的优秀选择。

注:block 的意思 



列式数据库行式数据库是两种不同的数据库存储方式,它们有各自的优势和劣势。 列式数据库(Columnar Database)将数据按列进行存储,每个列都有各自的数据类型和索引。这种存储方式的主要特点是高度的压缩率和快速的数据访问速度。列式数据库适用于需要经常查询特定列的场景,如数据分析、报表生成等。优点包括: 1. 高压缩率:列式数据库能够对相同数据类型的列进行高效压缩,因为相同类型的数据具有较高的相似性,从而减少存储空间的占用。 2. 快速查询:由于数据按列存储,查询时只需要读取所需的列数据,减少了不必要的IO操作,提高了查询效率。 3. 聚合查询效果好:列式数据库适用于聚合计算,例如对大量数据进行分组统计、求和、平均值等操作。 然而,列式数据库也存在一些劣势: 1. 更新和插入数据较慢:由于数据按列存储,更新和插入操作需要涉及多个列,导致写入性能较低。 2. 不适合事务处理:列式数据库一般不支持事务处理,因此在需要频繁进行事务操作的场景下效果不佳。 相比之下,行式数据库(Row-based Database)将数据按行进行存储,每个行包含多个列的数据。行式数据库适用于需要频繁更新和插入数据的场景,如在线事务处理系统。优点包括: 1. 高写入性能:由于数据按行存储,插入和更新操作只需要涉及一行数据,因此写入性能较高。 2. 支持事务处理:行式数据库通常支持事务处理,保证了数据的一致性和可靠性。 不过,行式数据库也存在一些劣势: 1. 查询效率较低:由于数据按行存储,查询时需要读取整行数据,造成不必要的IO开销,降低了查询效率。 2. 存储空间占用较大:相同类型的数据在行式数据库中会重复存储,导致存储空间占用较大。 综上所述,列式数据库适用于数据分析和报表生成等场景,而行式数据库适用于事务处理系统。选择合适的数据库类型应根据具体的业务需求和性能要求来决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值