陪跑多年,Postgres终崛起封王!(译)

news2025/2/24 5:40:48

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”,一位用户发表评论说。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/863441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Active Directory安全和风险状况管理

风险评估和管理 风险评估和管理是主动安全性和合规性管理不可或缺的一部分。 发现关键基础设施组件中的风险行为和配置对于阻止网络入侵和预防网络攻击至关重要。帐户泄露和配置错误漏洞是用于破坏网络的常见技术。当评估、监控和降低 Active Directory 基础架构的风险时&…

阿里云SMS开通流程

No1:登录阿里云首页:选择 产品——>企业服务与云通信——>云通信——>短信服务 No2:选择 免费开通 No3:之后根据提示操作即可。 No4:开通之后效果如图: 至此短信服务已经开通。购买短信包之后便可使用

python异步IO完全指南

原地址:https://flyingbyte.cc/post/async_io/ python异步IO完全指南 做为一种并行编程的範式,异步IO在Python中非常受重视,从Python3.4到3.7快速演进。 我们已经有多线程,多进程,并发(concurrency&#x…

cesium学习记录05-加载数据(矢量、影像、地形、3D模型)

1. 矢量数据: 1.1. GeoJSON 定义: 一个基于JSON的地理数据格式,Cesium支持GeoJSON的直接加载。 例子: 加载一个简易故宫建筑的GeoJSON数据。 代码: /*** 添加故宫geojson数据*/AddGuGong() {var viewer this.v…

提取有像素的掩码和原图

有些数据集给的掩码是全黑图片,需要将全黑的掩码剔除,保留有标签的掩码。 DDR-dataset 眼底图像处理 from PIL import Image import cv2 import osdef extract_mask_and_original(mask_path, original_path, output_folder):# 读取黑白掩码图片和同名原…

UDP 的报文结构和注意事项

目录 一. UDP的特点 二. UDP协议 1. UDP协议端格式 2.UDP的报文结构 3. 基于UDP的应用层协议 三. (高频面试题) 一. UDP的特点 无连接:知道对端的IP和端口号就直接进行传输,不需要建立连接。不可靠:即使因为网络故障等原因无法将数据报发送…

重磅!软考或全部改为机考?

最近,有同学分享了一张署名为“工业和信息化部教育与考试中心”的文件截图。 注:该截图来源于网络,而非官方 以下为该截图文件全文: 关于2023年下半年计算机软件资格考试有关工作调整的通知 各省、自治区、直辖市及计划单列市…

医疗PACS源码,支持三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜

C/S架构的PACS系统源码,PACS主要进行病人信息和影像的获取、处理、存储、调阅、检索、管理,并通过网络向全院提供病人检查影像及诊断报告;各影像科室之间共享不同设备的病人检查影像及诊断报告;在诊断工作站上,调阅HIS中病人的其它…

ThreadLocal的内存泄漏是怎么发生的

前言 在分析ThreadLocal导致的内存泄露前,需要普及了解一下内存泄露、强引用与弱引用以及GC回收机制,这样才能更好的分析为什么ThreadLocal会导致内存泄露呢?更重要的是知道该如何避免这样情况发生,增强系统的健壮性。 内存泄露 …

元宇宙核能发电VR模拟仿真实训教学为建设新型电力系统提供重要支撑

随着“碳达峰、碳中和”目标与建设新型能源体系的提出,在元宇宙环境下建设电力系统是未来发展的趋势。以物联网、区块链、数字孪生、混合现实等技术为主要代表的元宇宙技术体系及其在电力和能源系统中的应用,将会促进智能电网的发展,为建设新…

Win10启动Jmeter报错提示jmeter.log拒绝访问问题

jmeter版本:5.4.1 查看版本 在dos命令窗口中进入jmeter安装目录下的bin目录中:执行jmeter - v命令 我启动的方式是:进入jmeter安装目录下的bin目录中双击jmeter.bat启动的。结果报错,但是不影响使用。 报错日志如下: …

ip地址修改器软件哪个好 ip地址切换器有哪些

IP地址修改器是一种常用的网络工具,用于修改计算机或网络设备的IP地址。在网络连接中,IP地址被用于标识每个设备的唯一地址,通过它来实现设备之间的通信和数据传输。然而,有时候我们需要修改IP地址以解决一些网络问题或实现特定的…

网络基础知识:Trunk、Bond、mode4

【背景】 近期项目涉及到硬件服务器的交付,组网涉及到Trunk、Bond、mode4,做一个学习笔记。 【为什么要做mode4 ?】 硬件都有故障率,为了做到硬件冗余高可用,通过软件配置将两个或多个(一般是两个&#xf…

恒运资本:申购新股不买可以吗?

跟着商场改变,现在申购新股已成为许多出资者的热门论题。可是,许多人对于申购新股后不购买的处理方式存在疑惑。在现实中,申购新股后不购买的状况是常常发生的,本文将深入探讨这个论题并从不同的视点进行剖析。 首先,从…

ASEMI快恢复二极管APT80DQ40BG封装尺寸

编辑-Z APT80DQ40BG参数描述: 型号:APT80DQ40BG 最大峰值反向电压(VRRM):400V 最大直流阻断电压VR(DC):400V 平均整流正向电流(IF):80A 非重复峰值浪涌电流(IFSM):600A 工作接点温度和储存温度(TJ, …

新华三超融合态势感知标准版

产品概述: H3C SecCenter CSAP-XS 超融合态势感知一体机产品集合了态势感知和安全流量分析探针设备能无需复杂配置;态势感知平台具备强大的安全分析和可视化呈现功能;同时具备远程专家会诊功能,通过云端协同实现外部安全服务资源的…

企业产品手册5大核心功能,附产品手册在线制作工具Baklib

企业产品手册的5大核心功能 企业产品手册是企业向用户传达产品信息、功能和使用方法的重要工具。下面将介绍企业产品手册的五个核心功能。 1. 产品介绍和特点展示 产品手册的首要功能是介绍和展示企业的产品。它应该提供清晰、详细的产品信息,包括产品的特点、优势…

锚框【动手学深度学习】

生成多个锚框 假设输入图像高为h,宽为w,我们以图像每个像素为中心生成不同形状的锚框,缩放比 s∈(0,1],宽高比为r>0。那么锚框的宽度和高度分别为和。当中心位置给定时, 已知宽和高的锚框是确定的。缩放比为锚框高与图像高的比值,然后得到一个正方形锚框面积。 ​​…

Postman 汉化及下载

Postman 是一款常用的 API 测试工具,可以方便地进行接口测试、调试和文档编写。本文将详细介绍如何下载安装 Postman 并汉化,包括每个步骤的详细说明。 下载安装 Postman 1、打开浏览器,访问 Postman 官网,下载适用于自己系统的…

常见病原菌属——嗜血杆菌(Haemophilus)

谷禾健康 嗜血杆菌属(Haemophilus spp) 是变形菌门,小的、多形性、不活动、无孢子的革兰氏阴性杆菌或球杆菌。它们是需氧的和兼性厌氧的。主要寄居于人和动物的咽喉和口腔黏膜,少数见于生殖道,不过很多时候在粪便中也能…