你了解世界上功能最强大的开源数据库吗?

article/2025/10/3 15:43:30

如果不是领导强制要求,可能根本不会留意到这款号称世界上功能最强大的开源数据库——PostgreSQL。如果你不读这篇文章,或许也会错过一个跃跃欲试想挤进前三的优秀数据库。

为了能够熟练运用,特意买书研究,发现这款数据库还真有点意思。汇总一篇文章与大家分享,目的只有一个:让大家多少了解一下这款数据库。

你会发现与Mysql相比,PostgreSQL的社区并不活跃,中文资料可以说是少得可怜,在数据库中排行老四。前三都不一定全用过,谁会去记住老四呢。但下面的数据不得不让我们留意。

下面是DB-Engines数据库流行度排行榜2020年7月份的数据。

PostgreSQL

在老大老二的评分不断下降的情况下,这么一个没有后台的开源数据库,竟然励精图治,突飞猛进。有没有像春秋战国时的秦国,是时候得留意一下它了。

下面再看看这几年PostgreSQL的增速情况。

PostgreSQL

图中遥遥领先其他数据库,追赶前三名的数据库,就是PostgreSQL,不少大厂已经在使用了。

PostgreSQL是一款开源的对象关系型数据库,也就是说与Mysql的功能一致。在欧美地区使用比较广泛,因其限制严格、实现严谨,在金融、电信等领域应用比较多。

对照Mysql来了解一下PostgreSQL(以下简称PG):

1、在SQL的标准实现上比MySQL完善,而且功能实现比较严谨;

2、存储过程的功能支持要比MySQL好,具备本地缓存执行计划的能力;

3、PG对表连接支持较完整,优化器的功能较完整,支持的索引类型很多,复杂查询能力较强;

4、PG主表采用堆表存放,MySQL采用索引组织表,能够支持比MySQL更大的数据量。

5、PG的主备复制属于物理复制,相对于MySQL基于binlog的逻辑复制,数据的一致性更加可靠,复制性能更高,对主机性能的影响也更小。

6、MySQL的存储引擎插件化机制,存在锁机制复杂影响并发的问题,而PG不存在。

上面是比较笼统的概述,下面给大家汇总一下读相关书籍发现。

1、数据库、表等操作基本相同,与Mysql不同的是PG的主键自增采用了独立的序列,然后将序列赋值给对应的字段来实现自增。

2、PG的字段级、表级的约束也特别有意思。可以通过CHECK关键字来约束指定字段是否大于或小于某个阈值(仅举例,不限于此)。针对表级别的约束,还可以通过CHECK关键字来约束两个字段之间的关系,比如:CHECK(createtime < parentcreatetime)。是不是非常有意思?

3、数据类型中PG提供了money类型,可基于时区来显示对应的货币格式,如“$1,000.00”。

4、数据类型中支持了丰富的日期时间类型,而还有相应的运算操作,加减乘除应有尽有。

5、数据类型中还支持了点、线、线段、矩形、路径、多边形、圆等几何图形,虽然不会经常用到,有便是一件很Cool的事。当然,也少不了JSON和数组的类型。

6、PG提供了数学函数、字符串函数、二进制字符串函数、数据类型格式化函数、日期和时间函数、位串函数、枚举函数、几何函数、JSON函数、范围函数、数字函数等等,丰富到眼花缭乱。

7、SQL查询中提供了递归查询,内置了大量的窗口函数。

8、索引支持B-tree索引、Hash索引、GiST索引、SP-GiST索引、GIN索引、BRIN索引。足够丰富。

9、视图支持物化视图和普通视图。

10、支持表继承,面向对象编程的朋友是不是对此很亲切。

11、PG支持基本的表分区功能更,PG10之后支持声明式内置表分区功能。该功能支持把大表拆分成更小的物理分片,分别进行独立存储。

12、PG支持在大型事务中通过使用保存点(SAVEPOINT)来回滚部分事务。

13、PG对SQL语句进行了逻辑优化和物理优化。

当然,还有其他很多有意思的功能等待发掘。读完上述内容你是不是也有兴趣了解一下?那这篇文章的目的就达到了。

