OSC 第 78 期高手问答 — 使用 PostgreSQL 去O

叶秀兰 发布于 2015/06/10 07:53
阅读 8K+
收藏 24

OSCHINA 本期高手问答 ( 6月10日- 6月16日) 我们请来了@osdba唐成)为大家解答关于使用 PostgreSQL 数据库去O 方面的问题。

唐成,拥有十几年数据库、操作系统、存储领域的工作经验。目前任沃趣科技首席数据库架构师,从事数据库高可用、高性能以及数据库云化等方面的研究工作。历任阿里巴巴数据库专家、高级数据库专家,从事过阿里巴巴的线上 Oracle、Greenplum、PostgreSQL 数据库的架构设计和运维工作,为阿里巴巴的 PostgreSQL 数据库的布道者,推动阿里云的关系型数据库服务(RDS)中提供 PostgreSQL 数据库服务,为阿里巴巴 PostgreSQL 数据库方面的技术带头人。也曾任网易杭州研究院开发专家,主导了网易云计算中的云硬盘产品(类似 amazon EBS)的设计和开发。

PostgreSQL修炼之道:从小工到专家全 面且实践性强:从 SQL 基础、安装配置、数据类型、数据库的逻辑结构等基础知识一直讲到 PostgreSQL 的架构、技术内幕、特色功能、Standby、数据库优化以及一些配套的开源软件的使用,覆盖了PostgreSQL 领域方方面面的知识。几乎每章都有大量的示例和经验总结。

为了鼓励踊跃提问,@华章 会在问答结束后从提问者中抽取 5 名幸运会员赠予《PostgreSQL修炼之道:从小工到专家》一书。

样章试读

书中不仅介绍了与 PostgreSQL 配套的实用性很强的一些主流开源软件(如 PgBouncerSlony-IBucardoPL/Proxypgpool-IIPostgres-XC),还针对 PostgreSQL 的特色功能(如规则系统、正则表达式、序列、GiST索引等内容)进行了总结。

购买链接:http://item.jd.com/11684063.html 

OSChina高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就使用 PostgreSQL 数据库去O 方面问题向 @osdba唐成)提问,请直接回帖提问。

加载中
0
滔哥
滔哥

@osdba : 作为一名phper.用习惯了MySQL, 一直想用PostgreSQL,从安装到使用,折腾几天发现无法习惯~

老师有嘛好的建议吗?


