PostgreSQL 好评如潮,它是如何做到的? - 开源中国社区
Float_left Icon_close
PostgreSQL 好评如潮,它是如何做到的?
OSC源创君 2017年12月20日

PostgreSQL 好评如潮,它是如何做到的?

OSC源创君 OSC源创君 发布于2017年12月20日 收藏 13

阿里云高性能云服务器,2折起! >>> >>>  

PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),功能很强大。包括了可以说是目前世界上最丰富的数据类型的支持,比如 IP 类型和几何类型等等。

PostgreSQL 在 1973 年还处于一个浑沌初开的年代,在那个年代大家并不了解数据库。很不幸的是,在 1982 年的时候 ingres 就闭源了,走上了商业化的道路。

PostgreSQL 真正诞生于二十世纪八十年代,它沿用了 ingres 很多的思想。到了 1995 年,两位华人把 PostgreSQL 的 SQL 引擎改掉之后,正式社区化了。在 1995 年的时候它是一个“金蝉脱壳”的状态。 PostgreSQL 从此诞生了。

就在两个月前,PostgreSQL 10 正式发布,主要新特性包括:

  • 使用基于发布和订阅机制的逻辑复制

  • 声明式的表分区

  • 提升了查询的并发性

  • 显著的性能提升

  • 更强的基于 SCRAM-SHA-256 密码认证机制

  • 提升了监控和控制功能

经过近 20 年的持续开发和经验证的体系结构,PostgreSQL 在数据库领域已经赢得了良好的声誉。

2017 年数据库趋势预测显示,PostgreSQL 最受关注。而从 DB-Engines 每个月公布的榜单来看,PostgreSQL 的比分每月都以不同的程度在增长。虽然 Oracle 和 MySQL 一直都占据着榜首和次榜首,但比分出现过几次下降。曾有作者在 InfoWorld 发博大胆预测,按照现在的增长速度,PostgreSQL 超过 MySQL 和 Oracle 只是时间的问题。

PostgreSQL 的一些粉丝说它能与 Oracle 相媲美。因为关系数据库的理论已经相当成熟,Oracle 和 PostgreSQL 都是该理论的比较完整的实现。Oracle 产品化程度高一些,PostgreSQL 这几年的发展非常的快,性能可靠性都完全没问题。

而与 MySQL 相比,MySQL 的背后是一个成熟的商业公司,而 PostgreSQL 的背后是一个庞大的志愿开发组。这使得 MySQL 的开发过程更为慎重,而 PostgreSQL 的反应更为迅速。这样的两种背景直接导致了各自固有的优点和缺点。

一些使用过 PostgreSQL 的用户表示:

A:维护了六年 PostgreSQL ,数据库本身非常稳定!

B:PSQL确实是非常好的一个选择,明年深入学习一下。

C:这个数据库的代码写的非常工整

......

为何 PostgreSQL 发展如此迅速?它又是如何获得用户一致好评的呢?2018 年它又会带来哪些突破?

2017 年源创会年终盛典 —— PostgreSQL 专场为您现场揭秘!

届时将由来自阿里、瀚高、探探、云贝技术公司,包括德哥在内的 5 位技术专家带来实际案例、实践经验、新特性解读等的技术分享:

1、PG 在机器学习平台的应用

嘉宾介绍:熊亮,阿里云技术专家, 全栈工程师,阿里云新行业大数据应用架构师

主题介绍:我们团队负责向企业输出工程和算法能力,例如企业图谱,企业风控,企业机器学习平台等。在大数据应用中,数据的采集,加工,处理,计算,输出是主要流程,因此,数据的存储方案的选择非常重要。在采集,加工过程中,我们需要灵活的读写方式;在计算过程中,我们需要高吞吐量和容量;在输出过程中,我们需要低延迟。为了控制开发和维护成本,我们坚持 Simple and Reliable 的原则。通过探索发现,PG 恰好能满足我们在各个环节的需要,为我们的业务快速发展提供了坚实的保障。

2、站在新起点拥抱 PostgreSQL10 新特性

嘉宾介绍:田兵,瀚高数据库产品研发工程师,长期从事数据库的研发工作,历经 HighGo DB 2.0, 3.0, 4.0及安全版的开发工作,对数据库分区表有比较 深的研究开发。

