国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > PostgreSQL > 一文了解什么是PostgreSQL

一文了解什么是PostgreSQL

头像

爱喝马黛茶的安东尼

2019-11-13 16:54:255416浏览 · 0收藏 · 0评论

1、什么是PostgreSQL?

PostgreSQL是一个功能强大的开源对象关系型数据库系统,它使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可以追溯到1986年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上进行了30多年的积极开发。

PostgresSQL凭借其经过验证的架构,可靠性,数据完整性,强大的功能集,可扩展性以及软件背后的开源社区的奉献精神赢得了良好的声誉,以始终如一地提供高性能和创新的解决方案。PostgreSQL在所有主要操作系统开始使用PostgreSQL从未如此简单。

2、为什么要使用PostgreSQL?

PostgreSql提供了许多功能,旨在帮助开发人员构建应用程序,管理员保护数据完整性并且构建容错环境,并帮助你管理数据,无论数据集的大小。除了免费和开源之外,Postgre SQL还具有高度的可扩展性。例如,你可以定义自己的数据类型,构建自定义SQL函数,甚至可以编写来自不同编程语言的代码,而不需要重新编译数据库。

PostgreSql试图符合SQL标准,在这种标准中,这种一致性不会与传统特性相矛盾,或者可能导致糟糕的架构决策。支持SQL标准所需的许多功能,但是有时候语法或者功能略有不同。随着时间的推移,可以预期进一步向一致性迈进。从2018年10月发布的11版本开始,PostgreSQL符合SQL:2011核心一致性的179个强制性功能中的至少160个,在此之前,没有任何关系型数据库符合此标准的完全符合。

3、PostgreSQL中的各种功能介绍:

(1)数据类型:

    ·基本类型:Integer, Numeric, String, Boolean

    ·结构类型:Date/Time, Array, Range, UUID

    ·文档类型:JSON/JSONB, XML, Key-value(Hstore)

    ·几何类型:Point, Line, Circle, Polygon

    ·自定义类型:Composite, Custom Types

(2)数据的完整性

    ·唯一性,不为空

    ·主键

    ·外键

    ·排除约束

    ·显式锁定,咨询锁定

(3)并发性,性能

    ·索引

    ·高级索引

    ·复杂的查询计划期/优化器

    ·交互

    ·多版本并发控制(MVCC)

    ·读取查询的并行化和构建B树索引

    ·表分区

    ·Sql标准中定义的所有事物隔离级别,包括Serializable

    ·即时表达式汇编(JIT)

(4)可靠性,灾难恢复

    ·预写日志(WAL)

    ·复制:异步,同步,逻辑

    ·时间点恢复(pitr),主动备用

    ·表空间

(5)安全性

    ·身份验证:GSSAPI, SSPI, LDAP, SCRAM-SHA-256, 证书等

    ·强大的访问控制系统

    ·列和行级安全性

(6)可扩展性

    ·存储的功能和程序

    ·程序语言:PL/PGSQL, Perl, Python (more)

    ·外部数据包装器:使用标准SQL接口连接到其他数据库或流

    ·许多提供附加功能的扩展,包括PostGIS

(7)国际化,文本搜索

    ·支持国际字符集,例如通过ICU校对

    ·全文检索

对比Mysql:

(1)PostgreSQL的稳定性极强,Innodb等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足的进步,然而很多Mysql用户都遇到过Server级的数据库丢失的场景---Mysql系统库是MyISAM的,相较而言,PG数据库在这方面要好一些。

(2)任何系统都有他的性能,在高并发读写,负载逼近下,PG的性能指标仍然可以维持双曲线甚至对数曲线,到顶峰之后不再下降,而MySQL明细出现一个波峰后下滑。

(3)PG多年在GIS领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG中有大量的字典、数组、bitmap等数据类型,相比之下MaySQL就差很多,insagram就是因为PG的空间数据库扩展POSTGIS远远强于MySQL的my spatial而采用PGSQL的。

(4)PG的“无锁定”特性非常突出,甚至包括vacuum这样的整理数据空间的操作,这个和PGSSQL的MVCC实现有关系。

(5)PG的可以使用函数和条件索引,这使得PG数据库的调优非常灵活,mysql就没有这个功能,条件索引在web应用中很重要。

(6)PG有极其强悍的SQL编程能力,有丰富的统计函数和统计语法支持,比如分析函数(Oracle的叫法,PG里面叫Window函数),还可以用多种语言来写存储过程,对于R的支持也很好。这一点上MySQL就差的很远,很多分析功能那个都没有,腾讯内部数据存储主要是Mysql,但是主要的数据分析就是Hadoop+PGsql。

(7)PG的有很多中集群架构可以选择,plproxy可以支持语句级的镜像或者分片,slony可以进行字段级的同步设置,standby可以构建WAL文件级或者流式的读写分离集群,同步频率和集群策略调整方便,操作非常简单。

(8)一般关系型数据库的字符串有限定长度8k左右,长Text类型的功能受限,只能作为外部大数据访问。而PG的TEXT类型可以直接方法,SQL语法内置正则表达式,可以索引,还可以全文检索,或使用xml xpath。用PG的话,文档数据库就可以省略了

(9)对于web应用来说,复制的特性很重要,Mysql到现在也是异步复制,pgsql可以做到同步,异步,半同步复制。还有mysql的同步是基于binlog复制,类似oracle golden gate, 是基于stream的复制,做到同步很困难,这种方式更加适合异地复制,pgsql的复制基于wal,可以做到同步复制。同时pgsql还提供stream复制。

(10)Pgsql对于numa架构的支持要比mysql强一些,比mysql对于读的性能要好些,pgsql提交可以完全异步,而mysql的内存表不够实用(表锁原因)。

python学习网,大量的免费MongoDB入门教程,欢迎在线学习!

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

《交换做爰》在线观看| 《妻欲公与媳》免费看| 老公装醉看我和别人在一起 | 77777免费观看电视剧推荐适.. | 密爱| 稚嫩的小学生初中生怎么形容| 医生含着我的奶边摸边做视频| 杓怎么读| 胬肉(产乳)| 大龟慢慢挺进女友闺蜜的体内视频| 被两个男人吃奶三P| 《喂奶人妻厨房HD》| 我的女上司| 双飞娘俩国语免费观看视频| 10岁小学生TEES幼儿| 宝宝扶着水池乖乖让爸爸洗头文 | 《你邻居的妻子》电视剧| 美女和男生一起努力的生孩子视频.. | 《不再是朋友的夜晚第二季》| 三叶草M码和欧洲码区别| 体验所(HP)笔趣阁在线阅读| 军营里饱满的乳被揉捏玩弄| 《麦子的秘密2》| 优酷| 添女人荫蒂全部过程AV视频| 学校体检要用手扒开前面吗| 20厘米能插到肚子吗| 后母和子在玉米地之间的寓意| 美女和帅哥一起努力生产豆浆的视. | 国精产品偷偷偷拍XXXX| 韩漫免费下拉式土豪漫画官网| 男性23厘米尺寸图片| 《喂奶人妻厨房HD》| 97在线观看免费高清电视剧狂飙| 美丽儿媳分节阅读| 女人乱子伦xXX沧州| 男人行房一般多久才算正常| 《囚禁空姐》电影免费观看| 妈妈的新男友| 被门卫大爷日出水小说| 暴躁少女CSGO免费观看