数据库汇总-各类数据库对比

一、PgSql

使用场景:

针对 PGMySQL,如果业务以OLAPHTAP场景为主,存储过程使用较多,且常用数据类型
是自定义、json 等,业务上空间、地理、时序等数据模型较多,建议选择PG,其余都尽量使用关系型数据库MySQL
一、PostgreSQL 相对于 MySQL 的优势
1、在 SQL 的标准实现上要比 MySQL 完善,而且功能实现比较严谨。
2、存储过程的功能支持要比 MySQL 好,具备本地缓存执行计划的能力。
3、对表连接支持较完整,优化器的功能较完整,支持的索引类型很多,复杂查询能力较强。
4PG 主表采用堆表存放,MySQL 采用索引组织表,能够支持比 MySQL 更大的数据量。
5PG 的主备复制属于物理复制,相对于 MySQL 基于 binlog 的逻辑复制,数据的一致性更加可靠,复制性能更高,对主机性能的影响也更小。
6MySQL 的存储引擎插件化机制,存在锁机制复杂影响并发的问题,而 PG 不存在。


PostgreSQL 只支持堆表,不支持索引组织表,Innodb 只支持索引组织表。
1、索引组织表的优势:表内的数据就是按索引的方式组织,数据是有序的,如果数据都是按主键来访问,那么访问数据比较快。
而堆表,按主键访问数据时,是需要先按主键索引找到数据的物理位置。

3、对于索引组织表来说,如果每次在中间插入数据,可能会导致索引分裂,索引分裂会大大降低插入的性能。
由于索引组织表是按一个索引树,一般它访问数据块必须按数据块之间的关系进行访问,而不是按物理块的访问数据的,
所以当做全表扫描时要比堆表慢很多,

OLTP(On-Line Transaction Processing):联机事务处理
OLAP(On-Line Analytical Processing):联机分析处理
HTAP(Hybrid Transactional(混合事务)/Analytical Processing):混合事务分析处理

你可能感兴趣的:(数据库)