postgressql企业级数据库edb学习(一)

  • 学习资源
  • 何为 PostgreSQL?
  • PostgreSQL 简史

学习资源

官网:https://www.enterprisedb.com/
中文站:http://www.enterprisedb.net.cn

何为 PostgreSQL?

PostgreSQL 是以加州大学伯克利分校计算机系开发的 POSTGRES, Version 4.2 为基础的对象关系型数据库管理系统(ORDBMS)。POSTGRES 领先的许多概念只是在非常迟的时候才出现在商业数据库中。

PostgreSQL 是最初伯克利代码的一个开放源码的继承人。它支持大部分 SQL 标准并且提供了许多其它现代特性:

复杂查询
外键
触发器
视图
事务完整性
多版本并发控制

另外,PostgreSQL 可以用许多方法进行扩展,比如通过增加新的:

数据类型
函数
操作符
聚集函数
索引方法
过程语言

PostgreSQL 简史

现在被称为 PostgreSQL 的对象-关系型数据库管理系统是从伯克利编写的 POSTGRES 软件包发展而来的。经过十几年的发展,PostgreSQL 是目前世界上可以获得的最先进的开放源码数据库系统。

Berkeley 的 POSTGRES 项目
Michael Stonebraker 领导的 POSTGRES 项目是由防务高级研究项目局(DARPA)、陆军研究办公室(ARO)、国家科学基金(NSF)、ESL公司共同赞助的。POSTGRES 的实现始于 1986 年,该系统最初的概念详见 The design of POSTGRES 。最早的数据模型定义见 The POSTGRES data model 。当时的规则系统设计在 The design of the POSTGRES rules system 里描述。存储管理器的理论基础和体系结构在 The design of the POSTGRES storage system 里有详细描述。

从那以后,POSTGRES 经历了几次主要的版本更新。第一个"演示性"系统在 1987 年便可使用了,并且在 1988 年的 ACM-SIGMOD 大会上展出。在 1989 年 6 月发布了版本 1(在 The implementation of POSTGRES 里有描述)给一些外部的用户使用。为了回应用户对第一个规则系统的批评(A commentary on the POSTGRES rules system),我们重新设计了规则系统(On Rules, Procedures, Caching and Views in Database Systems)并在 1990 年 6 月发布了使用新规则系统的版本 2 。版本 3 在 1991 年出现,增加了多存储管理器的支持,并且改进了查询执行器,重新编写了规则系统。从那以后,随后的版本直到 Postgres95 发布前(见下文),工作都集中在移植性和可靠性上。

POSTGRES 已经在许多研究或实际的应用中得到了应用。这些应用包括:一个财务数据分析系统、一个喷气引擎性能监控软件包、一个小行星跟踪数据库、一个医疗信息数据库和一些地理信息系统。POSTGRES 还被许多大学用于教学用途。最后,Illustra Information Technologies(后来并入 Informix ,而它现在属于 IBM)拿到代码并使之商业化。在 1992 年末 POSTGRES 成为 Sequoia 2000 scientific computing project 的首要数据管理器。

到了 1993 年,外部用户的数量几乎翻番。随着用户的增加,用于源代码维护的时间日益增加,以至占用了太多本应该用于数据库研究的时间,为了减少支持的负担,伯克利的 POSTGRES 项目在版本 4.2 时正式终止。

Postgres95
1994 年,Andrew Yu 和 Jolly Chen 向 POSTGRES 中增加了 SQL 语言的解释器,并随后将 Postgres95 的源代码发布到互联网上供大家使用,从而成为一个开放源码的原伯克利 POSTGRES 的继承者。

Postgres95 所有源代码都是完全的 ANSI C ,而且代码量减少了 25% 。并且有许多内部修改以利于提高性能和代码的可维护性。Postgres95 版本 1.0.x 在进行 Wisconsin Benchmark 测试时大概比 POSTGRES v4.2 快 30%-50% 。除了修正了一些错误,下面的是一些主要改进:

原来的查询语言 PostQUEL 被 SQL 取代(在服务器端实现)。在 PostgreSQL 之前还不支持子查询(见下文),但这个功能可以在 Postgres95 里面由用户定义的 SQL 函数实现。重新实现了聚集。同时还增加了对 GROUP BY 查询子句的支持。

新增加了利用 GNU Readline 进行交互 SQL 查询(psql)。这个程序很大程度上取代了老的 monitor 程序。

增加了新的前端库(libpgtcl),用以支持以 Tcl 为基础的客户端。一个样本 shell(pgtclsh),提供了新的 Tcl 命令用于 Tcl 程序和 Postgres95 后端之间的交互。

彻底重写了大对象的接口。保留了将大对象倒转(inversion)作为存储大对象的唯一机制。去掉了倒转(inversion)文件系统。

去掉了记录级的规则系统。但我们仍然可以通过重写规则使用规则。

在发布的源码中增加了一个简短的常用 SQL 和 Postgres95 特有的 SQL 特性的教程。

用 GNU make 取代了 BSD make 用于编译。Postgres95 可以使用不加补丁的 GCC 进行编译(修正了偶数字节数据的对齐问题)。

PostgreSQL
到了 1996 年,我们很明显的看出"Postgres95"这个名字已经经不起时间的考验了。于是我们起了一个新名字 PostgreSQL 用于反映最初的 POSTGRES 和最新的使用 SQL 的版本之间的关系。同时版本号也重新从 6.0 开始,将版本号放回到最初的由伯克利 POSTGRES 项目开始的顺序中。

