大数据下的地质资料信息存储架构设计

大数据下的地质资料信息存储架构设计,第1张

颉贵琴 胡晓琴

(甘肃省国土资源信息中心)

摘要 为推进我国地质资料信息服务集群化产业化工作,更大更好地发挥地质资料信息的价值,本文针对我国现有的地质资料信息集群化共享服务平台存在的缺陷和问题,基于现有系统的存储架构,设计了一种大数据下的地质资料信息存储架构,以便于我国地质资料信息服务集群化产业化工作能够适应大数据时代的数据存储。

关键词 大数据 地质资料 存储 NoSQL 双数据库

0 引言

新中国成立60多年来,我国形成了海量的地质资料信息,为国民经济和社会发展提供了重要支撑。但在地质资料管理方面长期存在资料信息分散、综合研究不够、数字化信息化程度不高、服务渠道不畅、服务能力不强等问题,使地质资料信息的巨大潜在价值未能得到充分发挥。为进一步提高地质工作服务国民经济和社会发展的能力,充分发挥地质资料信息的服务功能,扩大服务领域,国土资源部根据国内外地质工作的先进经验,做出了全面推进地质资料信息服务集群化产业化工作的部署。

目前,全国各省地质资料馆都在有条不紊地对本省成果、原始和实物地质资料进行清理,并对其中重要地质资料进行数字化和存储工作。然而,由于我国地质资源丰富,经过几十年的积累,已经形成了海量的地质资料,数据量早已经超过了几百太字节(TB)。在进行地质资料信息服务集群化工作中,随着共享数据量的不断增大,传统的数据存储方式和管理系统必然会展现出存储和检索方面的不足以及系统管理方面的缺陷。为了解决该问题,需要设计更加先进的数据存储架构来实现海量地质资料的存储。

而大数据(Big Data)作为近年来在云计算领域中出现的一种新型数据,科技工作者在不断的研究中,设计了适合大数据存储管理的非关系型数据库NoSQL进行大数据的存储和管理。本文将针对我国现有的地质资料信息集群化共享服务平台存在的缺陷和问题,利用大数据存储管理模式的思想,提出一种海量地质资料存储架构,改进现有系统存储架构,以便于我国全面推进地质资料信息服务集群化产业化工作。

1 工作现状

11 国内外地质资料信息的存储现状

在美国,主要有两大地质资料公共服务平台,分别是地球科学信息中心(ESIC)、地球资源观测和科学中心(EROS),其目的是通过为社会和政府提供更加便利、快速的地质信息服务。20世纪90年代初,澳大利亚出台了国家地球科学填图协议,采用先进的科学方法和技术进行数据存储,从而形成了第二代澳大利亚陆地地质图。

目前,我国地质资料信息服务集群化产业化工作刚刚起步,虽然国土资源部信息中心已经开发了地质资料信息集群化共享服务平台,并倡导各地方用户使用该系统。但由于各个地方早期的工作背景不一致,因此各地方所使用的存储系统也不尽相同,主要有Access、SQL Server、Oracle、MySQL等系统。本文以国土资源部信息中心开发的地质资料信息集群化共享服务平台的存储系统MySQL为例说明。该系统是基于关系数据库管理系统MySQL的一套分布式存储检索系统。该系统的部署使得我国地质资料信息服务集群化产业化工作取得了重大进展,同时也为我国建立标准统一的地质资料信息共享服务平台和互联互通的网络服务体系奠定了坚实的基础。然而,该系统的研发并没有考虑到地质资料信息进一步集群化以及在未来地质资料信息进入大数据时代的信息共享和存储管理问题,也没有给出明确的解决方案。

12 大数据的存储架构介绍

