系列文章: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商业支持和解决方案、培训服务,紧急救援服务,大数据系统建设方案。
本系列将从技术角度对Oracle和PostgreSQL进行对比讲解,以帮助Oracle DBA更好地理解和使用PostgreSQL。
一、正本清源
[历史简述]
了解PostgreSQL的光辉历史、苛刻的应用场景和它众多知名的用户,对于帮助 Oracle DBA建立对PostgreSQL的信心, 更好地 PostgreSQL这个数据库有积极的意义。
要说清楚PostgreSQL的历史,就不能割离Ingres项目,下面就让我们仔细地回顾一下。
在1973年IBM开始了关系型数据库的研究,并且发表了一系列的论文描述如何构造关系型数据库System-R,Berkeley大学的两位科学家 Michael Stonebraker 和 Eugene Wong,根据IBM发表的论文提到的概念,启动了Ingres项目,开始了关系型数据库的研究,该项目后来获得了美国国防部DARPA部门的资助。Ingres数据库早期主要运行在DEC的小型机上。
Ingres项目于1985年因为DARPA终止经费而结束,Berkeley大学将其源代码以BSD许可发布,允许将其用于任何目的。
注:Ingres项目的意义在于培养了很多关系型数据库人才,以及以此为技术基础,直接或间接地培育和发展了很多成功的商业数据库,如:NoStopSQL,Sybase,SQL Server 和 Informix。
Postgre项目从1986年开始,在Ingres的基础上继续开发和完善关系型数据库的一些特性,所以该项目命名为Postgres;在1995年的时候,因为两位华人为Postgres数据库项目加入了SQL特性的支持,在短暂地叫做Postgre95后,正式命名为PostgreSQL数据库。
到目前为止, PostgreSQL数据库持续不断地开发和完善已经连续地进行了 30年。 (从1986年开始记)。
详细历史可以参考Wiki:
[功能特性]
多版本并发控制机制(MVCC),多版本并发控制对于支持并发操作至关重要,有完善、健壮的多版本并发控制是支撑关键业务前提条件,是系统正确运行的基石和保证。PostgreSQL有经过大量关键业务系统验证过的,高效健壮的完善的多版本并发机制。
集群,Replication System,健壮的复制机制,PostgreSQL数据库有健壮可靠的复制系统,支持同步复制,异步复制,支持不限制层级的级联复制;支持物理复制,同时在最新的9.6版本中也支持逻辑复制。
丰富的索引类型,PostgreSQL支持非常丰富的索引,如B-tree,hash,GiST,GIN,SP-GiST,BRIN,库内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,Windows等70多种硬件平台和绝大多数操作系统。
[知名用户]
PostgreSQL在各种关键行业的关键业务中,有非常多的经过时间检验的成熟案例,涉及金融行业,通信行业,生产制造业。
通信行业:日本NTT,德国电信,澳洲电讯;浙江移动,中国联通,中兴通讯,华为。
金融行业:瑞银集团(UBS),俄罗斯国家银行,印度农业银行;邮政储蓄银行,平安保险(平安在生产环境运行了1000多套PostgreSQL数据库实例 [
] ,两年多以来运行非常平稳 )。
欢迎大家踊跃投稿,投稿邮箱:
以上是关于系列文章:PostgreSQL for Oracle DBA的主要内容,如果未能解决你的问题,请参考以下文章
操作指南:通过Rancher在K8S上运行PostgreSQL数据库