《开源GIS》教案 2 开源空间数据库

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1--2-第二讲:开源空间数据库一、教学目标1.了解空间数据库原理和PG实现以及PostgreSQL/PostGIS基本知识。2.掌握PostgreSQL的操作和管理;PostGIS的常用空间特性。二、重点与难点分析1.重点:PostGIS空间数据库的实现技术,支持的空间特性和基本操作。2.难点:PostGIS对PostgreSQL的空间扩展如何实现。三、教学内容与教学过程1PostgreSQL简介1.1PostgreSQL历史1986-1994:Postgres–Originalresearchproject1995:Postgres95–SQLsupport1996-2000:PostgreSQL6.0-7.0–Opensourceteam–MVCC,stability,performance2001-2005:PostgreSQL7.0-8.0–SQL92,complexSQL,schemas,optimizer,Win322006-2007:PostgreSQL8.1,8.2-3-–In-memorybitmap,roles,partitioning,Performance9.1.5·2012-08-17PostgreSQL9.2:FullThrottleDatabase:LiveStreamingDate:2012-09-11Location:SanFrancisco,CA,UnitedStates1.2Ingres和Postgres项目PostgreSQL的前身是BSD始于1977年的Ingres项目在1985年,MichaelStonebraker回到伯克利开始一个后-Ingres(post-Ingres)的项目,目的是解决Ingres中,同时也是1980年代的数据库系统中的主要问题:数据关系维护的问题。这就是Postgres的开端。Ingres是比较早的数据库系统,开始于加利福尼亚大学柏克莱分校的一个研究项目,该项目开始于70年代早期,在80年代早期结束。像柏克莱大学的其他研究项目一样,它的代码使用BSD许可证。从80年代中期,在Ingres基础上产生了很多商业数据库软件,包括Sybase、MicrosoftSQLServer、NonStopSQL、Informix和许多其他的系统。在80年代中期启动的后继项目Postgres,产生了PostgreSQL、Illustra,无论从任何意义上来说,Ingres都是历史上最有影响的计算机研究项目之一。在1993年,用户开始暴涨,并且特性需求急剧增加;在做了一些代码清理、发布了版本4之后,Postgres项目正式终止。在1994年,两名伯克利的研究生在做研究生课题的时候,向Postgres里增加了现代的SQL语言的支持。两位研究生是来自中国香港的AndrewYu和JollyChen用bison和flex工具的组合,把Postgres的Postquel查询语言替换成了SQL92,然后将Postgres改名为Postgres95。AndrewYu和JollyChen最大的贡献在于,完成了Postgres95之后,将其发布到了互联网上,随后的1996年,加拿大的Hub.OrgNetworkingServices的MarcFournier(一名FreeBSD黑客)提供了第一个非大学的开发服务器平台,然后BruceMomjian(美国)和VadimB.Mikheev(俄国)开始修改以及稳定伯克利发布的代码,并于1996年8月发布了第一个开源版本。目前,PostgreSQL的稳定版本到了9.2,在RDBMS的各种特性方面,已经接近于“无可指责”的境界了。而目前PostgreSQL的开发是围绕在更易用的SQL语言扩展、SQL标准的兼容(比如SQL2003、XML/Xquery的支持)、扩展工具、外围工具等方面。PostgreSQL的读法:Post-gres-Q-L。1.3PG安装配置-4-PostgreSQL可以用于C/S(客户/服务器)环境。PostgreSQL的C/S架构允许任务分工。非常适合于存储和访问大量数据的服务器主机可以用作安全的数据储存库。可以为客户端开发复杂的图形界面程序。另外,基于网页的前端可以通过建立网页模式的结果集到浏览器访问数据,而不需要另外的客户端软件。PG网络配置:VB设置网络为桥接模式。【服务器端】配置可连接接口(postgresql.conf)打开postgresql.conf文件$sudovim/etc/postgresql/8.4/main/postgresql.conf检索修改位置/listen_addresses修改文件(i,进入编辑模式)listen_addresses=‘*’保存文件(:wq)【服务器端】配置可连接服务器信息(pg_hba.conf)打开pg_hba.conf文件$sudovim/etc/postgresql/9.1/main/pg_hba.conf检索修改位置hostallall127.0.0.1/32md5修改文件(i,进入编辑模式)在3.1.2后添加下述设定内容hostallall192.168.11.0/24md5注:该修改的目的是允许所有机器,所有用户都使用TCP/IP协议连接,用密码进行认证的方式如果想指定数据库,修改第一个all,指定用户的话,修改第二个all如果想明确访问机器的ip地址的和话,修改192.168.11.1/24部分,目前这部分的设定含义是允许从192.168.11.0到192.168.11.255的IP地址的机器访问数据库。保存文件(:wq)-5-重启postgres数据库$sudo/etc/init.d/postgresqlrestart[教学提示]:希望大家自学Xubuntu操作系统的使用。1.4BSD许可证BSD许可证(BerkeleySoftwareDistributionlicense),是自由软件(开源软件的一个子集)中使用最广泛的许可证之一。BSD软件就是遵照这个许可证来发布,该许可证也因此而得名。BSD包最初所有者是加州大学的董事会,这是由于BSD源自柏克莱加州大学。BSD开始后,BSD许可证得以修正,使得以后许多BSD变种,都采用类似风格的许可证。跟其他许可证相比,从GNU通用公共许可证(GPL)到限制重重的著作权(Copyright),BSD许可证比较宽松,甚至跟公有领域更为接近。事实上,BSD许可证被认为是copycenter(中版权),界乎标准的copyright与GPL的copyleft之间。Takeitdowntothecopycenterandmakeasmanycopiesasyouwant。Copyright(c)1998著作权由加州大学董事会所有。著作权人保留一切权利。**这份授权条款,在使用者符合以下三条件的情形下,授予使用者使用及再散播本*软件包装原始码及二进位可执行形式的权利,无论此包装是否经改作皆然:**对于本软件源代码的再散播,必须保留上述的版权宣告、此三条件表列,以及下述的免责声明。**对于本套件二进位可执行形式的再散播,必须连带以文件以及/或者其他附于散播包装中的媒介方式,重制上述之版权宣告、此三条件表列,以及下述的免责声明。**未获事前取得书面许可,不得使用柏克莱加州大学或本软件贡献者之名称,来为本软件之衍生物做任何表示支持、认可或推广、促销之行为。免责声明:本软件是由加州大学董事会及本软件之贡献者以现状(“asis”)提供,本软件包装不负任何明示或默示之担保责任,包括但不限于就适售性以及特定目的的适用性为默示性担保。加州大学董事会及本软件之贡献者,无论任何条件、无论成因或任何责任主义、无论此责任为因合约关系、无过失责任主义或因非违约之侵权(包括过失或其他原因等)而起,对于任何因使用本软件包装所产生的任何直接性、间接性、偶发性、特殊性、惩罚性或任何结果的损害(包括但不限于替代商品或劳务之购用、使用损失、资料损失、利益损失、业务中断等等),不负任何责任,即在该种使用已获事前告知可能会造成此类损害的情形下亦然。最自由的是BSD软件许可(BerkeleySoftwareDistribution),它提供“随便你怎么处置这个软件。”最宽容的许可是伯克利软件分发(BSD,BerkeleySoftwareDistribution)许可,它实际上-6-说“用这个软件做任何你想做的。但不提供任何担保”。PostreSQL使用的软件许可()响应BSD软件许可的精神并套用它的说法,“允许以任何目的使用、拷贝、修改和重新发布这套软件以及文档,不需要任何费用,不需要签订任何书面协议,提供以上的版权通告以及这段和以下两个段落的文字在所有的拷贝中”。2PostgreSQL功能PostgreSQL技术功能后端;性能;安全;网络;国际化;平台;数据类型;函数和触发器;程序语言;contrib模块。PostgreSQL比较2.1基本信息2.2操作系统支持2.3基本功能2.4表与视图2.5索引2.6其他对象2.7数据表分区2.8数据库与模式(Schemas)2.9外部连接3PostgreSQL优点PostgreSQL提供了许多其他数据库系统的优势,为您的公司或企业。3.1免疫过度部署部署是一些专有数据库厂商视为他们的许可证合规性问题。在PostgreSQL,没有人可以控告你打破许可协议,有没有相关的授权费用的软件。这有几个附加的优点:更多有利可图的商业模式,与大规模的部署。没有可能的许可证合规性审核的任何阶段。灵活地进行概念研究和试验部署,而不需要包括额外的许可费用。比专有软件厂商的更好的支持。除了我们提供的大力支持,我们有一个充满活力的社区,PostgreSQL的专业人士和爱好者,您的员工可以借鉴和促进。3.2节省人力成本显着我们的软件已经被设计和创造有比领先的专有数据库的维护和调整的要求要低得多,但仍保留了所有的功能,稳定性和性能。此外,我们的培训课程通常被看作是更符合成本效益,易于管理,并实际在现实世界领先的专有数据库厂商。3.3传奇的可靠性和稳定性-7-与许多专有数据库,它是很普遍的公司报告了PostgreSQL,从来没有,永远为他们坠毁在几年的高活性操作。一次也没有。这只是工作。3.4可扩展源代码是不收取任何费用。如果你的员工有需要自定义或扩展PostgreSQL以任何方式,那么,他们能够做到以最小的努力,并没有附加费用。这是补充社会的PostgreSQL世界各地的专业人士和爱好者,也积极扩展PostgreSQL每天的基础上。3.5跨平台PostgreSQL是,几乎每一个品牌的Unix(34平台上使用最新的稳定版本),Windows的兼容性可以通过Cygwin的框架。本机Windows的兼容性也可与8.0及以上版本。3.6专为高容量的环境我们使用多行数据存储策略称为MVCC,让PostgreSQL在高容量环境非常敏感。领先的专有数据库厂商使用这种技术,出于同样的原因。3.7GUI数据库设计和管理工具有许多高品质的图形用户界面工具可用于PostgreSQL的开源开发者和商业供应商。列表是我们的wiki上作为一个社会PostgreSQL的GUI工具。4PostgreSQL体系结构4.1主进程Postmaster:它主要负责在客户端第一次发送请求给服务器的时候建立一个服务器端进程并监听用户连接。4.2监听器Listener:也就是每个客户端对应的服务器端进程,它的主要作用是和客户端进行通信,获取客户端的sql语句,并把查询结果返回给客户端。4.3查询优化器Optimizer:主要功能是分析客户端提交的sql语句,给出所有的执行路径,并从中找出一个最优的方案,最后把这个执行方案交给执行器。-8-4.4缓冲管理器BufferManager:,主要功能是对共享缓冲区和本地缓存区进行管理。5PostgreSQL、MySQL和DB2特性对比特性MySQLPostgreSQLDB2实例通

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功