陪跑多年,Postgres终崛起封王! 译文 精选

2023-08-12
关注

作者 | Caig Kerstiens

编译 | 王瑞平

审校 | 云昭

Postgres开源数据库刚刚度过了它的25岁生日。遗憾的是,它既没有凭借数百万美元的风险投资脱颖而出,也没有获得技术布道师DevRel团队的支持,只处于起步阶段,但却一直在更新。

几个月之后,Postgres 16正式版可能会闪亮登场,提及此,不免让人感到热血沸腾!我们也一起来回顾下Postgres是如何“走到”今天的吧!

一、Ingres、Postgres95、PostgreSQL

追根溯源,其实,Postgres起源于Ingres数据库系统,最初是在加州大学伯克利分校Michael Stonebraker的指导下开始构建的交互式图形检索系统。后来,为提升数据库性能,团队改弦易辙,转而资助了关系数据库项目。

一开始,他们用的是QUEL编程语言而不是SQL;1986年,美国国家标准学会正式将SQL设置为首选项,至此,许多相关数据库项目都朝这个方向发展。

·1995年,Postgres95正式发布,SQL也顺理成章地被添加进来。

·1996年,当第一个PostgreSQL版本6.0发布时,PostgreSQL全球开发团队也成立了,标志着开发走出学术界,项目领导小组也延续至今!

·1999年,Postgres 6.5发布,很多技术理念至今仍被采用!

二、丰富功能:Postgres开始“成长”

2000年,Postgres开启它的成长之旅,通过外键和连接引入其它数据库。

21世纪初,Postgres又吸纳了更多的关键基础部件,主要侧重于构建可靠的数据库和SQL,用户可获取如下的功能:

1.预写式日志(Write-Ahead-Log):一种数据库日志记录技术,用于在数据实际写入磁盘之前记录数据的更改,以确保数据的一致性和完整性。

2.外连接(Outer joins):一种数据库连接操作,用于将两个表中的记录组合在一起,即使其中一个表中没有与另一个表中的记录匹配的记录。

3.字段删除

4.模式

回顾2000年的一些细节,最令我感到兴奋的是:“一些对Postgres做出贡献的人至今仍是Postgres社区里的支柱。这些人包括我的同事Tom Lane、Josh Berkus、Bruce Momjian、Hiroshi Inoue和Peter Eisentraut,还包括2006年‘PostgreSQL周年纪念峰会’上的一些人:Magnus Hagander、Stephen Frost等。”文章原作者回忆说。

总之,每个参与进Postgres的人都对它的前景非常看好,认为这里蕴含着巨大的市场机遇,开源数据库的浪潮也正开始达到巅峰。

三、Postgres继续成熟

进入21世纪后期,Postgres已经成为一个相当可靠的数据库了。

有了更丰富的资金支持、更广泛的SQL支持,以及WAL和VACUUM的改进,Postgres变得更值得信赖,但在易用性方面仍有需要改进之处!

多种不同的功能开始组合,包括:

  • 并发索引创建 
  • 服务器热备
  • 查询语言改进 
  • 所有数据类型
  • 二阶段提交

四、更丰富的体系

之后,更多的SQL支持和更佳的性能将Postgres塑造成了新型数据库,具有可扩展的数据库类型。

“我认为,强大的报告功能真正改变了Postgres的游戏规则;2009年,Postgres 8.4中又出现了窗口函数和公用表达式(CTEs)。有了这些功能的加持,我再也不会回头看其它数据库了。”原作者在文章中提到。

奠定了坚实的基础后,Postgres开始在更广泛的数据生态系统中留下印记。由于其坚实的代码基础以及许可,许多公司选择Postgres并开始对其进行“分叉”。

21世纪初期到后期,大多数公司做的第一件事就是向Postgres中添加MPP,使其更多关注联机分析处理(OLAP)的工作负载。而将MPP与窗口函数和公用表达式(CTEs)之类的功能结合在一起时,开发者能获得全新而强大的系统,无需从头开始构建。

这种新型数据库的出现意味着数据库成熟所需时间缩短了数年。许多最初的分支如今已消失不在了,但有些仍存在于其它的产品中。尽管有些Postgres分支已被扩散,但Postgres始终没有停止前进的脚步。

五、2010年:Postgres 9.0和9.1

2010年,Postgres开始变酷!

由于老式关系数据库不支持listen/notify(从数据库发布到订阅)和hstore(键/值数据类型)功能,Postgres 9.0和9.1出现了,支持pg_upgrade,这使升级变得更容易了。此外,随着GIN和GiST索引的出现,开发者所能获得的不再仅是标准B-Tree索引。

这之后,Postgres一直都在扩展、重构了集成过程,用户可以更容易地使用这些扩展。

六、2012-2014:从假JSON到真JSON

自始至终,开发人员都在寻求不同的数据处理方式。Postgres听取了他们的意见,但后来在JSON方面作弊了。2012年,在9.2版本中出现JSON验证,但这并不是真正的JSON。实际上,几年后,Postgres才会真正支持JSON。