cevin
cevin
同是N年的PHPer。切换到PostgreSQL已经有一段时间了。除了一些必须用MySQL的地方(老板说要用,总监说要用,客户说要用)都是用PostgreSQL。pgsql是强类型,用mysql的时候没有在乎过“类型”的问题,比如pdo,参数绑定的类型统一是string。到pgsql发现自己有多蠢……
cstech
cstech
其实学习任何新的东西,开始时都有一个心理适应期,过了这段时间就会好的。就象我刚开始使用mac电脑一下。
0
donhui
donhui
@osdba :您好,数据库去O为何选择的是PostgreSQL,而不是Mysql或者其他开源数据库呢?是怎么做的技术选型呢?去O过程中您所遇到的最大问题是什么?谢谢
donhui
donhui
回复 @osdba : 谢谢您的解答
cstech
cstech
PostgreSQL中可以通过fdw方便把Oracle的数据同步过来(见http://osdbablog.sinaapp.com/525.html)。
cstech
cstech
在多数的Oracle数据库都有一定数量的复杂SQL,而PostgreSQL数据库可以支持这些复杂的SQL。PostgreSQL与Oracle一样都是物理Standby,都是多进程架构,通过我的亲身迁移项目的实践,使用PostgreSQL去O,应用的架构基本都不需要修改,只要修改少量SQL的语法就可以实现,而使用MySQL,通常都需要把整个应用都重写过才行(注:小库除外)。
0
乌龟壳
乌龟壳
@osdba :您好,请问Greenplum的稳定性等如何,如果公司采用Greenplum的话,需要很多人手去运维吗?谢谢。
宁青
宁青
回复 @osdba : 么么哒。
cstech
cstech
回复 @宁青 : 据说是快了,8月份?
宁青
宁青
回复 @osdba : greenplum 啥时候开源啊。
cstech
cstech
现在最新版本Greenplum已解决了以前大部分稳定性问题。如果Greenplum数据库的规模不大,如10台以下,数据量在20T以下,不需要很多人手运维。但如果达到30台以上,几百T以上的数据量,当然需要一定的人手才能维护好。当然现在规模大的集群都需要有经验的维护人员。
0
dodojava
dodojava
@osdba : P 的性能能达到或者超过 O的吗?是否有调整源码重新编译优化的相关内容?
cstech
cstech
在有些场景下,PG的性能超过O,有些场景下性能不如O。所以不能简单的回答PG的性能超过O还是不如O。我曾经使用过benchmarksql提供的TPCC在同样的一台机器上对比过O和PG,发现PG的测试结果稍比O强一点。
0
Peng_JK
Peng_JK
@osdba :postgresql的LB/HA集群方案怎么样,对比oracle有什么优势呢?
cstech
cstech
其实PG与MySQL一样,数据库本身并不提供LB/HA的功能,需要使用LVS或pacemaker等开源的LB/HA软件。
cstech
cstech
在我写的这本书中,介绍了与PG配合使用的一些开源软件与方案,如PgBouncer、Slony-I、Bucardo、PLProxy、pgpool-II、Postgres-XC,你需要灵活组织这些开源软件来满足你的业务需要。其中Postgres-XC现在比较热,是一个分库分库但对用户透明的真正的分布式架构。
0
L
Lemon-Olivia
@osdba :PostgreSQL 在集群中表现如何,替换O之后的稳定性可靠吗?
cstech
cstech
我在阿里时,曾经替换过一个几百G大小的数据库,替换后到现在一直工作稳定。
0
bloy
bloy
@osdba :postgresql能提供一套高可用性方案吗??
cstech
cstech
你需要灵活组织PgBouncer、Slony-I、Bucardo、PLProxy、pgpool-II、Postgres-XC和一些开源高可用套件如pacemaker来实现高可用,网上有很多这样的案例,你可以在网上搜看一下。当在也可以自己写简单的HA系统,就象我书中在PLProxy那章节中介绍的用python写的高可用方案。
0
过马路的蚂蚁
过马路的蚂蚁
@osdba :在企业级应用高HA是一个保障,PostgreSQL 这方面好像没有成熟的方案?
cstech
cstech
使用pacemaker配合PostgreSQL的HA是比较成熟的架构。当然所有开源软件都没有提供什么都做好的高可用方案,都需要一些定制的工作或找一相应的商业支持。
0
深山猎人
深山猎人

@osdba :已经在实际环境中使用 postgresQL,从刚开始的迷茫到现在略懂一二。postgresQL总体还是十分稳定,我想知道的是postgresQL 在数据库编程方面有哪些好的建议?例如版本控制如sqlserver tfs等等

0
pysnow530
pysnow530
早上好,之前用的一款来源软件openerp用的就是postgresql,但是但是没有仔细去研究数据库,想请教一下,postgresql跟mysql在架构上的主要区别有哪些呢?
mark35
mark35
多进程任务在多核cpu上面效率更高,多线程的对多核心利用率相对不高
cstech
cstech
PostgreSQL是基于共享内存的多进程架构,而MySQL是多线程架构。多进程架构中进程与进程是隔离的,一个进程的错误不会扩散到整个系统。而多线程架构,所有的内存数据都是共享的,一个线程有可能错误修改另一个线程的数据,导致一些逻辑错误。所以多线程架构要想保证同样的可靠性对开发人员会有更高的要求,新功能的稳定期也会更长一些。当然多线程会更节省资源,能直接支持更多的连接。
返回顶部
顶部