查看: 230|回复: 0

[转载] PostgreSQL的优缺点

[复制链接]
论坛徽章:
3
SAS研习者初级
日期:2013-08-25 13:46:06Oracle研习者高级
日期:2015-09-08 12:09:11mysql徽章
日期:2015-12-10 10:12:43
发表于 2019-9-17 14:45 | 显示全部楼层 |阅读模式

数据库 管理 SQL 存储 PostgreSQL

本帖最后由 chinaoracle 于 2019-9-17 14:47 编辑

      PostgreSQL 是一款高级的企业级开源关系数据库,支持 SQL(关系型)和 JSON(非关系型)查询。它是一个高度稳定的数据库管理系统,依托 20 多年的社区发展,造就了其高水平的故障恢复能力、完整性和正确性。PostgreSQL 可用作很多 Web、移动、地理空间和分析应用程序的主要数据存储或数据仓库。主要版本为 PostgreSQL 11。
      PostgreSQL 在支持高级数据类型方面战绩颇丰,并且支持一定水平的性能优化(常见于 Oracle 和 SQL Server 等对手型商业数据库)。AWS 通过 Amazon Relational Database Service (RDS) 的完全托管数据库服务为 PostgreSQL 提供支持,并且使用 PostgreSQL 构建了兼容 PostgreSQL 的 Amazon Aurora。
      具体的优点特性如下:
  1.PostgreSQL的特性覆盖了SQL-2/SQL-92和SQL-3/SQL-99,是目前世界上支持最丰富的数据类型的数据库。
  2.PostgreSQL是全功能的自由软件数据库,PostgreSQL是支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的的一种自由软件的数据库管理系统。
  3.PostgreSQL采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。
  4.PostgreSQL对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。
  PostgreSQL缺点:
       因为使用了MVCC,数据库需要定期VACUUM,需要定期维护表和索引避免膨胀导致性能下降。
       没有很好的开源集群监控方案(或者太丑!),需要自己做。
       慢查询日志和普通日志是混在一起的,需要自己解析处理。
       官方Pg没有很好用的列存储,对数据分析而言算一个小遗憾。
  对于PostgreSQL这样的关系数据库来说,分区不是强项。如果需要水平扩展而不是垂直扩展(多个并行的数据库而不是单个强大的机器或集群),可能较好寻找别的解决方案。如果数据要求过于灵活,不是很容易融入关系数据库严格的数据模式要求,或者不需要一个完整的数据库功能带来的开销,需要进行非常大量的键值对读写操作,或只需要存储二进制大对象数据,那么其他的数据存储技术可能更好。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2019-10-18 08:35 , Processed in 0.096579 second(s), 30 queries .

关闭

扫一扫加入
本版微信群