大数据是近年在云计算领域中出现的一种新型数据,具有数据量大、数据结构不固定、类型多样、查询分析复杂等特点。传统关系型数据库管理系统在数据存储规模、检索效率等方面已不再适合大数据存储。NoSQL(Not Only SQL)是与关系数据库相对的一类数据库的总称。这些数据库放弃了对关系数据库的支持,转而采用灵活的、分布式的数据存储方式管理数据,从而可以满足大数据存储和处理的需求。NoSQL基于非关系型数据存储的设计理念,以键值对进行存储,采用的数据字的结构不固定,每一个元组可以有不一样的字段,且每个元组可以根据自己的需要增加一些自己的键值对,可以减少一些检索时间和存储空间。目前,应用广泛的 NoSQL 数据库有 Google BigTable、HBase、MongoDB、Neo4 j、Infinite Graph等。

2 大数据下的地质资料信息存储架构设计

根据国土资源部做出的全面推进地质资料信息服务集群化产业化工作的部署,国土资源部倡导全国地质资料馆使用国土资源部信息中心开发的地质资料信息集群化共享服务平台,实现地质资料信息的存储和共享。该系统采用了数据库管理系统MySQL作为数据存储系统。

为了与现有系统和现有的工作进行对接,并为将来地质资料进入大数据时代后的存储工作做准备,本文设计了一种能用于海量地质资料信息存储并且兼容MySQL的分布式的数据存储架构(图1)。

整个系统可以根据不同的用户等级分为不同的用户管理层,由于图幅限制,在图1 中仅仅展示了3级:国家级管理层(即共享服务平台用户层)、省级管理层以及市级管理层(可根据实际需要延伸至县级)。

每级管理层的每个用户可以单独管理一个服务器。如国土资源部信息中心可以单独管理一个服务器;甘肃省国土资源信息中心可以单独管理一个服务器,陕西省国土资源信息中心可以单独管理一个服务器;甘肃的若干个市级国土资源局可以根据需要分别管理各自的服务器。

在服务器上分别安装两套数据库管理系统,一套是原有的MySQL数据库管理系统,另一套是为大数据存储而配备的NoSQL型数据库管理系统。在服务器上还专门开发一个数据库管理器中间件,用于进行用户层和数据库的通信以及两套数据库之间的通信。

由于各个管理层都各自维护自己的数据库和数据。当用户需要进行数据存储时,他所影响的数据库仅仅是本地数据库,存储效率较高;当用户需要从多个数据库读取数据时,顶层的共享服务平台会根据用户需求进行任务分解,将任务分发给下层的管理层进行数据库读取,由于各个数据库并行读取,从而提高了数据库读取效率。

图1 大数据下的地质资料信息存储架构框图

21 用户管理层

用户管理层根据权限范围,分为多层(本文以3层为例)。

位于顶层的国家级管理层(共享服务平台用户层)负责用户访问权限的分配、与其直接关联的数据库的访问、下级管理层任务的分配等工作。

用户访问权限的分配是指为访问本共享服务平台的个人用户和单位用户分配数据的使用权限、安全性的设计等。

与其直接关联的数据库访问是指直接存储在其本地数据库上的数据的访问。在该数据库中不仅要存储所需要的地质资料,还要存储注册用户信息等数据。

下级管理层任务分配是指如果用户需要访问多个下层数据库,用户只需要输入查询这几个下层数据库的命令,而如何查找下层数据库则由该功能来完成。例如某用户要查找甘肃、陕西、上海、北京的铁矿分布图,则用户只需要输入这几个地方及铁矿等查询条件,系统将自动把各个省的数据库查询任务分派到下级管理层。

同理,位于下层的省级管理层和市级管理层除了没有用户访问权限功能外,其余功能与国家级管理层是相同的。各层之间的数据库通过互联网相互连接成分布式的数据库系统。

22 MySQL和NoSQL的融合

MySQL是关系型数据库,它支持SQL查询语言,而NoSQL是非关系型数据库,它不支持SQL查询语言。用户要想透明地访问这两套数据库,必须要设计数据库管理器中间件,作为用户访问数据库的统一入口和两套数据库管理系统的通信平台。本文所设计的数据库管理器简单模型如图2所示。

