Postgres 凭什么取代 MySQL 成最受欢迎的数据库?

【数据库学习】Postgres(PG)概览与PostgreSQL基本语法 -数组可以定义长度、也可以不给。也可以定义多维数组。但定义长度和多维数组在实际使用中是无效的。如下面两种定义是等价的。类似于C的结构体, 阅读详情

你好,我是 EarlGrey,喜欢翻译点东西,偶尔写写代码。

点击下方卡片关注我,一起向上进击,提升自我。后台回复关键词“电子书”,送你一份我收藏的电子书合集。

本文来自 Star History 网站的 10 月精选,经 EarlGrey@进击的Grey  翻译后与大家分享。


原文链接为:https://star-history.com/blog/ai-for-postgres

在2023年Stack Overflow开发者调查中,Postgres被评为最受欢迎的数据库,取代了MySQL的桂冠。为什么?我们认为背后的一大因素是Postgres的扩展。得益于可扩展的架构以及Postgres仍然是一个社区所有的项目这一事实,Postgres生态系统最近一直在蓬勃发展。

3e8595466f89d107282da10a111abb0c.png

Postgres 扩展为数据库添加了媲美内置特性的功能。多年来,已经出现了一些针对人工智能用例的扩展。其中有一些是今年出现的,但令人惊讶的是,还有一些是几年前首次出现的,现在仍然是其中的佼佼者。

在本文中,我们将分享五种 Postgres 扩展,它们将提升您的人工智能体验。

pgvector

e9da183a1d9752645a21034418e97021.jpeg
pgvector

pgvector是专为 Postgres 设计的开源向量相似性搜索(支持 Postgres 11+)。它也可用于存储嵌入。它从 2021 年就开始出现了,远在人工智能成为我们日常生活的一部分之前。2023.2 年左右,当向量相似性搜索成为热门话题时,它的受欢迎程度急剧上升。

如果你正在寻找一个向量数据库,Postgres 就可以满足你的需求,你可以继续使用 Postgres,它的优势包括

  • 将向量与其他数据一起存储

  • 精确和近似近邻搜索

  • L2 距离、内积和余弦距离

  • 任何带有 Postgres 客户端的语言

如果你使用的是普通的Postgres,只需编译并安装扩展即可;如果你使用的是Postgres服务或应用程序,其中有些已经包含了pgvector,例如Aiven、Neon、Supabase、Postgres.app等。

PostgresML

76fc06bbb829e1e787b4c42deabe8873.jpeg
postgresml

PostgresML是一个允许开发人员将机器学习(ML)模型集成到Postgres中的扩展,今年5月获得了470万美元种子轮融资。它可以使用 SQL 查询对文本和数据进行训练和推理,大大降低了应用程序开发的复杂性。

如果你的公司没有花哨的 ML 工作负载(因为不是所有人都是人工智能巨头),但又想建立自己的机器学习模型,从新鲜数据中学习,这将是一个很好的入门方法。

afd111bd9d9999eff2bd7539caa7507e.jpeg
postgresml-textgen

MADlib

c57739970998a065de079a1b3111d576.jpeg
madlib

Apache MADlib是一个用 SQL 进行大数据机器学习的工具。早在 ChatGPT 为人工智能带来热度之前,它就已经出现,其 repo 于 2016 年发布在 GitHub 上,但最初的版本可以追溯到 2011 年。

374e932c7bab766b97b26487338b8819.jpeg
madlib-alpha

人们认为 SQL 无法很好地对大型或非结构化数据集进行推理、预测或因果分析,这种看法已不再正确。MADlib 基本上是一个数据库内机器学习库,你可以在数据所在的数据库中执行高级机器学习。安装后,你可以使用 SQL 执行各种数据分析任务,包括轻松地进行回归和分类。

MADlib 中的 MAD 实际上是 Magnetic(磁性)、Agile(敏捷)和 Deep(深度)的缩写。

197f3f1ee2704e83a824ec43b5ee1605.jpeg
madlib-mad

pg_embedding

4a65e56b523ad59395f493d596540f0b.jpeg
pg-embedding

pg_embedding是 Neon 今年七月发布的产品。

