×

注意!页面内容来自https://blog.csdn.net/whatday/article/details/102897134,本站不储存任何内容,为了更好的阅读体验进行在线解析,若有广告出现,请及时反馈。若您觉得侵犯了您的利益,请通知我们进行删除,然后访问 原网页

postgresql(pg)数据库简介

1.什么是PostgreSql

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

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

 

2.为什么要使用PostgreSQL

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

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

 

3.下面是PostgreSQL中的各种功能介绍

数据类型
1.基本类型:IntegerNumericStringBoolean
2.结构类型:Date/TimeArrayRangeUUID
3.文档类型:JSON/JSONBXMLKey-value(Hstore)
4.几何类型:PointLineCirclePolygon
5.自定义类型:CompositeCustom Types
 

数据的完整性
1.唯一性,不为空
2.主键
3.外键
4.排除约束
5.显式锁定,咨询锁定
 

并发性,性能
1.索引
2.高级索引
3.复杂的查询计划期/优化器
4.交互
5.多版本并发控制(MVCC)
6.读取查询的并行化和构建B树索引
7.表分区
8.Sql标准中定义的所有事物隔离级别,包括Serializable
9.即时表达式汇编(JIT)
 

可靠性,灾难恢复
1.预写日志(WAL)
2.复制:异步,同步,逻辑
3.时间点恢复(pitr),主动备用
4.表空间
 

安全性
1.身份验证:GSSAPISSPILDAPSCRAM-SHA-256证书等
2.强大的访问控制系统
3.列和行级安全性
 

可扩展性
1.存储的功能和程序
2.程序语言:PL/PGSQLPerlPython (more)
3.外部数据包装器:使用标准SQL接口连接到其他数据库或流
4.许多提供附加功能的扩展,包括PostGIS
 

国际化,文本搜索
1.支持国际字符集,例如通过ICU校对
2.全文检索
 

对比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的内存表不够实用(表锁原因)
 

 

确定要放弃本次机会?
福利倒计时
: :

立减 ¥

普通VIP年卡可用
立即使用
3 条评论 您还未登录,请先 登录 后发表或查看评论
内容概要:本文围绕基于神经网络与无导数优化算法(遗传算法GA和模拟退火SA)对翼型升阻比进行优化的技术展开研究,采用Matlab代码实现完整流程。通过构建神经网络代理模型替代高成本的气动仿真,预测翼型的气动性能,并结合GA和SA等智能优化算法进行全局搜索,高效寻优出最佳翼型几何参数,从而显著提升升阻比。该方法突破传统梯度依赖优化的局限,适用于非线性、多极值的复杂气动设计问题,具备良好的收敛性和鲁棒性。研究强调算法可复现性,提供完整的代码架构与技术文档支持,便于科研人员快速验证与拓展应用。; 适合人群:具备一定Matlab编程能力和空气动力学基础知识,从事航空航天、流体力学、飞行器设计或智能优化算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于飞行器翼型的气动外形优化设计,提升飞行效率与性能;②为高计算成本仿真环境下的参数优化问题提供代理模型+智能算法的解决方案;③支持科研竞赛(如电工杯)、学术论文复现、教学演示及工程原型开发。; 阅读建议:建议读者结合网盘提供的Matlab代码与数据集,逐步运行并调试神经网络训练、代理模型构建及GA/SA优化模块,重点关注算法参数设置、收敛判据与优化路径可视化,深入理解代理模型在减少仿真调用次数方面的关键作用。
内容概要:本文围绕二进制相移键控(BPSK)系统在加性白高斯噪声(AWGN)信道下的建模与误码率-信噪比(BER-SNR)性能基准测试展开研究,通过Matlab代码完整实现了BPSK调制解调全过程,构建了端到端的数据传输仿真链路。研究系统地仿真了不同信噪比条件下的误码率表现,并绘制了BER-SNR曲线以评估系统性能,为数字通信系统的理论分析与实际设计提供了可靠的仿真依据。该工作不仅涵盖了BPSK基本原理的实现,还包括AWGN信道建模、信号检测与误码统计等关键技术环节,具有较强的综合性与实践价值。; 适合人群:具备通信原理基础知识和Matlab编程能力的高校本科生、研究生,以及从事通信系统仿真、算法开发的科研人员和工程技术人员;特别适合参与“电工杯”等科技竞赛并关注通信方向的参赛者。; 使用场景及目标:①深入理解BPSK调制解调机制及其在AWGN信道中的传输特性;②掌握数字通信系统仿真的基本流程与方法;③学习误码率仿真技术和性能曲线绘制技巧;④为后续研究QPSK、16QAM等高阶调制方式或信道编码、均衡等技术打下坚实基础。; 阅读建议:建议读者结合经典通信教材同步学习,先掌握调制解调、信噪比、误码率等核心概念,再逐行调试Matlab代码,观察各阶段信号波形与关键参数变化,深入理解每一模块的物理意义与算法逻辑,从而全面掌握数字通信系统仿真的方法论与实现细节。
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值