图2 数据库管理器模型

服务器管理器通过用户程序接口与应用程序进行通讯,通过MySQL数据库接口与MySQL服务器通讯,通过NoSQL数据库接口与NoSQL数据库接口通讯。当应用程序接口接收到一条数据库访问命令之后,交由数据库访问命令解析器进行命令解析,从而形成MySQL访问命令或者NoSQL访问命令,通过相应的数据库接口访问数据库;数据库返回访问结果后经过汇总,由应用程序接口返回给应用程序。

两套数据库可以通过双数据库通信协议进行相互的通信和互访。此通信协议的建立便于地质工作人员将已经存入MySQL数据库的不适合结构化存储的数据转存到NoSQL数据库中,从而便于系统的升级和优化。

23 系统的存储和检索模式

在本存储框架设计中,系统采用分布式网络存储模式,即采用可扩展的存储结构,利用分散在全国各地的多台独立的服务器进行数据存储。这种方式不仅分担了服务器的存储压力,提高了系统的可靠性和可用性,还易于进行系统扩展。另外,由于地质资料信息存储的特殊性,各地方用户的数据存储工作基本都是在本地服务器进行,很少通过网络进行远程存储,所以数据存储效率较高。

在一台数据库服务器上安装有MySQL和NoSQL型两套数据库管理系统,分别用于存储地质资料信息中的结构化数据和非结构化数据。其中,NoSQL型数据库作为主数据库,用于存储一部分结构化数据和全部的非结构化数据;而MySQL数据库作为辅助数据库,用于存储一部分结构化的数据,以及旧系统中已经存储的数据。使用两套数据库不仅可以存储结构化数据而且还可以适用于大数据时代地质资料信息的存储,因此系统具有很好的适应性和灵活性。

24 安全性设计

地质资料信息是国家的机密,地质工作人员必须要保证它的安全。地质资料信息进入数字化时代之后,地质资料常常在计算机以及网络上进行传输,地质资料信息的安全传输和保存更是地质工作人员必须关注和解决的问题。在本存储架构的设计中设计的安全问题主要有数据库存储安全、数据传输安全、数据访问安全等问题。

数据库设计时采用多边安全模型和多级安全模型阻止数据库中信息和数据的泄露来提高数据库的安全性能,以保障地质信息在数据库中的存储安全;当用户登录系统访问数据库时,必须进行用户甄别和实名认证,这主要是对用户的身份进行有效的识别,防止非法用户访问数据库;在对地质资料进行网络传输时,应该首先将数据进行加密,然后再进行网络传输,以防止地质信息在传输过程中被窃取。

3 结语

提高地质资料数字化信息化水平,是国外地质工作强国的普遍做法。为推进我国地质资料信息服务集群化产业化工作,本文针对我国现有的地质资料信息集群化共享服务平台存在的缺陷和问题,利用大数据存储管理模式的思想,基于现有系统的存储架构,设计了一种大数据下的地质资料信息存储架构,以便于我国地质资料信息服务集群化产业化工作能够适应大数据时代的数据存储。该存储架构的设计只涉及了简单模型的构建,具体详细复杂的功能设计和软件实现还需要在进一步的研究工作中完成。

参考文献

[1]吴金朋一种大数据存储模型的研究与应用[D]北京:北京邮电大学计算机学院,2012

[2]吴广君,王树鹏,陈明,等海量结构化数据存储检索系统[J]计算机研究与发展,2012,49(Suppl):1~5

[3]黄 ,易晓东,李姗姗,等面向高性能计算机的海量数据处理平台实现与评测[J]计算机研究与发展,2012,49(Suppl):357~361

《详细设计说明书》是要包括数据库设计的--数据库逻辑设计、物理建模等;这项工作不应该是架构师的职责,因为这些详细设计工作太细致了,而架构师主要应该负责技术线路选择和选型等高层次的工作,负责对整个项目层级的指导和协调。