最后,写这篇文章有两个目的。第一,很明确,给大家介绍一款数据库。第二,是想推广一个学习提升的理念:尽情去去尝试了解新事物,努力突破自己的舒适区,这往往会给自己带来非常大的收获。

原文链接:《你了解世界上功能最强大的开源数据库吗?》


程序新视界

公众号“ 程序新视界”,一个让你软实力、硬技术同步提升的平台

微信公众号:程序新视界


http://chatgpt.dhexx.cn/article/oI6veojk.shtml

相关文章

开源数据库列表

转载于&#xff1a;http://database.csdn.net/subject/databaseopen.htm 编辑导语 开源数据库最初的诞生和发展大都依靠自由软件开发者&#xff0c;但是&#xff0c;现在越来越多的IT公司开始把触角伸向了开源数据库。而早期投身于其中的IT厂商早已获利&#xff0c;比如Sleepy…

TuGraph 开源数据库体验

TuGraph 开源数据库体验 文章目录 TuGraph 开源数据库体验1. 简单介绍2. 可视化界面体验&#xff1a;查询界面&#xff1a;数据建模&#xff1a;数据导入&#xff1a; 3. 体验心得&#xff1a; 1. 简单介绍 TuGraph 是蚂蚁集团自主研发的大规模图计算系统&#xff0c;提供图数…

数据库与开源的未来

大家好&#xff0c;社区的小伙伴可能已经发现CnosDB已经全面拥抱Rust。我们一直高度关注行业趋势的发展&#xff0c;拥抱新兴的语言和前沿的技术。本期Jesse就想跟大家聊聊数据库与开源的未来。 本文仅代表个人观点&#xff0c;如有偏颇之处&#xff0c;还请海涵&#xff5e; …

做了7年开源数据库开发,我学到了什么?

作者 | PHILIP OTOOLE&#xff0c;已获作者授权 译者 | 弯月 责编 | 欧阳姝黎 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 2016年4月9日&#xff0c;第一版rqlite&#xff08;https://github.com/rqlite/rqlite/releases/tag/v1.0&#xff09;正式发布&a…

【数据库】什么是 PostgreSQL?开源数据库系统

文章目录 前言什么是 PostgreSQL&#xff1f;PostgreSQL 中的 SQL服务器管理接口 PostgreSQL 用途通用 OLTP&#xff1a;联合中心&#xff1a;地理空间&#xff1a;LAPP 堆栈&#xff1a; 使用 PostgreSQL 有什么好处&#xff1f;开源许可证&#xff1a;易于扩展&#xff1a;可…

这款免费开源的数据库工具,支持所有主流数据库!

Java技术栈 www.javastack.cn 关注阅读更多优质文章 DBeaver 是一个基于 Java 开发&#xff0c;免费开源的通用数据库管理和开发工具&#xff0c;使用非常友好的 ASL 协议。可以通过官方网站或者 Github 进行下载。 由于 DBeaver 基于 Java 开发&#xff0c;可以运行在各种操作…

开源数据库管理系统DBeaver

简介 DBeaver dbeaver是免费和开源&#xff08;GPL&#xff09;为开发人员和数据库管理员通用数据库工具。 易用性是该项目的主要目标&#xff0c;是经过精心设计和开发的数据库管理工具。免费、跨平台、基于开源框架和允许各种扩展写作&#xff08;插件&#xff09;。 它支持任…

开源数据库的国际化思考与实践

整理 | 小雨青年 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 在全球开源技术掌门人高峰论坛上&#xff0c;PingCAP 联合创始人兼CTO 黄东旭分享了《开源数据库的国际化思考与实践》。 开源已死&#xff1f;不&#xff0c;还差得远 可能因为TiDB 是开源的&a…

一个比 ClickHouse 还快的开源数据库

开源分析数据库 ClickHouse 以快著称&#xff0c;真的如此吗&#xff1f;我们通过对比测试来验证一下。 ClickHouse vs Oracle 先用 ClickHouse&#xff08;简称 CH&#xff09;、Oracle 数据库&#xff08;简称 ORA&#xff09;一起在相同的软硬件环境下做对比测试。测试基准使…

