PostgreSQL是一个功能强大的开源对象关系数据库系统。它拥有超过15年的积极开发和经过验证的架构,在可靠性,数据完整性和正确性方面赢得了良好声誉。它运行在所有主要操作系统上,包括Linux,UNIX(AIX,BSD,HP-UX,macOS,Solaris)和Windows。它完全兼容ACID,完全支持外键,连接,视图,触发器和存储过程(使用多种语言)。它包括大多数SQL:2008数据类型,包括INTEGER,NUMERIC,BOOLEAN,CHAR,VARCHAR,DATE,INTERVAL和TIMESTAMP。它还支持存储二进制大对象,包括图片,声音或视频。它具有用于C / C ++,Java,.Net,Perl,Python,Ruby,Tcl,ODBC等的本机编程接口以及特殊文档。
一个企业级数据库,PostgreSQL拥有诸如多版本并发控制(MVCC),时间点恢复,表空间,异步复制,嵌套事务(保存点),在线/热备份,复杂的查询计划器/优化器和写提前记录容错。它支持国际字符集,多字节字符编码,Unicode,它是区分感知排序,区分大小写和格式。无论是可以管理的数据量还是可以容纳的并发用户数量都是高度可扩展的。在生产环境中有活动的PostgreSQL实例管理很多太字节的数据,以及管理PB级别的集群。下表列出了一些通用的PostgreSQL限制。
最大数据库大小 | 无限 |
最大表格大小 | 32 TB |
最大行大小 | 1.6 TB |
最大字段大小 | 1 GB |
每表的最大行数 | 无限 |
每个表的最大列数 | 250 - 1600取决于列类型 |
每张表的最大索引 | 无限 |
PostgreSQL赢得了用户和业界的认可,包括Linux新媒体最佳数据库系统奖和最佳数据库管理系统“Linux杂志编辑选择奖”五次获奖者。
功能强大且符合标准
PostgreSQL在标准遵从方面引以为傲。其SQL实现强烈符合ANSI-SQL:2008标准。它完全支持子查询(包括FROM子句中的子查询),读提交和可序列化的事务隔离级别。虽然PostgreSQL有一个完全关系型的系统目录,它本身支持每个数据库的多个模式,但是它的目录也可以通过SQL标准中定义的信息模式来访问。
数据完整性功能包括(复合)主键,具有限制和级联更新/删除的外键,检查约束,唯一约束和非空约束。
它也有很多扩展和高级功能。其中便利之处是通过序列自动递增列, LIMIT / OFFSET允许返回部分结果集。PostgreSQL支持可以使用任何B树,R树,哈希或GiST存储方法的复合,唯一,部分和功能索引。
GiST (广义搜索树)索引是一个先进的系统,汇集了各种不同的排序和搜索算法,包括B树,B +树,R树,部分和树,排名B +树等等。它还提供了一个接口,允许创建自定义数据类型以及用于搜索它们的可扩展查询方法。因此,GiST的提供了灵活地指定什么你存储, 怎么你保存它,并确定新的方式的能力,通过它来搜索,远远超过方式---通过这些标准的B-tree,R-tree和其他通用搜索提供算法。
GiST是许多使用PostgreSQL的公共项目(如OpenFTS和PostGIS)的基础。OpenFTS(开源全文搜索引擎)为数据库搜索提供在线数据索引和相关性排名。PostGIS是一个在PostgreSQL中添加对地理对象的支持的项目,允许它被用作地理信息系统(GIS)的空间数据库,就像ESRI的SDE或Oracle的Spatial扩展一样。
其他高级功能包括表继承,规则系统和数据库事件。表继承将面向对象放在表创建上,允许数据库设计者从其他表中派生新表,将它们作为基类处理。更好的是,PostgreSQL以这种方式支持单继承和多继承。
规则系统(也称为查询重写系统)允许数据库设计人员创建规则,以识别给定表或视图的特定操作,并在处理它们时将其动态转换为备用操作。
事件系统是一个进程间通信系统,在这个系统中,消息和事件可以使用LISTEN和NOTIFY命令在客户端之间传输 ,允许简单的点对点通信和高级的数据库事件协调。由于通知可以从触发器和存储过程发出,PostgreSQL客户端可以监视数据库事件,比如表更新,插入或删除。
相关推荐
然而,随着大数据时代的到来,海量数据和物联网产生的数据已超出关系数据库的处理能力。 为了应对大数据挑战,人们起初采用集群同步数据的方式,将数据库分成多个小库,每个库保存源数据库的数据副本,通过同步或...
随着大数据时代的到来,新型数据库应运而生,如MPP(大规模并行处理)、NoSQL(非关系型数据库)和NewSQL(具备传统数据库特性的同时支持大数据处理)。这些新型数据库能处理大规模数据集,提供高并发性和高扩展性,...
数据库是存储和管理数据的核心工具,特别是在大数据时代,选择合适的数据库类型至关重要。本文主要介绍了不同类型的数据库及其特性,包括内存存储、列存储、K/V存储、文件存储以及消息队列等,并通过比较不同数据库...
**PostgreSQL 9.5.9 - 稳定版详解** PostgreSQL 9.5.9 是 PostgreSQL 数据库管理系统的一个官方稳定版本。这个版本专为 CentOS7.x 和 ...其丰富的特性和持续的社区支持,使得它成为大数据时代下的首选数据库之一。
在当前的信息化时代,PostgreSQL作为一款强大的开源关系型数据库,正受到越来越多的关注和应用。 在内容的概述中,我们可以看到几个关键知识点: 1. **PostgreSQL的独特性**:PostgreSQL在索引技术方面有其...
在互联网大数据时代,酒店预订平台的设计与实现是一个充满挑战且具有广泛应用前景的课题。这个Java毕业设计项目旨在构建一个高效、安全、用户友好的在线预订系统,满足现代旅行者的需求。下面将详细介绍该项目的关键...
中国移动基于PostgreSQL系列开源数据库的实践 NewSQL技术解析与企业级应用案例 大数据技术的最新进展和发展趋势 数字化转型中的大数据治理架构 文本大数据分析与挖掘:机遇,挑战,及应用前景 讯飞大数据...
在大数据时代背景下,传统GIS面临海量空间数据带来的巨大挑战。为了应对这些挑战,GIS技术需要进行一系列的改进与优化: 1. **针对经典空间数据**:对于传统的空间数据处理方式,需要进行分布式重构,以提高数据...
此外,REST应用程序架构也非常适合云计算时代的互联网应用。 在本章中,我们还介绍了JSON数据交换语言的应用。JSON是一种轻量级数据交换语言,由道格拉斯・克罗克福特构想和设计的。JSON保留了C的特性,大部分编程...
PostgreSQL是一种开源关系型数据库管理系统(RDBMS),在IT领域广泛应用,特别是在需要高度可靠性和复杂查询的场景中。此“postgresql-9.1.3-1-windows-x64”压缩包是专为64位Windows系统设计的PostgreSQL 9.1.3版本...
2. **大数据处理**:在大数据时代,数据库需要具备强大的数据处理能力,能够高效地存储、检索和分析大规模数据。例如,Amazon DynamoDB是一种无服务器、高性能的键值和文档数据库,适用于需要低延迟读写操作的应用。...
8. **大数据与分布式数据库**:随着大数据时代的到来,考生还需要理解Hadoop, Spark等大数据处理框架,以及分布式数据库的原理和应用场景。 9. **云数据库服务**:掌握AWS的RDS, Google Cloud的Cloud SQL, Azure的...
数据库可能是MySQL、PostgreSQL等关系型数据库,也可能是MongoDB等非关系型数据库。源码可能包含了与数据库交互的逻辑,如数据导入导出、查询优化等。这有助于理解如何将Python与数据库系统相结合,实现数据的高效...
【新型硬件GPU在PostgreSQL的应用】 随着信息技术的快速发展,硬件领域的创新不断推动着数据库系统性能...随着硬件技术的持续进步,我们可以期待更多利用新型硬件优化数据库性能的方法出现,以满足大数据时代的需求。
PostgreSQL,作为大数据时代备受推崇的数据库系统,是由加州大学伯克利分校计算机系于90年代开发的。这个学府同样孕育了如Spark这样的大数据处理框架,其在数据库领域的影响力不言而喻。MySQL 1.0发布的同时,...
本讲座围绕“云时代数据库迁移 & 容灾技术新进展与应用”这一主题,深入探讨了相关领域的最新发展和实践应用。 1. 数据库迁移:数据库迁移是指将企业的数据从一个平台或系统迁移到另一个平台或系统的过程,通常涉及...
该系统可能采用了关系型数据库,如MySQL或PostgreSQL,用于存储图书馆的各种数据,如书籍信息、借阅记录、用户资料等。SQL(结构化查询语言)是与这些数据库交互的语言,通过它可以进行数据的增删改查操作。同时,...
在大数据时代,单个数据库处理海量数据的能力逐渐捉襟见肘,这催生了数据库分库分表的需求。Mycat,作为一个开源的分布式数据库中间件,应运而生,为解决大数据场景下的高性能、高可用性提供了有效的解决方案。本文...
综上所述,大数据技术中的NoSQL数据库为应对Web 2.0时代的挑战提供了新的解决方案,而CAP理论和ACID原则则是评估和设计分布式数据库系统的关键考量因素。理解和掌握这些知识点对于理解和应用大数据技术至关重要。
在这个时期,开源数据库如MySQL和PostgreSQL是技术的明星,它们支持ACID原则,拥有丰富的索引分析功能,能够处理非结构化存储,并使用MVCC(多版本并发控制)和Materialized View等技术来保证数据的一致性。...