NoSQL,关系型数据库,行列数据库对比、类比
2022/7/27 2:25:07
本文主要是介绍NoSQL,关系型数据库,行列数据库对比、类比,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据库对比、类比
关系型数据库、NoSQL
关系型数据库
表与表之间有关系。表存储一些格式化的数据结构,每个元组字段的组成都一样,这样便于表之间的联结操作。不过也限制了其性能瓶颈。
更支持SQL,支持复杂计算
NoSQL
表与表之间没有直接关系,创建不用遵循三范式,以键值对存储,结构不固定,可以减少一些空间和时间上的开销。
NoSQL用于指定那些非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。
不太支持复杂计算。
一般不用做分析使用。
对比项 | NoSQL | 关系型数据库 |
---|---|---|
大表效率 | 高 | 低 |
成本 | 低 | 高 |
事务 | 不支持 | 支持 |
查询方式 | 非结构化查询 | 结构化查询 |
存储扩展 | 横向扩展,分布式 | 纵向扩展(横向有限) |
存储规范 | 可以冗余 | 规范性,避免重复 |
存储格式 | 文档、键值对 | 表格式的行和列 |
复杂SQL,多表关联 | 不行 | 可 |
行列数据库
行数据库按行存,列数据库按列存。
行数据库插入快,列数据库插入慢。
行数据库全表扫描,列数据库扫描区域很小。
对于聚合操作来说,列式数据库更快。
类别 | 行存储 | 列存储 |
---|---|---|
写入 | 写入一次性完成,保证数据完整性 | 一行记录拆成单列保存,写入次数多 |
数据修改写入方便 | 不轻易做数据修改写入操作 | |
适用于关系型数据库 | 适用于分析型数据库 | |
读取 | 将整行数据读取,如果只需要部分列,就会产生冗余列,会有消除冗余列的操作 | 读取的时候只读需要的列,不存在冗余性问题 |
同一行数据类型一般不同,解析时需要切换多种数据类型,消耗CPU增加解析时间 | 针对某列数据,数据类型相同,读取时不需要频繁切换数据类型 | |
按行压缩,当一行有多个字段,每个字段对应的数据类型可能不一致,压缩性能比较差 | 按列压缩,每一列对应相同的数据类型 |
HBase
- HBase是列式NoSQL数据库,可以海量存储,但是不适合分析。
- 可以作为数仓的维表使用,只需按主键查询即可。
ClickHouse
- ClickHouse是列式关系型数据库,既有列式数据库适合聚合操作的优点,又有关系型数据库的完备SQL特性。
- 由于其彪悍的单表性能,所以将实时数据提前关联成宽表交给其处理,可以保证数据的时效性。
参考
行列数据库对比
HBase分析
NoSQL与关系型数据库全面对比
这篇关于NoSQL,关系型数据库,行列数据库对比、类比的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?