系列文章:PostgreSQL for Oracle DBA

Posted PostgreSQL中文社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系列文章:PostgreSQL for Oracle DBA相关的知识,希望对你有一定的参考价值。

    朱贤文,成都文武信息技术有限公司创始人;IT行业近20年从业经验,熟悉PostgreSQL和Oracle数据库,熟悉Oracle RAC及ASM;创立成都文武信息技术前曾在Oracle, IBM, HP, VERITAS公司工作,主要工作涉及数据库产品、集群和存储产品研发。

    成都文武信息技术有限公司(WwIT) 成立于2014年,是国内专业的PostgreSQL数据库商业支持和技术提供商。公司提供完善的PostgreSQL商业支持和解决方案、培训服务,紧急救援服务,大数据系统建设方案。

 

    本系列将从技术角度对OraclePostgreSQL进行对比讲解,以帮助Oracle DBA更好地理解和使用PostgreSQL

一、正本清源

历史简述

    了解PostgreSQL的光辉历史、苛刻的应用场景和它众多知名的用户,对于帮助 Oracle DBA建立对PostgreSQL的信心, 更好地 PostgreSQL这个数据库有积极的意义。 

    要说清楚PostgreSQL的历史,就不能割离Ingres项目,下面就让我们仔细地回顾一下。 

    1973IBM开始了关系型数据库的研究,并且发表了一系列的论文描述如何构造关系型数据库System-RBerkeley大学的两位科学家 Michael Stonebraker Eugene Wong,根据IBM发表的论文提到的概念,启动了Ingres项目,开始了关系型数据库的研究,该项目后来获得了美国国防部DARPA部门的资助。Ingres数据库早期主要运行在DEC的小型机上。 

    Ingres项目于1985年因为DARPA终止经费而结束,Berkeley大学将其源代码以BSD许可发布,允许将其用于任何目的。 

    注:Ingres项目的意义在于培养了很多关系型数据库人才,以及以此为技术基础,直接或间接地培育和发展了很多成功的商业数据库,如:NoStopSQLSybaseSQL Server 和 Informix 

    Postgre项目从1986年开始,在Ingres的基础上继续开发和完善关系型数据库的一些特性,所以该项目命名为Postgres;在1995年的时候,因为两位华人为Postgres数据库项目加入了SQL特性的支持,在短暂地叫做Postgre95后,正式命名为PostgreSQL数据库。 

    到目前为止, PostgreSQL数据库持续不断地开发和完善已经连续地进行了 30年。 (从1986年开始记)。 

    详细历史可以参考Wiki

 

[功能特性]

多版本并发控制机制(MVCC),多版本并发控制对于支持并发操作至关重要,有完善、健壮的多版本并发控制是支撑关键业务前提条件,是系统正确运行的基石和保证。PostgreSQL有经过大量关键业务系统验证过的,高效健壮的完善的多版本并发机制。 

集群,Replication System,健壮的复制机制,PostgreSQL数据库有健壮可靠的复制系统,支持同步复制,异步复制,支持不限制层级的级联复制;支持物理复制,同时在最新的9.6版本中也支持逻辑复制。 

丰富的索引类型PostgreSQL支持非常丰富的索引,如B-treehashGiSTGINSP-GiSTBRIN,库内bitmap索引,用户可以根据自己的应用特性,选择适合的索引 

丰富的开发接口和语言支持,支持主流的开发语言和架构,如Java, C, C++, Python, Perl, C#, javascript,Go,Erlang等等。JDBC, ODBC, DBD::Pg,libqxx,nodejs-postgres,Npgsql,epgsql 

丰富的数据类型,可以参考https://en.wikipedia.org/wiki/PostgreSQL 

强大的跨平台特性,支持Linux,FreeBSD, OpenBSD, NetBSD, AIX, Solaris, OpenIndiana/Illumos/OpenSolaris, HPUX,Windows70多种硬件平台和绝大多数操作系统。

 

[知名用户

    PostgreSQL在各种关键行业的关键业务中,有非常多的经过时间检验的成熟案例,涉及金融行业,通信行业,生产制造业。 

    通信行业:日本NTT,德国电信,澳洲电讯;浙江移动,中国联通,中兴通讯,华为。

    金融行业:瑞银集团(UBS),俄罗斯国家银行,印度农业银行;邮政储蓄银行,平安保险(平安在生产环境运行了1000多套PostgreSQL数据库实例 [

 ] ,两年多以来运行非常平稳 )。

 

欢迎大家踊跃投稿,投稿邮箱


以上是关于系列文章:PostgreSQL for Oracle DBA的主要内容,如果未能解决你的问题,请参考以下文章

《PostgreSQL面试题集锦》学习与回答

操作指南:通过Rancher在K8S上运行PostgreSQL数据库

jmeter之JDBC Request各种数据库配置

PostgreSQL 性能优化 短查询 覆盖索引,前缀索引,索引和排序

Postgresql 生成日期系列(性能)

精通awk系列(19):awk流程控制之breakcontinuenextnextfileexit语句