主题介绍:作为最先进的开源数据库,PostgreSQL基本上每年都会推出一个新的版本。今年社区更是发布了一个里程碑式的版本--PostgreSQL10。PostgreSQL10不仅在版本号上有一个比较大的跨越,更是新增了很多功能和特性。本次分享将围绕PostgreSQL10的新特性做一个全面的概述。

3、数据的内与外,网聚宝的HTAP实践之路

嘉宾介绍:刘立兼,云贝网络首席架构师,超过12年研发经验,专注于电商领域的大数据系统。负责设计了公司内的数据采集、清洗、关联、分析、可视化与业务应用等系统,同时也是其中 ”班牛企业级工作台“(www.banniu.im)的创始人。

主题介绍:数据领域,可以探索发现的还有很多。本次分享不仅会介绍网聚宝如何使用PostgreSQL来支撑功能与性能的需求,同样也会展现PostgreSQL给团队、服务、产品和市场带来的变化。

4、Happy Hacking in Tantan Using Golang & PostgreSQL - PostgreSQL in Tantan

嘉宾介绍:Henry Ren Tantan Backend Team Lead,负责探探后端服务组,见证了探探后端架构在应对海量数据和流量挑战过程中的演变。

主题介绍:目前探探所有的核心数据全部使用PostgreSQL存储,后端服务主要基于Golang进行开发,系统每日处理700万活跃用户的12亿次滑动关系。本话题主要介绍PostgreSQL在探探后端业务发展过程中的应用和架构演进,并分享目前探探20000亿关系数据的水平拆分方案。

5、PostgreSQL 多维存储与流式计算

嘉宾介绍:digoal,阿里云数据库内核组,高级技术专家。中国开源软件推进联盟PostgreSQL分会,特聘资深领域专家。 PostgreSQL 中国社区发起人之一、兼任社区大学校长。PostgreSQL 中国社区大学发起人之一。 把PostgreSQL的种子播至四海八荒。公益是一辈子的事,I'm digoal, just do it。

主题介绍:人类活动、机器活动产生了海量行为数据(通常可以达到万亿级别)。数据透视是让数据说话最直观的手段,涉及到任意字段组合的统计分析(俗称无建模任意透视)。构建所有字段索引使得容量成本大幅提升,同时大幅降低了数据写入的性能,在海量数据统计面前索引的收益微小。目前业界常见的做法是堆机器,成本高昂,科技含量低。阿里云PG内核团队看到了这块的大量市场需求,研发了多维存储,在无需构建索引的情况下,解决了任意字段组合透视的高效率查询需求。本次分享将给大家介绍阿里众多多维分析的需求、场景,以及阿里云PG黑科技多维存储的原理。

