数据库类型总结(从结构到处理类型)

简介

这里从结构上划分可以分为关系性数据库和非关系型数据
关系型:mysql,pg(postgreSql),vetica,ClickHouse
非关系型:Redis,MongoDb,Hbase

这里主要介绍关系型数据库

处理类型区分

按照处理类型区分有OLTP和OLAP两者类型
OLAP(On-Line Analytical Processing)在线分析处理,专注于分析处理,从对数据库操作来看,OLAP是对数据的查询;
OLTP(on-line transaction processing)在线事务处理,专注于事务处理,从对数据库操作来看,OLTP主要是对数据的增删改。
HTAP(Hybrid Transactional and Analytical Processing)混合处理,对于事务处理和分析处理都有很好的支持

对比图

特性OLTPOLAPHTAP
存储结构行式存储(Row-based Storage)列式存储(Column-based Storage)结合行式和列式存储(既支持高效事务处理,也支持高效查询)
操作类型高并发读写、小事务、快速插入/更新大数据查询、复杂的分析和聚合既能处理高并发事务操作,也能支持大数据查询和分析
数据一致性强ACID事务保证数据一致性不强调事务一致性,多为只读数据同时支持强一致性(事务处理)和最终一致性(分析处理)
查询复杂性简单的查询,通常针对单行数据复杂查询、聚合和分析支持复杂查询与聚合分析,但也保证事务的高效性
工作负载高频读写事务处理高频查询、低频写操作高频查询和低频写操作,适合同时需要OLTP和OLAP的场景
典型应用交易系统、订单管理、库存管理等数据仓库、商业智能、数据分析适用于需要同时处理实时事务和大数据分析的场景
例子MySQL、PostgreSQL、SQL ServerVertica、ClickHouse、BigQuery、DorisTiDB、HTAP系统(如 Azure Synapse、Google BigQuery)

注意这里说的OLAP/OLTP指的的大致类型的划分,例如MYSQL是OLTP类型的是指更偏向于OLTP事务的处理,当然也支持OLAP这种数据分析,只不过对比于Vertica这种列式存储的OLAP类型数据处理能力较弱。

OLAP

例如我们熟悉的Mysql和postgreSql数据库 都是典型的OLAP型数据库,都是基于行式存储,典型的订单之类的管理都需要这种数据库,因为需要支持高并发的修改,保持一致性

存储方式

将单条记录(一行数据)的所有字段连续存储在磁盘上。

例如:用户表的 (id, name, age, email) 四个字段的值会被一起存储。

OLTP

例如vertica,clickHouse数据库,属于列式存储,大数据场景具有高效查询,例如查询age的范围,就不需要像行式存储一样,全表查询,而是值分析age这一列

存储方式

将同一列的所有数据连续存储在磁盘上。

例如:用户表的 age 列的所有值会被存储在一起,独立于 name 列。

HTAP

这里的HTAP指的就是混合型数据库例如TiDB,对于事务处理,查询分析处理都有优秀的处理

存储方法

两种结合,创建一个副本来存储列式表结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值