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

2,162 views
1,991 views

Published on

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

Published in: Education
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,162
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
51
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

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

  1. 1. 基于 PostgreSQL 的关系数据库方案 Kingsoft ~ KSO ~ 快盘 刘鑫 <liuxin2@kingsoft.com>
  2. 2. FAQ <ul><li>什么是 PostgreSQL ? </li></ul><ul><ul><li>功能最丰富的关系型数据库。 </li></ul></ul><ul><li>一种新的数据库产品? </li></ul><ul><ul><li>From INGRES Project...(1975~1977) </li></ul></ul><ul><ul><li>Postgres Project...(1983) </li></ul></ul><ul><ul><li>PostgreSQL (1995) </li></ul></ul><ul><li>昂贵的产品? </li></ul><ul><ul><li>BSD/MIT 类授权 </li></ul></ul><ul><li>社区是否有活力? </li></ul><ul><ul><li>历史最悠久的数据库项目和开源项目之一 </li></ul></ul><ul><ul><li>伯克利出品 </li></ul></ul><ul><ul><li>有成熟商业支持 </li></ul></ul><ul><ul><li>2008 ~ 2010 连续发布三个重要版本( 8.3/8.4/9.0 ) </li></ul></ul>
  3. 3. 八卦—— PostgreSQL 战斗史 <ul><li>与 DB2 竞争 RDB 语言标准 </li></ul><ul><li>与 Oracle 竞争商用数据库领域 </li></ul><ul><li>与 MySQL 竞争 Web 应用领域 </li></ul><ul><li>与非关系型数据库竞争面向对象数据库应用 </li></ul><ul><li>…… </li></ul>
  4. 4. PostgreSQL 的特色 <ul><li>强大的编程能力 </li></ul><ul><li>领先的事务实现 </li></ul><ul><li>出色的稳定性 </li></ul><ul><li>优秀的并发能力 </li></ul><ul><li>对各业务领域丰富的定向支持 </li></ul><ul><li>丰富的实施方案 </li></ul>
  5. 5. PostgreSQL VS Oracle <ul><li>实施 / 部署 </li></ul><ul><ul><li>20MB (编译后尺寸 100MB ) vs 2GB </li></ul></ul><ul><ul><li>可部署于几乎所有的 *nix 类系统,以及 windows </li></ul></ul><ul><ul><li>无需停机部署,即装即用 </li></ul></ul><ul><ul><li>无需 GUI 引导,简单命令即可完成 </li></ul></ul><ul><ul><li>广泛的软件库支持 </li></ul></ul><ul><li>采购 </li></ul><ul><ul><li>可使用开源版本 </li></ul></ul><ul><ul><li>低于 Oracle 1/2 的费用可以买到专业的商业支持和闭源功能 </li></ul></ul><ul><li>功能 </li></ul><ul><ul><li>更为丰富的编程能力 </li></ul></ul><ul><ul><li>接近的性能 </li></ul></ul><ul><ul><li>一定伸缩性 </li></ul></ul><ul><ul><li>独具特色的运维能力 </li></ul></ul>
  6. 6. PostgreSQL vs MySQL <ul><li>坚固可信的稳定性 </li></ul><ul><li>更易维护 </li></ul><ul><li>优秀的性能表现 </li></ul><ul><li>远超同侪的开发能力 </li></ul><ul><li>开放的社区文化 </li></ul>
  7. 7. 一些性能测试 <ul><li>http://www.blowfisher.net/gallery/v/pg-vs-mysql/ </li></ul>
  8. 8. PostgreSQL vs MySQL
  9. 9. 高并下发下的高性能 <ul><li>PostgreSQL 在高并发大量联接的情况下,表现更为优异 </li></ul><ul><li>不会因为联接量高导致性能下降 </li></ul><ul><li>极少锁定,几乎不会出现死锁 </li></ul><ul><li>平稳支持各种 DML 操作和查询 </li></ul>
  10. 10. 高度可靠的数据库产品 <ul><li>可信的预写入机制 </li></ul><ul><li>并发读写时的版本合并和管理 </li></ul><ul><li>完备的事务支持 </li></ul>
  11. 11. 方便的运维机制 <ul><li>多种不同的认证和安全管理手段 </li></ul><ul><li>在线备份 </li></ul><ul><li>多种不同的热 /“ 温”备集群方案 </li></ul><ul><ul><li>plproxy </li></ul></ul><ul><ul><li>pgstandby </li></ul></ul><ul><ul><li>slony-i </li></ul></ul><ul><ul><li>pgpool-II </li></ul></ul><ul><li>空间碎片在线热回收 </li></ul><ul><ul><li>vacuum </li></ul></ul><ul><ul><li>无锁 / 低锁定 </li></ul></ul>
  12. 12. 完备的关系模型支持 <ul><li>主键 </li></ul><ul><li>序列器 </li></ul><ul><li>外键 </li></ul><ul><li>视图 </li></ul><ul><li>存储函数 </li></ul><ul><li>触发器 </li></ul><ul><li>uuid </li></ul><ul><li>约束 </li></ul>
  13. 13. 丰富的业务支持 <ul><li>数组 </li></ul><ul><li>字典 </li></ul><ul><li>自由文本 text </li></ul><ul><li>几何类型 </li></ul><ul><li>网络地址 IP/MAC </li></ul><ul><li>位映射 </li></ul><ul><li>binary </li></ul>
  14. 14. 强大的编程能力 <ul><li>完整支持 SQL 查询标准 </li></ul><ul><ul><li>联接查询 </li></ul></ul><ul><ul><li>子查询 </li></ul></ul><ul><ul><li>集合计算 </li></ul></ul><ul><li>强大的文本处理能力 </li></ul><ul><ul><li>正则表达式 </li></ul></ul><ul><ul><li>lxml/lxslt </li></ul></ul><ul><li>丰富的统计功能,可以胜任数据挖掘需求 </li></ul>
  15. 15. 强大的编程能力 <ul><li>强大的 plsql </li></ul><ul><ul><li>各种优雅的游标实现 </li></ul></ul><ul><ul><li>return next/query </li></ul></ul><ul><ul><li>面向对象的类型定义和管理能力 </li></ul></ul><ul><li>无限扩展的嵌入式语言 </li></ul><ul><ul><li>python </li></ul></ul><ul><ul><li>perl </li></ul></ul><ul><ul><li>sh </li></ul></ul><ul><ul><li>scheme </li></ul></ul><ul><ul><li>java </li></ul></ul><ul><ul><li>cpp </li></ul></ul><ul><ul><li>... </li></ul></ul>
  16. 16. 丰富的架构方案 <ul><li>独立抽象的存储层,可以热伸缩 </li></ul><ul><li>商用级别的架构设计能力 </li></ul><ul><ul><li>主子表 </li></ul></ul><ul><ul><li>各种业务类型 </li></ul></ul><ul><ul><li>全文检索 </li></ul></ul><ul><li>实用的索引调优方案 </li></ul><ul><li>易操作的性能调优计划 </li></ul><ul><li>友好的系统集成 </li></ul><ul><li>可以应对各种不同领域 </li></ul><ul><ul><li>强可靠性的商务应用 </li></ul></ul><ul><ul><li>强调性能和扩展能力的互联网应用 </li></ul></ul><ul><ul><li>特定应用领域的定制需求 </li></ul></ul>
  17. 17. 不足之处 <ul><li>商业产品往往有更到位的服务支持 </li></ul><ul><li>中文资源较少 </li></ul><ul><li>MySQL 在一些运维监控工具上胜出 </li></ul>
  18. 18. 值得关注的 PostgreSQL 9 <ul><li>流式 pgstandby </li></ul><ul><li>碎片回收的性能得到很大优化 </li></ul><ul><li>编程能力进一步增强 </li></ul><ul><li>分布式查询优化 </li></ul><ul><li>新的运维工具 </li></ul>
  19. 19. 谢谢大家 Thank you

×