现在的位置: 首页 > 综合 > 正文

企业级GIS系统架构介绍——数据库篇

2014年03月01日 ⁄ 综合 ⁄ 共 3637字 ⁄ 字号 评论关闭

对企业级GIS系统架构的数据存储来说,关系型数据库无疑还是目前GIS项目中占据着举足轻重的作用。尽管现在有Hadoop、NoSQL、数据仓库等技术,但是这些技术由于使用的广泛度、技术的成熟度(在GIS行业当中使用)、资金的预算方法都不如关系型数据库的优势明显,特别是Oracle数据库以其非常优秀的性能以及真正的高可用性的特点,被广大用户所采用。


以Oracle数据库为例,现在的项目大多都是以Oracle的RAC为数据库的基本架构。



以上就是一个Oracle 11g R2的RAC架构图。

RAC:real application clusters 真正应用集群,看名字就可以看到了Oracle的霸气所在,它可以不顾其他数据库厂商的感受,把自己的集群名称称之为真正的集群,可以见得Oracle对自己这个技术的自信,而且在使用过程中,广大用户也非常信赖这种技术,从oracle 9i到现在一直是首选。


为什么要集群


1、高性能计算
  计算任务分配到不同计算机节点来提高整体计算能力,主要应用在科学计算领域。主要利用的是并行计算。


2、负载均衡集群(LB)
  把业务的负载流量尽可能的平均合理的分配到集群的各个节点上,每个节点都可以处理一部分负载,并且可以根据负载情况进行动态的平衡。负载均衡算法不是简单的平均,而是根据每个节点的可用资源或网络的特殊情况来进行优化分配。因此分配+合理才是负载均衡的核心。


3、高可用性(HA)
  侧重于提高系统的可用性,集成硬件和软件的容错性来实现整体服务的高可用性。如果某个节点发生故障,另外的节点代替他。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
那么从上面的RAC架构图我们简单给大家介绍一下RAC的基础知识。

1:从硬件环境来说

一般情况下常见的RAC环境都是两个节点组成的集群,那么我们需要两台一模一样配置的服务器、每个服务器需要多个网卡,而且需要多个网络交换机、光纤交换机,而且还需要一个存储设备。


2:从网络环境来说

RAC环境需要一个公有网络,一个私有网络,一个存储连接网络

  • 公有网络是应用服务连接RAC环境的一个通道,该环境会给用户暴露一个IP,供用户来进行连接。
  • 私有网络是与公有网络相隔离的一个网络,它是RAC环境节点之间传输心跳信息和RAC和Cache Fusion机制使用。该网络是实现私有网络负载均衡和容错机制的。私有网络必须是千兆或者万兆。
  • 存储网络是各个节点连接存储的一个内部网络,如果需要负载均衡的话,可以使用多个网络交换机进行网络的负载均衡。存储网络是由节点机器的HBA卡的光纤线组成。


3:从软件环境来说

RAC环境需要安装

  • 操作系统:节点间的操作系统版本以及补丁必须一模一样
  • 集群软件:负责管理整个集群环境中的硬件资源,并且为上层的RAC集群提供服务。
  • 集群文件系统:虽然RAC环境有N个节点工作,但是数据存储都是在一个系统上,或者说数据库的数据文件、日志文件、控制文件等重要信息都在一个文件系统中,这样也保证了数据的一致性。常见的集群文件系统是ASM。
  • Oracle软件:版本以及补丁必须一模一样,如果安装完集群软件,再安装Oracle应用程序,Oracle会自动检测到安装集群版本的应用程序。


从上面的特点可以看出RAC是一个多实例单存储的一种架构,多个节点可以实现上面的高性能的计算,我们可以使用多个节点一块来对系统发起的任务进行处理,而且节点之间的特殊机制可以一个任务多个节点共同处理,而且如果某个节点压力比较大,系统还会自己来进行分析来让负载压力比较小的节点来处理,如果某个节点机器宕机,也不会影响其他机器的运行。


其实说了这么多,这些东西对ArcGISer来说都是一个黑盒子,大家只要知道,我的应用服务器发出请求,通过RAC环境处理,我们只需知道这个环境可以非常高效的进行工作,然后将数据库存储的数据返回过来即可。


那么关于ArcSDE怎么工作呢?其实我们在以前也陆续说明过ArcSDE在RAC的工作机制,如果这个RAC环境下没有ArcSDE的话,大家可以很好的理解,但是如果多了一个ArcSDE,大家可能有所迷茫,但是随着ArcSDE10.1之后,默认采用直连的话,会对该问题有一个很好的理解。


大家都知道,ArcSDE包括ArcSDE软件和相关的ArcSDE库,我们目前创建ArcSDE库,需要使用ArcGIS desktop 直连Oracle数据库来创建ArcSDE库,这个库包括:sde用户、sde表空间、sde用户权限,sde表、sde包、存储过程、索引、同义词、视图等等,所有的这些都是Oracle的对象而已,已经不需要ArcSDE的软件或者说服务了,所以说当我们使用桌面连接RAC环境的ArcSDE,其实就相当于ArcGISDesktop连接RAC环境公有网络暴露给用户的一个IP,至于怎么处理,RAC已经帮你做了,ArcSDE就是一些表而已。


这也是以前在给用户讲解直连和服务连接区别的时候,会对直连有一个特点是,在RAC环境下更易于配置的道理。


那么ArcSDE10.1怎么在RAC环境下创建或者说安装呢?

1:我们首先需要使用数据库的方法来创建一个ArcSDE的表空间,这个表空间必须创建在共享存储上。

2:剩下的就是使用桌面的GP工具来Create Enterprise Geodatabase建库即可。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


更多扩展:

从上面的架构可以看出,RAC是一个多实例单存储的架构,我的某个节点如果出现问题,并不会影响整个系统的运行,但是如果我们的存储出现了问题,那么可能对我的系统就是一个致命的打击。


当然,oracle也有一个Data Guard的机制,对数据存储进行一个灾备。

Data guard是ORACLE 推出的一种高可用性(HIGH AVAILABLE)的数据库方案,在8i之前称之为standby database,从9i开始,正式更名为Data guard,它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现快速切换与灾难性恢复。Data guard只是在软件上对数据库进行设置,并不需要额外购买任何组件能在对主数据库影响很小的情况下,实现主备数据库的同步,而主备机的数据差异只在在线日志部分,所以被不少企业作为了数据容灾方案。


还有一种是Oracle Golden Gate

Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。Oracle Golden Gate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。同时,Oracle Golden Gate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构


不管怎么样,这些都是oracle的相关机制,真正的负载均衡技术、容错技术都是Oracle技术来完成的,Esri的ArcSDE只是存储在oracle的相关机制环境下可以得到这个福利而已。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

以上大多是非Esri产品的知识,是作者自己的理解,可能在理解方面有所偏颇,相关信息仅供参考,如有问题希望多指正!



企业级GIS系统架构介绍——总览
http://blog.csdn.net/linghe301/article/details/12994611


企业级GIS系统架构介绍——数据库篇
http://blog.csdn.net/linghe301/article/details/12997803


企业级GIS系统架构介绍——GIS服务器篇
http://blog.csdn.net/linghe301/article/details/13001035


企业级GIS系统架构介绍——安全篇
http://blog.csdn.net/linghe301/article/details/13291855

 -------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

出处来自:http://blog.csdn.net/linghe301
-------------------------------------------------------------------------------------------------------

抱歉!评论已关闭.