基于 PostgreSQL 的关系型数据库方案

19
基基 PostgreSQL 基基基基基基基基 Kingsoft ~ KSO ~ 基基 基基 <[email protected]>

description

针对当前工作中遇到的数据库问题,寻求一种比较理想的产品

Transcript of 基于 PostgreSQL 的关系型数据库方案

Page 1: 基于 PostgreSQL 的关系型数据库方案

基于 PostgreSQL 的关系数据库方案Kingsoft ~ KSO ~ 快盘

刘鑫 <[email protected]>

Page 2: 基于 PostgreSQL 的关系型数据库方案

FAQ

• 什么是 PostgreSQL ?– 功能最丰富的关系型数据库。

• 一种新的数据库产品?– From INGRES Project...(1975~1977)– Postgres Project...(1983)– PostgreSQL (1995)

• 昂贵的产品?– BSD/MIT 类授权

• 社区是否有活力?– 历史最悠久的数据库项目和开源项目之一– 伯克利出品– 有成熟商业支持– 2008 ~ 2010 连续发布三个重要版本( 8.3/8.4/9.0 )

Page 3: 基于 PostgreSQL 的关系型数据库方案

八卦—— PostgreSQL 战斗史

• 与 DB2 竞争 RDB 语言标准• 与 Oracle 竞争商用数据库领域• 与 MySQL 竞争 Web 应用领域• 与非关系型数据库竞争面向对象数据库应用• ……

Page 4: 基于 PostgreSQL 的关系型数据库方案

PostgreSQL 的特色

• 强大的编程能力• 领先的事务实现• 出色的稳定性• 优秀的并发能力• 对各业务领域丰富的定向支持• 丰富的实施方案

Page 5: 基于 PostgreSQL 的关系型数据库方案

PostgreSQL VS Oracle

• 实施 / 部署– 20MB (编译后尺寸 100MB ) vs 2GB– 可部署于几乎所有的 *nix 类系统,以及 windows– 无需停机部署,即装即用– 无需 GUI 引导,简单命令即可完成– 广泛的软件库支持

• 采购– 可使用开源版本– 低于 Oracle 1/2 的费用可以买到专业的商业支持和闭源功能

• 功能– 更为丰富的编程能力– 接近的性能– 一定伸缩性– 独具特色的运维能力

Page 6: 基于 PostgreSQL 的关系型数据库方案

PostgreSQL vs MySQL

• 坚固可信的稳定性• 更易维护• 优秀的性能表现• 远超同侪的开发能力• 开放的社区文化

Page 7: 基于 PostgreSQL 的关系型数据库方案

一些性能测试

http://www.blowfisher.net/gallery/v/pg-vs-mysql/

Page 8: 基于 PostgreSQL 的关系型数据库方案

PostgreSQL vs MySQL

Page 9: 基于 PostgreSQL 的关系型数据库方案

高并下发下的高性能

• PostgreSQL 在高并发大量联接的情况下,表现更为优异• 不会因为联接量高导致性能下降• 极少锁定,几乎不会出现死锁• 平稳支持各种 DML 操作和查询

Page 10: 基于 PostgreSQL 的关系型数据库方案

高度可靠的数据库产品

• 可信的预写入机制• 并发读写时的版本合并和管理• 完备的事务支持

Page 11: 基于 PostgreSQL 的关系型数据库方案

方便的运维机制

• 多种不同的认证和安全管理手段• 在线备份• 多种不同的热 /“ 温”备集群方案

– plproxy– pgstandby– slony-i– pgpool-II

• 空间碎片在线热回收– vacuum– 无锁 / 低锁定

Page 12: 基于 PostgreSQL 的关系型数据库方案

完备的关系模型支持

• 主键• 序列器• 外键• 视图• 存储函数• 触发器• uuid• 约束

Page 13: 基于 PostgreSQL 的关系型数据库方案

丰富的业务支持

• 数组• 字典• 自由文本 text• 几何类型• 网络地址 IP/MAC• 位映射• binary

Page 14: 基于 PostgreSQL 的关系型数据库方案

强大的编程能力

• 完整支持 SQL 查询标准– 联接查询– 子查询– 集合计算

• 强大的文本处理能力– 正则表达式– lxml/lxslt

• 丰富的统计功能,可以胜任数据挖掘需求

Page 15: 基于 PostgreSQL 的关系型数据库方案

强大的编程能力

• 强大的 plsql– 各种优雅的游标实现– return next/query– 面向对象的类型定义和管理能力

• 无限扩展的嵌入式语言– python– perl– sh– scheme– java– cpp– ...

Page 16: 基于 PostgreSQL 的关系型数据库方案

丰富的架构方案

• 独立抽象的存储层,可以热伸缩• 商用级别的架构设计能力

– 主子表– 各种业务类型– 全文检索

• 实用的索引调优方案• 易操作的性能调优计划• 友好的系统集成• 可以应对各种不同领域

– 强可靠性的商务应用– 强调性能和扩展能力的互联网应用– 特定应用领域的定制需求

Page 17: 基于 PostgreSQL 的关系型数据库方案

不足之处

• 商业产品往往有更到位的服务支持• 中文资源较少• MySQL 在一些运维监控工具上胜出

Page 18: 基于 PostgreSQL 的关系型数据库方案

值得关注的 PostgreSQL 9

• 流式 pgstandby• 碎片回收的性能得到很大优化• 编程能力进一步增强• 分布式查询优化• 新的运维工具

Page 19: 基于 PostgreSQL 的关系型数据库方案

谢谢大家