什么是PostgreSQL?比MySQL、Oracle强在哪( 三 )
这些强大的功能可以大大地节约开发资源 。 很多开发人员在PostgreSQL上做开发时 , 会发现数据库已实现很多功能 , 甚至有一些业务功能都不再需要写代码来实现了 , 直接使用数据库的功能即可解决问题 。
- 性能优化工具与度量信息丰富
- 在线操作功能好
- 从PostgreSQL9.1开始 , 支持同步复制(synchronous replication)功能 , 通过Master和Slave之间的复制可以实现零数据丢失的高可用方案 。
- 可以方便地写插件来扩展PostgreSQL数据库的功能
现在针对已有的常见外部数据源 , 如Oracle、MySQL、SQL Server等数据库都有了第三方插件 , 通过这些第三方插件可以在PostgreSQL数据库中方便地访问外部数据 。 另外 , PostgreSQL还提供了钩子函数的接口 , 可以实现更强大功能的插件 , 如pg_pathman分区表的插件、citus分库分表的插件等 。
另外 , 由于MySQL对SQL语法支持的功能较弱 , 基本上不适合做数据仓库 。 虽然也有些厂商开发了MySQL数据仓库的存储引擎(如Infobright) , 但这个方案只是解决了部分数据仓库的问题 , SQL功能弱的问题还是无法完全解决 。
而且Infobright的社区版本在功能上有很多限制 , 如不支持数据更新、不支持太多的并发执行(最多支持十几个)等 。 而PostgreSQL不仅支持复杂的SQL , 还支持大量的分析函数 , 非常适合做数据仓库 。
PostgreSQL数据库中还有一些支持移动互联网的新功能 , 如空间索引 。 PostGIS是最著名的一个开源GIS系统 , 它是PostgreSQL中的一个插件 , 在PostgreSQL中使用它很方便 。 通过PostGIS也可以很方便地解决LBS中的一些位置计算问题 。
综上所述 , PostgreSQL数据库是一个功能强大 , 又带有移动互联网特征的开源数据库 。
如果你仅仅是想把数据库作为一个简单的存储软件(一些大的互联网公司就是这样) , 一些较复杂的功能都想放在应用中来实现 , 那么选择MySQL或一些NoSQL产品都是合适的 。 如果你应用的数据访问很简单(如大多数的博客系统) , 那么后端使用MySQL也是很合适的 。
但是如果你的应用不像博客系统那么简单 , 又不想消耗太多的开发资源 , 那么PostgreSQL是一个很明智的选择 。 最有说服力的例子就是图片分享公司Instagram , 在使用“Python+PostgreSQL”架构后 , 只是十几个人就支撑了整个公司的业务 。
在数据库中使用PostgreSQL的感觉就像在开发语言中使用Python , 会让你的工作变得简洁和高效 。
2. PostgreSQL与Oracle数据库的对比
本文插图
从功能上说 , PostgreSQL可以与Oracle数据库媲美 。 Oracle数据库是目前功能最强大的商业数据库 , PostgreSQL则是功能最强大的开源数据库 。 Oracle在集群功能如RAC、ASM方面比较强 , 但PostgtreSQL也有一些比Oracle强的特性 , 如在索引和可扩展等方面 。
推荐阅读
- 韩系车|1月市场份额仅1.7% 韩系车为什么在中国越卖越少?
- 微信|官方:现行“个人收款码”不停用、不关闭 新增“个人经营码”究竟是什么?
- ARM|4000多亿的ARM交易被搅黄 NVIDIA黄仁勋谈笑风生:改变不了什么
- 程序员|“程序员做饭指南”霸榜GitHub 用数学公式解决“吃什么”世纪难题
- 地球|有史以来体型最长的动物被发现!地球上还潜藏着什么神秘巨兽?
- 电动车|中国人为什么热衷造廉价车?
- 大熊猫|狮子和老虎为什么不吃大熊猫 真的是因为打不过吗?
- 汽车|汽车的三元催化器有什么用 为什么现在这么多小偷盯上了?
- 电子墨水屏|用电子墨水屏打游戏是什么体验?网友实测:除了有点卡都完美
- 科学|楼上无人!夜深人静时为什么总能听到有弹珠落地滚动的声音?