《MySQL性能调优与架构设计》(简朝阳)电子书网盘下载免费在线阅读

资源链接:

链接:>  提取码:1aeg    

书名:MySQL性能调优与架构设计

作者:简朝阳

豆瓣评分:81

出版年份:2009-6

页数:392

内容简介:《MySQL性能调优与架构设计》以 MySQL 数据库的基础及维护为切入点,重点介绍了 MySQL 数据库应用系统的性能调优,以及高可用可扩展的架构设计。

全书共分3篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份恢复知识。性能优化篇从影响 MySQL 数据库应用系统性能的因素开始,针对性地对各个影响因素进行调优分析。如 MySQL Schema 设计的技巧,Query 语句的性能优化方式方法及MySQL Server中SQL层和存储引擎层的优化思路。同时还分析了 MySQL 数据库中主要存储引擎的锁定机制。架构设计篇则主要以设计一个高可用可扩展的分布式企业级数据库集群环境为目标,分析介绍了通过 MySQL 实现这一目标的多种架构方式。主要包括可扩展和高可用两部分内容,可扩展部分包括设计原则、Replication 的利用、数据切分、如何使用 Cache 和 Search,以及 NDB Cluster等内容。高可用则主要包括 Dual Master、DRBD、NDB Cluster,以及系统监控等方面。

本书主要面向有一定的 MySQL 基础或至少有一定SQL语言基础的读者朋友。

大数据方面的就业主要有三大方向:一是数据分析类大数据人才,二是系统研发类大数据人才,三是应用开发类大数据人才。他们的基础岗位分别是大数据系统研发工程师、大数据应用开发工程师、大数据分析师。

大数据方向挣钱多的岗位

(1)大数据系统研发工程师:负责大数据系统研发工作,包括大规模非结构化数据业务模型构建、大数据存储、数据库架构设计以及数据库详细设计、优化数据库构架、解决数据库中心建设设计问题。他们还负责集群的日常运作、系统的监测和配置、Hadoop与其他系统的集成。

(2)大数据应用开发工程师:负责搭建大数据应用平台、开发分析应用程序。他们熟悉工具或算法、编程、包装、优化或者部署不同的MapReduce事务。他们以大数据技术为核心,研发各种基于大数据技术的应用程序及行业解决方案。

(3)大数据分析师:运用算法来解决分析问题,并且从事数据挖掘工作。他们最大的本事就是能够让数据道出真相;此外,他们还拥有某个领域的专长,帮助开发数据产品,推动数据解决方案的不断更新。

(4)数据可视化工程师:具备良好的沟通能力与团队精神,责任心强,拥有优秀的解决问题的能力。他们负责在收集到的高质量数据中,利用图形化的工具及手段的应用,一目了然地揭示数据中的复杂信息,帮助企业更好的进行大数据应用开发,发现大数据背后的巨大财富。

大数据热门专业

1、Hadoop开发

随着数据规模不断增大,传统BI的数据处理成本过高企业负担加重。而Hadoop廉价的数据处理能力被重新挖掘,企业需求持续增长。并成为大数据人才必须掌握的一种技术。

2、信息架构开发

大数据重新激发了主数据管理的热潮。充分开发利用企业数据并支持决策需要非常专业的技能。信息架构师必须了解如何定义和存档关键元素,确保以十分有效的方式进行数据管理和利用。信息架构师的关键技能包括主数据管理、业务知识和数据建模等。

3、数据安全研究

数据安全这一职位,主要负责企业内部大型服务器、存储、数据安全管理工作,并对网络、信息安全项目进行规划、设计和实施。

4、ETL研发

企业数据种类与来源的不断增加,对数据进行整合与处理变得越来越困难,企业迫切需要一种有数据整合能力的人才。ETL开发者这是在此需求基础下而诞生的一个职业岗位。ETL人才在大数据时代炙手可热的原因之一是:在企业大数据应用的早期阶段,Hadoop只是穷人的ETL。

如何进行系统的架构设计

