|什么是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强的特性 , 如在索引和可扩展等方面 。
推荐阅读
- 台积电|iPhone 12真有那么抢手吗?究竟什么时候才会降价?
- 浩南|iPhone 12Pro对比12后,为什么会坚决选择Pro?
- 差评|下潜了一万米,中国征服马里亚纳海沟到底是什么样的壮举?
- 董明珠自媒体|双十一过后,他们都在晒什么?
- 燃新秀资讯|中国已经有北斗导航,为什么我们仍然用GPS?答案始料不及
- |科普:什么是重放攻击?
- |门罗币是什么?一文读懂匿名币霸主XMR
- 金台资讯|我们需要什么样的“算法”?
- 科学|澳洲母牛开始吃蛇,专家称缺乏营养,是真的吗?这预示着什么?
- 中期科技ZONTREE|什么是智慧公厕?中期科技用智慧城市、厕所革命的视觉来讲述