但这并没有阻止人们持续关注Postgres;2014年,真正的JSON出现。

Postgres 9.3非常棒,有横向连接、可更新的外表、校验和等。在Postgres 9.4中,JSONB数据类型中能获得更好的JSON。这意味着,你能更轻松地对数据进行索引,而不必对特定JSON函数索引。

七、2016:Postgre9.5、9.6、10

之后,Postgre在2016年改进了性能,推出9.5、9.6、10版本还持续增强了现有特性。JSONB不仅开始支持内联更新,还提升了并行性,其它亮点包括:

1.行级安全性

又名“RLS”,允许数据库管理员决定用户是否能够根据策略查看或操作表中的特定数据行,是在PostgreSQL 9.5中引入的,为PostgreSQL用户又增添了一层安全保障。

2.逻辑数据复制

逻辑复制从Postgres 10就开始出现了,它是一个复制工具,会将部分或全部数据复制到新的位置,并继续从主源更新数据。数据的精确副本会被保存于不同的位置。

八、用户眼中的PostgresSQL VS MySQL

在Reddit社区的评论上,用户对于选择PostgresSQL还是MySQL展开了激烈的讨论。

前几年,MySQL一直霸占着数据库榜首;但随着时间的流逝,PostgresSQL凭借上述强大的功能逐渐超越了MySQL,以45.6%的比例位列排行榜第一。

图片

不仅如此,Postgres凭借其独有的先进性逐渐成为了开发者心目中最受欢迎的开源数据库之一,助力实现数据现代化!

总结下,为什么用户如此认可Postgres呢?因为Postgres更可靠和安全、功能极其丰富、没有锁定;它不仅仅是一个“数据库”,更是一个数据平台!

图片

在Reddit上的其它评论中,我们发现,其实,PostgresSQL的日益流行是在它成为大多数主流开发人员的首选之时。

图片

“使用PostgresSQL并不意味着你需要放弃SQLite”,一位用户发表评论说。

您觉得本篇内容如何
评分

相关产品

Honeywell 霍尼韦尔智能工业 在线/便携烟气分析仪专用传感器 气体传感器

CO 传感器;SO2传感器;NO2 传感器;NO传感器;氧气传感器

微著科技 高性能传感器ASIC解决方案 MEMS传感器

微著科技是国内为数不多能够给传感器厂商提供定制高性能传感器解决方案的团队,目前已为国内众多院所及知名传感器公司提供了十余个传感器解决方案并已经实现量产。微著传感器ASIC方案的特点:成熟的仪表信号模块IP易于快速搭建;系统方案超低噪声;成熟的24ADC可同时实现模拟数字传感器方案设计;高效率及丰富的方案设计经验。

南方泰科 TGM 压力传感器

TGM是一款SOP8封装的压阻式MEMS压力传感器,其压力传感器芯片封装在 SOP8 塑封壳内。在传感器压力量程内,当用固定电压供电时,传感器产生毫伏输出电压,正比于输入压力。压力传感器芯片为绝压,可提供不同的压力量程的SOP8 压力传感器。

鑫精诚传感器 XJC-T001 压力传感器

◆传感器激光焊接密封,环境适应性较强 ◆球形联接件,始终保持模块的垂直称重状态 ◆支撑螺栓,防止设备倾覆且方便维护 ◆接地装置,保护传感器免受电源浪涌冲击 ◆过载保护装置,保护传感器免受冲击力

Huba Control 富巴 525系列 压力传感器

525系列压力传感器采用集公司20多年研发经验的陶瓷压力传感器芯片技术。该系列压力传感器可选压力范围大,电气连接形式多。最小量程为50mbar。大批量使用具有很好的性价比。

Winsen 炜盛科技 MH-410D 红外CO2气体传感器 红外传感器

MH-410D红外气体传感器是通用型、智能型、微型传感器,该红外传感器利用非色散红外(NDIR)原理对空气中存在的CO2进行探测,具有很好的选择性,无氧气依赖性,性能稳定、寿命长。内置温度补偿。该红外传感器是通过将成熟的红外吸收气体检测技术与微型机械加工、精良电路设计紧密结合而制作出的小巧型高性能红外传感器。该红外传感器可广泛应用于暖通制冷与室内空气质量监控、工业过程及安全防护监控、农业及畜牧业生产过程监控。

佰测传感 MS71 传感器

MS71差压传感器

Cubic 四方光电 PM3009BP 室外粉尘传感器

PM3009BP是一款专门针对餐饮油烟监测的油烟传感器,其采用旁流采样方式,自带除水雾装置,结合智能颗粒物识别算法,确保传感器能够快速准确的检测油烟浓度的变化,同时创新的镜头自清洁技术的应用,能够长效防护传感器油烟污染,大幅度延长传感器的使用寿命。

评论

您需要登录才可以回复|注册

提交评论

广告

传感学人

这家伙很懒,什么描述也没留下

关注

点击进入下一篇

keysight是德科技N9960A手持式频谱分析仪

提取码
复制提取码
点击跳转至百度网盘