对企业级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环境需要一个公有网络,一个私有网络,一个存储连接网络
3:从软件环境来说
RAC环境需要安装
从上面的特点可以看出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
-------------------------------------------------------------------------------------------------------