方法/步骤

一个软件项目在需求确定后,就可以开始系统的架构设计了。架构设计不同于编写代码,需要遵循严格的语法和编程规范。它没有规范可遵循,存在即合理,适合系统开发和运行的架构就是最合理的系统架构。

系统的架构设计是在业务需求已经清晰的前提下进行的,假定在系统需求分析阶段已经确定了系统的功能和业务范围,也明确了系统运营需求。在上述需求还没有确定的情况下,不适宜开展系统的架构设计,需要回到需求分析阶段完善上述需求后再开展系统的架构设计。

系统架构就是一些模型图,模型图是人们用来理解系统和沟通的工具。这些模型图需要提供给系统相关干系人来理解系统,系统相关干系人有项目经理、产品经理、开发人员、系统运营维护人员、客户、项目投资人等。这些干系人有不同的知识背景,对同一架构模型图也会有不同的认知和理解:如果把开发架构模型图给产品经理或客户看,他们定然看不懂也不能理解;同样的道理,如果只把逻辑架构图给开发人员看,就不能正确地指导开发人员构建开发环境。

因此架构设计师在进行系统架构设计时,需要从系统的不同维度进行设计,以满足系统相关干系人理解系统架构的需求。架构设计模型主要有逻辑架构、开发架构、数据架构、物理架构和运行架构五种模型图。一般来说需要设计的系统架构模型有逻辑架构、开发架构和物理架构三种架构模型图。数据架构模型一般放在数据库中进行设计,运行架构和物理架构基本相近,只是在物理架构中加了数据的流向,因此一些系统设计使用物理架构代替了运行架构。

设计逻辑架构模型

逻辑架构模型主要是确定系统的功能范围和系统划分。在设计逻辑架构模型时,可以抓住两个关键点:一个关键点是对系统进行逻辑划分,将一个大系统划分为多个子系统;另外一个关键点是明确各子系统之间的协作和调用关系。

绘制逻辑架构的模型图有系统流程图和系统结构图:系统流程图描述了系统各子系统、相关文件和数据之间的关系,记录了整个系统的体系结构;系统结构图也称为层次图,它以层次方式描述了系统从顶层到最底层的功能分解。

下图分别是人脉系统的系统流程图和系统结构图。

上面的人脉系统流程图和人脉系统结构图就是依据人脉系统需求规格说明书给出的功能和业务范围绘制的。

设计开发架构模型

开发架构模型图是给开发人员看的,开发架构模型指导开发人员如何来架构系统的开发环境。开发环境包括系统开发框架的选型、开发工具和编程语言、模块划分等内容。下图是人脉系统开发架构模型图。

开发架构模型图给出了技术体系是B/S结构,开发框架选择SSM,开发语言是JavaEE。系统采用三层结构,分别是表示层、WEB应用层和数据层。表现层是JSP页面,在浏览器中运行,表现层是MVC的View。WEB应用层的控制层是MVC的Controller,业务逻辑层是MVC的Service,实体层是MVC的POJO。数据层由MyBaits数据库开发框架组成。

设计物理架构模型

物理架构模型是给系统部署人员和运营维护人员看的,主要给出系统的部署环境模型,包括网络环境、硬件环境和软件环境。下图是系统部署网络环境模型图。

从上面网络环境模型图中可以看出,系统部署只需要一台主机,要求支持>

系统的架构设计主要涉及到三种模型图,分别是逻辑架构模型、开发架构模型和物理架构模型。逻辑架构模型一般采用系统流程图和系统结构图建模;开发架构模型没有标准的模型图,可以使用PPT或Visio绘图工具进行绘制;物理架构模型主要是由网路环境、硬件和软件环境组成。

以上就是关于大数据下的地质资料信息存储架构设计全部的内容,包括:大数据下的地质资料信息存储架构设计、数据库设计的基本步骤、《MySQL性能调优与架构设计》epub下载在线阅读,求百度网盘云资源等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9439194.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存