Oracle vs. PostgreSQL – A Comment

栏目: IT技术 · 发布时间: 4年前

内容简介:Hi,I know, this list is not for this, but I just couldn't resist. Please forgive me.Being an Oracle DBA for two decades now (back then starting with Oracle 8.0.5) and only doing PostgreSQL since version 10.3, I feel compelled to share some of my experience

Hi,

I know, this list is not for this, but I just couldn't resist. Please forgive me.

Being an Oracle DBA for two decades now (back then starting with Oracle 8.0.5) and only doing PostgreSQL since version 10.3, I feel compelled to share some of my experiences with both.

Quick facts:

All installations were performed on the same host except for Oracle Data Guard and Patroni with etcd, which both require at least three nodes, or an odd number >2 respectively) to establish a democracy to determine the master/primary and replica/standby databases. However, all machines have the same hardware and operating system:

OS: openSUSE Leap 15.1 (server setup, not desktop)

CPU: Intel i7-7700T CPU

RAM: 32 GB

Disk Hardware: SSD

Also, Oracle requires 161 additional packages to be installed, many of which are 32-bit packages, for a supposedly 64-bit only software! This results in 150 MB additional disk space needed and swamps the system with 32-bit packages!

PostgreSQL only requires a few packages to be installed depending on the options one chooses to compile the source with. Anyway, none of these packages require a 32-bit version!

Size of installation:

Software:

$ du -sh /data/postgres/12.3 /data/oracle/product/19.6

62M /data/postgres/12.3

8.5G /data/oracle/product/19.6

Databases:

$ du -sh /data/oradb/*

3.3G /data/oradb/cdb01 # Oracle Container w/ 1 PDB

1.8G /data/oradb/sdb01 # Oracle stand alone database

$ du -sh /data/pgdb/sdb01

659M /data/pgdb/sdb01 # PostgreSQL 12.3 database cluster

All databases are a clean setup, no schemas, users, tables, data, etc. Just an empty base.

Installation:

Oracle 19c: ~2h

unzip to ORACLE_HOME

runInstaller

unzip newest OPatch p6880880_200000_Linux-x86-64

apply p30797938_190000_Linux-x86-64 (19.6.1)

PostgreSQL 12.3 compiled from source: ~3m30s

bunzip postgresql-12.3.tar.bz2 to PGHOME

make install-world

Create database:

Oracle:

create stand alone database: ~30m

create container database (cdb$root): ~47m

create pluggable database (pdb): ~26s

Memory to run a database reasonably well:

at least 1 GB SGA for a stand alone database

at least 4 GB SGA for a container database

PostgreSQL:

initdb: <1s

create database: <200ms

Memory: 128 MB db_buffers

Start/stop database:

Oracle:

startup (standard, 1 GB SGA): ~15s

shutdown immediate (standard, 1 GB SGA): ~21s

startup (container, 4 GB SGA): ~16s

shutdown immediate (container, 4 GB SGA): ~23s

PostgreSQL:

pg_ctl start: 0.1s

pg_ctl stop: 0.2s

Other discoveries/experiences:

Oracle:

Set up Data Guard (2 nodes) with observer (3. node): ~4h

Applying a PSU or RU often requires downtime of 60m-90m.

Migrating a major version often requires downtime of 60m-90m.

Migrating a new major version requires a lot of work in advance.

Switching Data Guard takes ~1m.

PostgreSQL:

Set up Patroni (2 nodes) with etcd (3 nodes): ~30m

Applying a new minor version requires downtime of <2s.

Migrating a new major version requires downtime of <20s.

Migrating a new major version requires a few minutes work in advance.

Switching Patroni takes ~1s.

Oracle has some good concepts. I like the conecpt of separate UNDO and TEMP tablespaces and not having to care about vacuuming. Also, I like the idea of global container/cluster-wide views such as CDB_TABLES, etc., a thing which I definitely and seriously miss about PostgreSQL.

What I especially hate about Oracle (despite the license costs, of course) is that it has so many bugs, bugs and even more bugs and one keeps on searching for patches all day, generating lot of downtime. Applying a PSU or RU is mostly not enough.

So bottom line, PostgreSQL beats Oracle by far in my opinion, at least as far as installing it and sizes are concerned.

So, guess what I think is wrong with Oracle after 20 years of working with it...

Sorry for the rant. ;-)

Cheers,

Paul


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

jQuery 技术内幕

jQuery 技术内幕

高云 / 机械工业出版社 / 2014-1-1 / 99元

本书首先通过“总体架构”梳理了各个模块的分类、功能和依赖关系,让大家对jQuery的工作原理有大致的印象;进而通过“构造 jQuery 对象”章节分析了构造函数 jQuery() 的各种用法和内部构造过程;接着详细分析了底层支持模块的源码实现,包括:选择器 Sizzle、异步队列 Deferred、数据缓存 Data、队列 Queue、浏览器功能测试 Support;最后详细分析了功能模块的源码实......一起来看看 《jQuery 技术内幕》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具