Java开源数据库引擎,数据库计算封闭性的一站式解决方案

目录 前言引入一、数据库封闭性带来的问题&#xff1f;问题1: ETL变成ELT甚至LETETL&#xff1a;ELT&#xff1a; 问题2: 中间表带来的资源消耗和耦合问题3: 多样性数据源问题4: 存储过程带来的安全和耦合问题问题5: 大数据性能导致的尴尬 二、开放的SPL解决方式多样源直接计算…

比较适合物联网的开源数据库

物联网产生大量的数据&#xff0c;包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据&#xff0c;就需要使用数据库。物联网数据的本质需要一种不同类型的数据库。以下是一些数据库&#xff0c;当与物联网一起使用时&#xff0c;会给出非常好的结果。 物联…

阿里巴巴开源的免费数据库工具Chat2DB

Chat2DB 是一款由阿里巴巴开源的免费数据库工具&#xff0c;它为开发人员提供了一个强大且易于使用的平台&#xff0c;用于存储和查询数据。与传统的数据库工具相比&#xff0c;Chat2DB 具有以下特点和优势&#xff1a; 多数据库支持&#xff1a;Chat2DB 可以与多种类型的数据库…

21款最优秀的开源数据库

摘要&#xff1a;几乎所有软件项目的开发都需要数据库的支持&#xff0c;目前&#xff0c;随着开源技术的迅速发展&#xff0c;越来越多的数据供应商选择开源数据库&#xff0c;为开源事业添砖加瓦。 作为一名软件开发人员或DBA&#xff0c;其中一份必不可少的工作就是与数据库…

一文带你了解开源数据库中的佼佼者 TOP 10

当今&#xff0c;大多数应用程序都需要在某个地方存储数据。对于 Web 应用程序&#xff0c;数据库是关键的“齿轮”。 很多企业和开发者在选择数据库时&#xff0c;会主要考虑的几个因素——一是它的成本&#xff0c;二是托管服务提供商的灵活性和支持力度。 出于多种原因&…

15个nosql数据库

1、MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库。由C语言编写。主要解决的是海量数据的访问效率问题&#xff0c;为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候&#xff0c;MongoDB的数据库访问速度是MySQL的10倍以上。MongoDB的并发读…

盘点2013:21款最优秀的开源数据库

作为一名软件开发人员或DBA&#xff0c;其中一份必不可少的工作就是与数据库打交道&#xff0c;比如MS SQL服务器、MySQL、Oracle、PostgreSQL、MongoDB等等。众所周知&#xff0c;其中MySQL是目前使用最广泛最好的免费开源数据库&#xff0c;此外&#xff0c;还有一些你不知道…

数据库设计学习总结

近期学习数据库也整理了一些笔记放上来供大家参考分享&#xff0c;相对来说比较基础。学习数据库个人觉得应该先把SQL语句熟悉了&#xff0c;然后再回头过来把数据库的整个设计过程强化下。别人说数据库设计&#xff08;难度比较大&#xff09;需要经验&#xff0c;可能吧&…

为什么要学习数据库以及数据库的选择

一、为什么要学习数据库 1.数据库概念 数据库&#xff08;Database&#xff09;&#xff0c;就是暗转数据结构来组织、存储和管理数据&#xff0c;建立在计算机存储设备上的仓库。我们可以吧数据库看成电子化的文件库&#xff0c;也就是存储电子文件的处所&#xff0c;用户可以…

数据库学习资料和视频

数据库 博主在公众号后台设置了关键字回复&#xff0c; 回复下面的【】里面的内容&#xff0c; 可免费获得数据库视频和资料。 如回复&#xff1a;数据库 【数据库】 【1】oracle介绍和体系结构 【2】启动oracle服务和连接oracle数据库 【3】表的介绍和sqlplus相关操作 …

深度学习图像数据库总结(收藏用)

深度学习数据库总结 感谢感谢~收藏用&#xff01; 原文出自&#xff1a;https://blog.csdn.net/chaipp0607/article/details/71403797 数据的准备工作是训练模型前的必要工作&#xff0c;显然这也是非常耗时的&#xff0c;所以在入门阶段我们完全可以用现有的开源图片库快速完…