它使用 Hierarchical Navigable Small Worlds (HNSW) 索引进行高维相似性搜索,这比 pgvector 增加对 HNSW 的支持还要早(很难理解为什么它刚出来时比 pgvector](https://neon.tech/blog/pg-embedding-extension-for-vector-search) 快 20 倍)。

38c09ef4a2f703e9c388377d32ea3e95.jpeg
pg-embedding-faster

但几个月后的九月份,他们又添加了一条说明,提到他们不再致力于 pg_embedding 了。看来真的不存在买还是建的两难选择:如果有像样的服务,它就是不二之选。

pg_gpt

c8a774d777c2a4cab48fa66bde190548.jpeg
pg-gpt

pg_gpt是一个实验性的Postgres扩展,它在Postgres内部使用了OpenAI GPT API,因此你可以用自然语言向数据库提问。它实际上是由开源 ELT 平台 CloudQuery 开发的。

这个插件通过向 OpenAI GPT API 发送部分数据库模式(虽然没有数据)来工作,因此不建议在生产数据库中使用,但如果你想了解公共模式的一些信息,这将是一个有趣的工具。

结论

今年我们看到了很多:科技界正在转向人工智能,并在寻找一种导航方式,以找到自己的立足点。好在Postgres开放支持扩展,我们有福了,可以通过这些扩展为我们的Postgres添加人工智能功能,而无需转向新的数据库。

***

- EOF -

推荐阅读  点击标题可跳转

1、VS Code 变身小霸王游戏机!

2、认知升级:模型与范式转换

3、超赞的 Python 编译器,单核提速100倍

4、高效的终极秘诀

5、Python 3.12 版本有什么变化?


                                           分享、在看、点赞,3连e16d487dcdeaebf996280d1910f0b7cb.gif

你还在用 MySQL 吗?为什么现在是切换到 PostgreSQL 的最佳时机 如果你在开发需要高度一致性和复杂事务操作的应用,PostgreSQL 可能是更合适的选择。 阅读详情

相关推荐

Docker安装Postgres_16数据库

PostgreSQL 是一个功能强大、开源的关系型数据库管理系统(RDBMS),以其可靠性、功能丰富性和可扩展性而闻名。它支持复杂的查询、事务完整性、并发控制以及多种数据类型和扩展功能,适用于各种规模的应用程序;适用传统的IT服务系统关系型数据库开发与应用,也适用于互联网行业高并发、大数据量存储等数据需求;

不会飞的小龙人的博客 3305

PostgreSQL 基础(一)-- 新手教程

PostgreSQL 基础(一)-- 教程

chinusyan的专栏 1万+

gitlab mysql 替换 postgres 中上级篇

首先给gitlab一个用户可以让他访问: 进入MySQL新建一个用户,以及给他权限 grant all privileges on *.* to gitlab@"localhost" identified by "gitlab"; flush privileges; (或重启MySQL都OK) 修改配置: vim /etc/gitlab/gitlab.r...

纳尼Baby 3356

PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装

PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 开发者把它念作post-gress-Q-L。PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库"。 什么是数据库? 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关.

科技D人生 4万+

duckdb 连接postgres 和 jdbc 的使用

DuckDB Foreign Data Wrapper for PostgreSQL是一个外数据包装器(FDW),旨在将PostgreSQL与DuckDB数据库文件连接起来。通过这一FDW,用户可以在PostgreSQL中直接操作DuckDB的数据,实现数据的无缝集成和高效处理。postgres扩展允许 DuckDB 直接从正在运行的 PostgreSQL 数据库实例读取和写入数据。DuckDB FDW的核心在于其外数据包装器的实现,它允许PostgreSQL通过标准的SQL接口访问DuckDB的数据。

xuejianxinokok的专栏 2561

MySQL的局限性凸显,PostgreSQL将成为替代选择

然而,随着时间的推移,MySQL的一些局限性逐渐显现出来,而PostgreSQL作为一种更强大和灵活的替代选择,正逐渐受到开发者和企业的青睐。然而,随着时间的推移,一些MySQL的限制逐渐显露出来,这使得一些开发者和企业开始转向PostgreSQL作为替代选择。PostgreSQL作为一种更强大和灵活的替代选择,提供了更丰富的功能和更高的定制性。开发者和企业可以考虑使用PostgreSQL来克服MySQL的一些局限性。PostgreSQL作为一种更强大和灵活的替代选择,提供了更丰富的功能和更高的定制性。

BitNetT的博客 328

主流数据库解释MySQL、Postgres、Oracle、SQL server、DB2、Teradata、Netezza、Hive、Hbase 、MongoDB

Mysql 不解释了 Postgres PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES 0.索引方面,全面支持R-/R+tree索引、哈希索引、反向素引、部分素引、Expression 索引、GiST、GIN(用来加速全文检索),从8.3版本开始支持位图索引。 1.其他对...

Debug_Snail的专栏 3071

Dify实现text2sql工作流[SQL调用篇],并查询Postgres数据库 or Mysql数据库(docker容器)

Dify实现text2sql工作流[SQL调用篇],并查询Postgres数据库 or Mysql数据库(docker容器)

丨汀、的博客 1万+

Golang数据库编程详解 | 深入浅出Go语言原生数据库编程

对数据库的CURD是现代应用程序的必备功能,Go语言当然也对数据库的操作提供了非常完善的支持。作者:鼠鼠我捏,要死了捏

qq_35716689的博客 38万+

密码学小白必看:三大顶级会议论文下载与阅读指南(附完整资源链接)

本文为密码学初学者提供了系统获取和阅读三大顶级会议(Crypto、Eurocrypt、Asiacrypt)论文的实战指南。详细介绍了通过IACR官方渠道、ePrint预印本等权威资源免费下载论文的方法,并分享了高效筛选、精读核心章节及构建个人知识体系的具体策略,帮助读者快速切入密码学研究前沿。

weixin_28363123的博客 402

2024银行科技岗笔试通关秘籍:从资料准备到实战技巧

本文系统解析了2024年银行科技岗笔试的考察内容与备考策略。文章指出,笔试是一场涵盖通用能力测试、计算机专业基础、金融科技知识和英语性格测试的复合型考试,并重点提供了数据结构与算法、计算机网络、数据库等高频考点的深度解析与实战突破技巧,帮助考生高效准备,顺利通关。

weixin_29243279的博客 121

【PGCCC】Postgres 和 MySQL 应该怎么选?

在此测试场景中,MySQL展示了略高的每秒事务处理能力和较低的延迟,这可能与它的存储引擎和缓存策略有关。PostgreSQL在处理复杂的事务和并发场景时仍然表现良好,但其TPS略低于MySQL。需要注意的是,实际生产环境中的性能会受到具体应用工作负载、数据库调优、硬件性能等多种因素的影响。

PGCCC的博客 1187

别再踩坑了!CAPL脚本里局部变量和全局变量的那些“怪事”(附CANoe实测代码)

本文深度解析CAPL脚本中局部变量和全局变量的特殊机制,揭示其与通用编程语言的差异。通过实测代码展示静态局部变量的默认行为和全局变量的节点隔离特性,并提供高效避坑指南,帮助汽车网络测试工程师避免常见陷阱。

weixin_30225755的博客 293

基于PiflowX构建MySQL和Postgres的Streaming ETL

说明:案例来自flink cdc官方。[[基于 Flink CDC 构建 MySQL 和 Postgres 的 Streaming ETL]()]这篇文章将演示如何基于PiflowX快速构建 MySQL和Postgres的流式ETL。本教程的演示都将在WEB画布中进行,只需拖拉拽,无需一行Java/Scala代码,也无需安装IDE。

暗影八度 1371

DRAM架构演进与HBM技术在高性能计算中的应用

DRAM(动态随机存取存储器)是现代计算系统中关键的内存技术,其架构优化直接影响数据供给能力。随着AI训练和科学计算等数据密集型负载的普及,传统DDR架构面临带宽墙、能效比和访问粒度等挑战。HBM(高带宽内存)通过3D堆叠技术(如TSV硅通孔)和异构集成(如PIM存内计算)显著提升了带宽和能效比。这些技术在高性能计算、AI推理和大模型训练等场景中展现出巨大潜力,例如HBM3的带宽可达819GB/s,能效比低至0.95pJ/b。未来,DRAM技术将继续向更高密度、更低功耗和更智能的内存计算方向发展。

weixin_35757191的博客 400

MediaPipe 从入门到精通:安装、配置与多场景应用实战手册

人体姿态检测是 MediaPipe 的核心功能之一,它能够从图像或视频中识别人体姿态,并输出关键点的坐标。这些关键点覆盖了身体的主要部位,例如肩膀、肘部、髋部、膝盖等,总计 33 个点。每个关键点包含 x、y、z 坐标(归一化到 0-1 范围)以及可见性评分,可用于分析动作、姿势或开发健身、游戏等应用。手部关键点检测是 MediaPipe 的另一大亮点,它可以识别图像或视频中的手部,并输出 21 个关键点的坐标。这些关键点覆盖手掌和手指的各个部位,适用于手势识别、虚拟现实或交互式应用。

m0_71589036的博客 389

【Windows安装后端本地开发基础设施】MySQL\Postgres

大家好,我是Jcrazy。 在日常开发中,我们通常需要对数据进行持久化的存储,那么我们在选择好存储数据库后,该怎么快速进行开发环境的搭建部署以便快速进入开发呢? 本文将介绍市面上常用的两款关系型数据库使用docker的安装方式 MySQL Postgres MySQL与Postgres的对比可参考: https://www.zhihu.com/question/20010554/answers/updated 一、MySQL 1. 定义compose文件 Docker-compose.yaml ve

Jcrazy Blog 894

【C/C++ 性能优化】提高C++程序的缓存命中率以优化性能

在探讨计算机性能优化的旅程中,我们常常被引导去关注算法的复杂度、代码的优化,或是更高效的数据结构。然而,有一个经常被忽视的角色在幕后默默地影响着程序的运行效率——那就是缓存(Cache)。正如哲学家亨利·戴维·梭罗在《瓦尔登湖》中所说:“细节是造成美丽的源泉”,在软件开发的世界里,对缓存的理解和优化,就是那些决定程序性能优雅与否的细节。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 3735

【Flink CDC】基于 Flink CDC 构建 MySQL 和 Postgres 的 Streaming ETL

这篇教程将展示如何基于 Flink CDC 快速构建 MySQL 和 Postgres 的流式 ETL。本教程的演示都将在 Flink SQL CLI 中进行,只涉及 SQL,无需一行 Java / Scala 代码,也无需安装 IDE。

Data · Model · Agent · Repeat 2592

YOLO11改进 | 卷积模块 | 轻量化GSConv替换普通的conv

yolo11,GSConv,卷积模块

kay_545 3957

项目介绍 MATLAB实现基于LSTM-XGBoost长短期记忆网络(LSTM)结合极端梯度提升(XGBoost)进行多变量时序预测的详细项目实例(含模型描述及部分示例代码)

本项目基于MATLAB平台,实现LSTM-XGBoost混合模型进行多变量时序预测。通过LSTM网络自动提取时序特征,结合XGBoost强大的回归能力,有效解决多变量时序数据的高维复杂性、长短期依赖捕捉等难题。项目包含完整的数据预处理流程、模型构建与训练方法,以及性能评估指标。提供的GUI界面支持参数调整、训练监控和结果可视化,适用于能源、金融、气象等多领域预测任务。配套代码详细注释,便于理解模型实现细节,为时序预测研究提供实用参考框架。

优质创作者: 人工智能技术领域 对于有一定基础的 MATLAB和Python带具体需求都可以详谈 MATLAB和Python可以提供代码调试服务加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢 102

Docker 部署 Dinky 1.23 flink 1.26——实现从postgres数据库到postgres数据库的整库同步

本文介绍了使用Dinky实现PostgreSQL数据库实时同步的技术方案。文章详细记录了Docker部署过程中遇到的问题及解决方案,包括使用docker-compose启动包含Dinky、Flink和MySQL的容器集群。重点说明了PostgreSQL数据库的必要配置(如wal_level、max_wal_senders等参数)和用户权限设置,以支持CDC功能。同时提供了整库同步和单表同步的Flink SQL示例代码,并强调了版本兼容性和日志查看等关键事项。文章还总结了部署过程中遇到的常见问题及排查方法,为

weixin_46303208的博客 1237

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Idea 通过Database连接SQLserver,Oracle,MySQL,Postgres数据库配置(图文+详解)

自从使用了idea,都不再打开单独打开数据库了,把想用的数据库都在一个程序里面搞定!下面给大家介绍一下我们常用的几种数据库怎样通过Idea来连接。 使用之前,请确保你的电脑上装载了Intellij Idea*各种版本,我使用的是Intellij Idea 2017.3版,如果没有Idea工具,可自行去官网下载哦,顺带把各种数据库的下载地址给大家。 Intellij IDEA下载:     h...

Wu先森 7841

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

数据库迁移Postgres 到 Mysql 以及优化数据库

mysql安装 migration 兼容处理 pg数据导入 sql 兼容处理 mysql | pg 同步 rails mysql 支持 mysql 设置编码为utf8mb4( 1.utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8字符; 2.要在 Mysql 中保存 4 字节长度的 UTF-8 字符,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以后 3. 对于...

Men-DD 1706

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Flink CDC 系列 - 构建 MySQL 和 Postgres 上的 Streaming ETL

▼ 关注「Apache Flink」,获取更多技术干货▼摘要:本篇教程将展示如何基于 Flink CDC 快速构建 MySQL 和 Postgres 的流式 ETL。Flink-CDC ...

Ververica的博客 3366

postgres数据库日常操作(用户的建立,数据库的建立,角色的权限,查询当前登陆用户,当前使用数据库)

postgres数据库日常操作(用户的建立,数据库的建立,角色的权限,查询当前登陆用户,当前使用数据库) postgres和MySQL比较类似也有许多的不同,对于权限的处理和基本信息查询与MySQL是大不相同的,首先就从引导符开始认识postgres吧。 一,引导符的问题 [postgres@centos7 ~]$ logout # 这个$是Linux的引导符,表示这个后面的命令都是普通用户所发起并执行的 [root@centos7 ~]# ...

zsk_john的技术分享专用博客 1927
上一篇: 5 招让 VS Code 编码效率飙升
下一篇: 惊艳到了!推荐两个 Github 年度回顾项目
codingpy
博客等级 码龄11年 1870粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值