TPC-H测试 - PostgreSQL 10 vs Deepgreen(Greenplum)
背景 通常一家企业除了有在线业务处理的数据库、也会有数据分析型的数据库。 很长一段时间以来,数据库产品也是分场景设计的,例如MySQL就是非常典型的TP型数据库。Greenplum则是非常典型的AP型数据库。 Oracle介于两者之间,具备典型TP型数据库的能力,同时还具备小型的数据分析的能力(例如通过并行查...
背景 通常一家企业除了有在线业务处理的数据库、也会有数据分析型的数据库。 很长一段时间以来,数据库产品也是分场景设计的,例如MySQL就是非常典型的TP型数据库。Greenplum则是非常典型的AP型数据库。 Oracle介于两者之间,具备典型TP型数据库的能力,同时还具备小型的数据分析的能力(例如通过并行查...
背景 从功能、性能、SQL兼容性几个方面,输出一些Oracle业务适合用PostgreSQL替代的一些指标。 功能指标 如果业务中用到了这些特性,则非常适合使用PostgreSQL。 1、业务使用的数据类型中出现 IP地址、GIS、数组、范围、全文检索、大对象、字节流、比特流、枚举、几何、自定义复合、UUI...
背景 终于到了性能篇,三节点同时满足了企业对数据库的可用性、可靠性的要求,那么性能如何呢? 提到性能测试,我有几点一定要说明一下,很多朋友对性能的理解可能有偏差,那么如何评判性能的好坏呢? 1、首先要明确测试的环境,包括数据库主机(主要包括CPU、内存、网卡,如果你的数据库能用上FPGA、GPU的计算能力,还...
背景 数据库的事务是原子操作,要么成功,要么失败。但是实际上在客户端的视角,可能有第三种状态:unknown状态。 当客户端提交事务结束(rollback , commit , prepare xact , rollback pxact , commit pxact)的请求后,数据库收到请求,数据库可能执行失败...
背景 之前写过一篇文档,介绍如何控制某张表有且只有一条记录。 《如何实现一张表有且只有一条记录 implement PostgreSQL table have one and only one row》 接下来这个需求与之类似,一张表好像有且只有一条记录,要求这样: 1、支持插入、更新、删除、查询操作, ...
背景 流复制起源 PostgreSQL 自从2010年推出的9.0版本开始,支持流式物理复制,用户可以通过流式复制,构建只读备库(主备物理复制,块级别一致)。流式物理复制可以做到极低的延迟(通常在1毫秒以内)。 同步流复制 2011年推出的9.1版本,支持同步复制,当时只支持一个同步流复制备节点(例如配置了3个...
背景 《阿里云RDS金融数据库(三节点版) - 背景篇》说明了为什么需要推出金融级数据库的三节点版本,以及三节点引入的一个世界难题 - 拜占庭将军问题。 Lamport 在论文 《The Part-Time Parliament》中提出了一种算法Paxos,并使用了大量的数学公式论证了通过Paxos算法解决拜占...
背景 哪些参数或因素将影响或控制PostgreSQL的垃圾回收呢? 参数 全局参数 1、控制VACUUM命令的睡眠时间,当vacuum的阶段性COST大于vacuum_cost_limit时,睡眠一段时间后继续。 vacuum_cost_delay = 0 # 0-100...
背景 提到金融级数据库,大家可能不约而同的会想到Oracle,DB2等商业数据库。但是随着开源数据库的发展,开源数据库正在逐渐成为数据库产业的核心,比如MySQL、PostgreSQL数据库 ,已经深入阿里、平安科技、苏宁、高德、国家电网(还有很多)的核心。可以看到,不管是MySQL还是PostgreSQL,有越...
背景 原文地址 http://www.cnblogs.com/mindwind/p/5231986.html 原文写得很赞,很好理解,不过有一些细节(例如幂等,例如和数据库结合可能需要考虑的点)我做了一些简单补充。 正文 一致性问题可以算是分布式领域的一个圣殿级问题了,关于它的研究可以回溯到几十年前。 拜占...