Postgres95 版本的开发重点放在标明和理解现有的后端代码的问题上。PostgreSQL 开发重点转到了一些有争议的特性和功能上面,当然各个方面的工作同时都在进行。

自那以来,PostgreSQL 发生的变化可以在发行注记里面找到。

postgressql企业级数据库edb学习(一)相关推荐

  1. MyCAT+MySQL 搭建高可用企业级数据库集群

    第1章 课程介绍 课程介绍 1-1 MyCAT导学 试看 1-2 课程介绍 第2章 MyCAT入门 这一章中,我们将回顾了垂直切分,水平切分,分库分表等基础概念,然后快速回如何安装和启动MyCAT的, ...

  2. 三层架构与设计模式思想部署企业级数据库业务系统开发

    1. 三层架构介绍 1.1关于架构 架构这个词从它的出现后,就有许许多多的程序员.架构师们激烈地讨论着它的发展,但是架构一词的出现,却是随着三层架构的出现才出现的.当然,目前应用三层架构开发也正是业界 ...

  3. 打造企业级云深度学习平台——小米云深度学习平台的架构设计与实现

    作者:陈迪豪,小米深度学习工程师,负责小米云深度学习平台的架构和实现,目前专注于TensorFlow和Kubernetes社区. 责编:何永灿,欢迎人工智能领域技术投稿.约稿.给文章纠错,请发送邮件至 ...

  4. 用友NCV6.1 NC数据库持久化学习

    转载于:http://www.wendangku.net/doc/4da658764b73f242326c5f3c.html 仅用于学习. NC数据库持久化学习 1.案例的应用场景概述: 在NC的开发 ...

  5. 张程伟:从开源项目到企业级数据库,云和恩墨 MogDB Uqbar 的技术探索与实践...

    导语 4月8日下午,为期两天的第十二届数据技术嘉年华(DTC 2023)在北京新云南皇冠假日酒店圆满落下帷幕.大会以"开源·融合·数字化--引领数据技术发展,释放数据要素价值"为主 ...

  6. B站《一天学会 MySQL 数据库》学习笔记

    B站<一天学会 MySQL 数据库>学习笔记 老司机带我飞 职场十字诀:思考.计划.行动.总结.反思 ​关注他 4 人赞同了该文章 登录和退出MySQL服务器 # 登录MySQL $ my ...

  7. 数据库MYSQL学习系列三

    数据库MYSQL学习系列三 三.MYSQL事务与存储引擎 3.1-数据库事务 什么是事务 一系列有序的数据库操作: o要么全部成功 o要么全部回退到操作前的状态 o中间状态对其他连接不可见 事务的 ...

  8. 数据库MYSQL学习系列一

    数据库MYSQL学习系列一 一.MYSQL数据库基础 1.1-认识MYSQL 什么是数据库 计算机处理和存储的一切信息都是数据 计算机系统中一种用于存取数据的程序 一种: 计算机系统中有很多种能够存取 ...

  9. 对话阿里云李飞飞:下一代企业级数据库6大技术方向

    简介:对话李飞飞,不仅仅是一次简单的采访,对老鱼来说,也是一种收获,因为,在数据库领域李飞飞拥有敏锐的触角,对数据库发展趋势有着独到的见解和洞察. 作者:老鱼笔记 题图:DTCC 2020大会专访合影 ...

最新文章

  1. 【SDCC 2016·杭州站】9月22日大数据实战专场精彩呈现
  2. 【机器学习算法-python实现】svm支持向量机(1)—理论知识介绍
  3. 福禄克官方经销商给您科普光纤极性基础
  4. 前端正则:常用正则表达式
  5. 【matlab】GPU 显卡版本与计算能力(compute capability)兼容性问题
  6. 如何从C快速过渡到C++
  7. 【OpenCV】-算子(Sobel、Canny、Laplacian)学习
  8. JAVA毕业设计源码带论文和答辩、大作业、实例程序源码下载合集【56套】
  9. 因一纸设计稿,我把竞品APP扒得裤衩不剩(中)
  10. FPGA学习经验分享——入门篇
  11. 【MATLAB项目实战】基于SPI指数的某地区地区干旱时空特征分析
  12. mysql数据库备份方法有几种_MySQL数据库备份的几种方式
  13. 杭州城市交通拥堵综合治理实践
  14. 【RDMA】使用‘无信号完成’(Working with Unsignaled completions)|IBV_SEND_SIGNALED
  15. 韦东山第二期课程内容概要
  16. 离散数学复习--Modular Arithmetic
  17. 鼠标点击按钮相应两次
  18. Ubuntu20.04安装vivado2018.2过程中卡在generating installed device list的解决办法
  19. 考研复试计算机英语自我介绍,考研复试英语自我介绍范文10篇
  20. java 坐标转换工具类(很全面哦!wgs84.... gcj02(即火星坐标).... )

热门文章

  1. 中文Linux版本概览(转)
  2. 安卓.9.png格式切图新手常见错误
  3. oracle 分区条件加函数,oracle 分区表
  4. ubuntu修改时区,tzselect报错: /usr/share/zoneinfo/iso3166.tab: No such file or directory
  5. Flink-安装部署及部署模式介绍
  6. hadoop如何使用linux命令,hadoop命令_Linux使用hadoop dfs命令的方法
  7. 喜报!锘崴科技荣获隐私计算应用创新企业TOP10
  8. 全面高效的SEO视频教程,优化自己搞定
  9. NEXUS 7 刷机
  10. idea中重新加载新的依赖方法