什么是PostgreSQL?比MySQL、Oracle强在哪( 四 )


PostgreSQL与Oracle有很多相似之处 , 它们都是使用共享内存的进程结构 , 客户端与数据库服务器建立一个连接后 , 数据库服务器就启动一个进程来为这个连接服务 。 这与MySQL的线程模型不一样 。
PostgreSQL与Oracle一样 , PostgreSQL的WAL日志与Oracle的Redo日志都是用于记录物理块数据的变化的 , 这与MySQL的binlog是不一样的 。
PostgreSQL在主备库方面非常完善 , 可以搭建同步备库、异步备库、延迟备库 , 在同步备库中可以配置数据同步到任意个备库上 。 只读备库在查询与应用日志的冲突解决方面提供了更多的参数控制 , 让DBA更容易控制只读备库的查询冲突 。 在配置备库的过程中 , PostgreSQL比Oracle简单很多 , 备库的搭建也更灵活 。
PostgreSQL与Oracle的不同之处在于 , PostgreSQL有更多支持互联网特征的功能 。 如PostgreSQL数据类型支持网络地址类型、XML类型、JSON类型、UUID类型以及数组类型 , 且有强大的正则表达式函数 , 如where条件中可以使用正则表达式匹配 , 也可以使用Python、Perl等语言写存储过程等 。
另外 , PostgreSQL更小巧 。 PostgreSQL可以在内存很小的机器上完美运行起来 , 如在512MB的云主机中 , 而Oracle数据库基本要在数GB的云主机中才可以运行起来 。
Oracle安装包动辄几个GB以上级别 , 而PostgreSQL的安装包只有几十MB大小 。 PostgreSQL在任何一个环境都可以轻松地安装 。 Oracle数据库安装花费的时间是在小时级别 , 而PostgreSQL在分钟级别就可以完成安装 。
关于作者:唐成 , 拥有20多年的数据库、操作系统、存储领域的工作经验 。 目前担任中启乘数科技CTO , 从事高性能、高可靠、高可用的分布式数据库的研究工作以及数据库内核的开发工作 。 历任过阿里巴巴的高级数据库专家和网易杭州研究院开发专家 。
本文摘编自《PostgreSQL修炼之道:从小工到专家》(第2版) , 经出版方授权发布 。
什么是PostgreSQL?比MySQL、Oracle强在哪
本文插图
延伸阅读《PostgreSQL修炼之道:从小工到专家》
推荐语:PostgreSQL中国社区数据库专家撰写 , PostgreSQL数据库领域经典著作 , 第2版全面升级 。