更多精彩尽在“2017 年源创会年终盛典”,请扫描上方二维码,或戳链接(https://www.oschina.net/2017-beijing-ceremony)进入报名。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:PostgreSQL 好评如潮,它是如何做到的?
分享
评论(29)
精彩评论
6
一个字,实力
4
pg与linux有几分神似。颜值赶不上心好,配套的可视化管理工具还真是不强。
3

引用来自“mark35”的评论

一个短信服务用的pg9.5. 每秒大概10条记录。阿里云普通云服务器(2G内存,同时还跑着tomcat的java服务应用)。一年下来除了开始因为java应用吃光了内存(开始配置是1G内存)导致pg进程时不时自动杀掉,后来pg服务总共就自动重启了三次(原因不明,尚未详查日志),每次重启不到0.5s时间。pg的稳定性令人满意。 另外一个短信服务用的mysql(连接移动那边需要),结果定期连接池就不正常了:连接不能释放导致连接池开新连接,因为my.cnf的最大连接数不够高(开始为两百多)而连接不上,最后导致连接池无法提供有效连接从而应用异常。。
没有原因分析的案例真的没什么说服力,因为我的服务都是 MySQL 5.6,没做什么定制配置,跑了一年都没事
1
PG好好滴。GPLV2保持着就很好!!!
1

引用来自“开源_节流”的评论

pg与linux有几分神似。颜值赶不上心好,配套的可视化管理工具还真是不强。

引用来自“大后锋”的评论

官方gui界面越改越丑,我们程序员的审美啊= =诶,一言难尽
还越来越卡了:joy:
最新评论
0

引用来自“红山茶”的评论

表名大小写敏感有办法关闭吗?

引用来自“blu10ph”的评论

为啥要关闭这个?~
mysql在linux上也区分大小写,这是一种好习惯啊~

引用来自“Fanxme”的评论

@blu10ph 真正的好习惯是绝对不要使用这样的“同名”,无论系统是否支持,团队规范中都要严令禁止,源头上进行扼杀,大小写敏感应该仅作为支持的功能特性,以供特殊场合或奇葩去使用,mongodb密码为空就是一个典型的反例
对,命名规范很重要,随意命名是在给自己挖坑~
0

引用来自“红山茶”的评论

表名大小写敏感有办法关闭吗?

引用来自“blu10ph”的评论

为啥要关闭这个?~
mysql在linux上也区分大小写,这是一种好习惯啊~
@blu10ph 真正的好习惯是绝对不要使用这样的“同名”,无论系统是否支持,团队规范中都要严令禁止,源头上进行扼杀,大小写敏感应该仅作为支持的功能特性,以供特殊场合或奇葩去使用,mongodb密码为空就是一个典型的反例
0
公司项目用过一次,评价不咋地,不考虑费用问题还是老老实实用oracle
0

引用来自“mark35”的评论

一个短信服务用的pg9.5. 每秒大概10条记录。阿里云普通云服务器(2G内存,同时还跑着tomcat的java服务应用)。一年下来除了开始因为java应用吃光了内存(开始配置是1G内存)导致pg进程时不时自动杀掉,后来pg服务总共就自动重启了三次(原因不明,尚未详查日志),每次重启不到0.5s时间。pg的稳定性令人满意。 另外一个短信服务用的mysql(连接移动那边需要),结果定期连接池就不正常了:连接不能释放导致连接池开新连接,因为my.cnf的最大连接数不够高(开始为两百多)而连接不上,最后导致连接池无法提供有效连接从而应用异常。。

引用来自“海淀游民”的评论

没有原因分析的案例真的没什么说服力,因为我的服务都是 MySQL 5.6,没做什么定制配置,跑了一年都没事
虽然我也是用MySql,但是你的案例也没什么说服力,那要看怎么跑的。
0

引用来自“mark35”的评论

一个短信服务用的pg9.5. 每秒大概10条记录。阿里云普通云服务器(2G内存,同时还跑着tomcat的java服务应用)。一年下来除了开始因为java应用吃光了内存(开始配置是1G内存)导致pg进程时不时自动杀掉,后来pg服务总共就自动重启了三次(原因不明,尚未详查日志),每次重启不到0.5s时间。pg的稳定性令人满意。 另外一个短信服务用的mysql(连接移动那边需要),结果定期连接池就不正常了:连接不能释放导致连接池开新连接,因为my.cnf的最大连接数不够高(开始为两百多)而连接不上,最后导致连接池无法提供有效连接从而应用异常。。

引用来自“海淀游民”的评论

没有原因分析的案例真的没什么说服力,因为我的服务都是 MySQL 5.6,没做什么定制配置,跑了一年都没事

引用来自“mark35”的评论

没想要说服谁。爱用不用,掉不掉坑随你
说哪个好要看性能评测数据,你说的明显你们程序写的有问题,oracle 一样连接不上!
PG 让人称道的也不是挂了重启快,而是稳定,大压力时处理速度下降平稳
0

引用来自“红山茶”的评论

表名大小写敏感有办法关闭吗?

引用来自“blu10ph”的评论

为啥要关闭这个?~
mysql在linux上也区分大小写,这是一种好习惯啊~
@blu10ph 我想到的是应用迁移方面,比如原来在Oracle和SQL Sever上的应用迁移会遇到困难吧。还有就是被Oracle培养出来的习惯……一时有点不适应
0

引用来自“mark35”的评论

一个短信服务用的pg9.5. 每秒大概10条记录。阿里云普通云服务器(2G内存,同时还跑着tomcat的java服务应用)。一年下来除了开始因为java应用吃光了内存(开始配置是1G内存)导致pg进程时不时自动杀掉,后来pg服务总共就自动重启了三次(原因不明,尚未详查日志),每次重启不到0.5s时间。pg的稳定性令人满意。 另外一个短信服务用的mysql(连接移动那边需要),结果定期连接池就不正常了:连接不能释放导致连接池开新连接,因为my.cnf的最大连接数不够高(开始为两百多)而连接不上,最后导致连接池无法提供有效连接从而应用异常。。

引用来自“宏哥”的评论

哈哈, 所以我用PHP + PG
我这儿核心架构是tomcat+java+oracle,计划向着微服务容器化皆耦合,到时候(外围的)应用系统就可以逐步用nodejs+angular+pgsql来替代了。
0

引用来自“晒太阳的小猪”的评论

PG好好滴。GPLV2保持着就很好!!!
pg是最宽松的BSD授权
0

引用来自“mark35”的评论

一个短信服务用的pg9.5. 每秒大概10条记录。阿里云普通云服务器(2G内存,同时还跑着tomcat的java服务应用)。一年下来除了开始因为java应用吃光了内存(开始配置是1G内存)导致pg进程时不时自动杀掉,后来pg服务总共就自动重启了三次(原因不明,尚未详查日志),每次重启不到0.5s时间。pg的稳定性令人满意。 另外一个短信服务用的mysql(连接移动那边需要),结果定期连接池就不正常了:连接不能释放导致连接池开新连接,因为my.cnf的最大连接数不够高(开始为两百多)而连接不上,最后导致连接池无法提供有效连接从而应用异常。。

引用来自“海淀游民”的评论

没有原因分析的案例真的没什么说服力,因为我的服务都是 MySQL 5.6,没做什么定制配置,跑了一年都没事
没想要说服谁。爱用不用,掉不掉坑随你
0
因为Oracle和Microsoft作死。
0
Psql确实是让人充满想象力的一款数据库,我司的运维系统都倾向于使用它作为基础。
0

引用来自“mark35”的评论

一个短信服务用的pg9.5. 每秒大概10条记录。阿里云普通云服务器(2G内存,同时还跑着tomcat的java服务应用)。一年下来除了开始因为java应用吃光了内存(开始配置是1G内存)导致pg进程时不时自动杀掉,后来pg服务总共就自动重启了三次(原因不明,尚未详查日志),每次重启不到0.5s时间。pg的稳定性令人满意。 另外一个短信服务用的mysql(连接移动那边需要),结果定期连接池就不正常了:连接不能释放导致连接池开新连接,因为my.cnf的最大连接数不够高(开始为两百多)而连接不上,最后导致连接池无法提供有效连接从而应用异常。。
哈哈, 所以我用PHP + PG
3

引用来自“mark35”的评论

一个短信服务用的pg9.5. 每秒大概10条记录。阿里云普通云服务器(2G内存,同时还跑着tomcat的java服务应用)。一年下来除了开始因为java应用吃光了内存(开始配置是1G内存)导致pg进程时不时自动杀掉,后来pg服务总共就自动重启了三次(原因不明,尚未详查日志),每次重启不到0.5s时间。pg的稳定性令人满意。 另外一个短信服务用的mysql(连接移动那边需要),结果定期连接池就不正常了:连接不能释放导致连接池开新连接,因为my.cnf的最大连接数不够高(开始为两百多)而连接不上,最后导致连接池无法提供有效连接从而应用异常。。
没有原因分析的案例真的没什么说服力,因为我的服务都是 MySQL 5.6,没做什么定制配置,跑了一年都没事
1
PG好好滴。GPLV2保持着就很好!!!
0
赞助商的布道会 :grin:
0
一个短信服务用的pg9.5. 每秒大概10条记录。阿里云普通云服务器(2G内存,同时还跑着tomcat的java服务应用)。一年下来除了开始因为java应用吃光了内存(开始配置是1G内存)导致pg进程时不时自动杀掉,后来pg服务总共就自动重启了三次(原因不明,尚未详查日志),每次重启不到0.5s时间。pg的稳定性令人满意。 另外一个短信服务用的mysql(连接移动那边需要),结果定期连接池就不正常了:连接不能释放导致连接池开新连接,因为my.cnf的最大连接数不够高(开始为两百多)而连接不上,最后导致连接池无法提供有效连接从而应用异常。。
0

引用来自“开源_节流”的评论

pg与linux有几分神似。颜值赶不上心好,配套的可视化管理工具还真是不强。
Windows 上的 pgAdmin 现在已经不错了
1

引用来自“开源_节流”的评论

pg与linux有几分神似。颜值赶不上心好,配套的可视化管理工具还真是不强。

引用来自“大后锋”的评论

官方gui界面越改越丑,我们程序员的审美啊= =诶,一言难尽
还越来越卡了:joy:
0
pgsql真心不错
1

引用来自“开源_节流”的评论

pg与linux有几分神似。颜值赶不上心好,配套的可视化管理工具还真是不强。
官方gui界面越改越丑,我们程序员的审美啊= =诶,一言难尽
顶部