PostgreSQL:无回滚段的优势与多版本并行控制详解
需积分: 50 166 浏览量
更新于2024-08-15
收藏 734KB PPT 举报
PostgreSQL是一种先进的开源对象-关系型数据库管理系统,源自1980年代由Michael Stonebraker领导的伯克利POSTGRES项目。该项目最初由国防高级研究项目局(DARPA)、陆军研究办公室(ARO)、国家科学基金(NSF)以及ESL, Inc资助,旨在推动数据库技术的发展。1987年,POSTGRES项目的早期版本可供演示,随后在1989年推出了面向外部用户的版本1。
PostgreSQL的特点与Oracle和InnoDB有显著区别。首先,PostgreSQL采用的是多版本并发控制(MVCC)模式,即最新版本和历史版本数据是混合存储的,而非像Oracle和InnoDB那样完全分离。这意味着PostgreSQL在异常崩溃后,由于不需要复杂的回滚操作(如redo和undo),恢复过程更为简洁,数据库实例的重启速度也更快,降低数据库无法启动的风险。
其次,PostgreSQL没有专门的回滚段,旧数据直接保存在数据文件中,这减少了ora-01555错误的发生,因为它不需要频繁地清理回滚段中的更改。在事务回滚时,PostgreSQL不会像InnoDB那样删除数据,而是通过WAL(Write Ahead Logging)简单地记录操作,这样可以快速完成回滚,避免了额外的日志操作和数据清理。
此外,PostgreSQL支持广泛的SQL功能,包括子查询、事务、用户定义类型和函数,以及多种编程语言接口,如C、C++、Java、Perl、Tcl和Python。它的开源特性使得开发团队主要由全球各地的志愿者组成,社区驱动,没有单一的公司控制,用户只需参与到邮件列表和讨论中即可参与项目的成长。
在备份和集群方案上,PostgreSQL提供了全面的支持,允许用户根据需求制定相应的策略。与MySQL相比,PostgreSQL在性能、功能和安全性上可能具有优势,尤其适合需要高级SQL功能和复杂事务处理的应用场景。
PostgreSQL是一个功能强大、高度灵活且开源的数据库系统,它的设计哲学强调了易用性、稳定性以及对现代数据库需求的适应性,是许多企业和开发者选择的对象。
189 浏览量
140 浏览量
163 浏览量
104 浏览量
2023-04-11 上传
312 浏览量
194 浏览量
451 浏览量
2021-03-22 上传
Happy破鞋
- 粉丝: 14
- 资源: 2万+
最新资源
- RCTF_2015_web500.rar
- react-my-app:学习react
- V4音效4.4.0.4全网最新版(附带安装方法和脉冲样本使用发放).zip
- 电脑软件简历模板大全.rar
- arsenio:ping问题的作者,被arsenio bot遗忘了
- WholesomeHaha.RevenantWww.gazrZ1D
- ctf500--app登录加密算法.rar
- kernelry.github.io:我的博客
- group-by-params:数组使用的简单分组功能,可按参数执行分组。 参数可以是对象键或嵌套路径
- 一个好用的http测试工具
- shortly-angular
- 电脑软件NDM下载器.rar实用
- JS在线汉字笔画练习特效特效代码
- appc-github-client:用于监控Github组织,存储库等的仪表板!
- getopts:解析CLI参数
- 盘古:这是一个演示说明