当前位置:首页 » 数据仓库 » 数据库管理器设计
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库管理器设计

发布时间: 2022-04-12 03:41:13

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

颉贵琴 胡晓琴

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

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

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

0 引言

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

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

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

1 工作现状

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

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

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

1.2 大数据的存储架构介绍

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

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

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

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

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

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

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

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

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

2.1 用户管理层

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

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

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

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

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

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

2.2 MySQL和NoSQL的融合

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

图2 数据库管理器模型

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

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

2.3 系统的存储和检索模式

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

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

2.4 安全性设计

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

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

3 结语

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

参考文献

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

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

[3]黄

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

㈡ mysql管理工具哪个好mysql管理工具哪个好mysql管理工具哪个好

推荐两款:1、MySQLWorkbenchMySQLWorkbench是一款图形化的数据库设计工具,它在一个开发环境中集成了SQL的开发,管理,数据库设计,创建以及维护。它是fabFORCE.net旗下DBDesigner4的继承者,并替代了MySQLGUIToolsBundle。最早版本是5.0,是为了强调MySQLWorkbench是作为DBDesigner4的继承者被开发出来的事实。2、Navicat:用于MySQL的Navicat既是一个数据库管理器同时还是一个开发工具。它适用于从3.21以上的任何MySQL数据库服务器,并且支持包括触发器,存储过程,函数,事件,预览和用户管理在内的绝大多数最新的MySQL功能。上面这两款工具都有Linux版本。

㈢ MySQL数据库管理程序的设计与实现

建议你下载 phpmyadmin 看看,这是php写的mysql数据库管理工具,可做到对mysql的增删查改、增删用户、授权等…… 总之这个phpmyadmin非常好用,你如果需要自己开发,那么可以参考这个phpmyadmin,看看它的代码。

㈣ 设计一个简单数据库管理系统,提交其设计报告

老师的做业吧! 不好意思我没有听过你们老师的课, 更不知道你想要做什么。
自己问老师要去吧,到这里来是没有给出答案的。你同班同学除外^_^

㈤ 小型数据库管理系统设计

系统演示视频

㈥ 急!!用VB编写一个数据库管理软件一般分哪几个步骤

首先,要找一本VB的语法书来看看,VB的语法不多,主要看看变量定义,流程控制语句,函数、过程的定义等。
其次,了解一下数据库方面的知识。数据库简单点就用Access,用其他SQL Server也行,掌握VB中数据库的连接方法。
再次,掌握SQL查询语句。SQL也不多,就SELECT、DELETE、UPDATE、INSERT几句。
接着,就是熟悉VB开发工具了,VB里面有很多现成的控件可以用,包括数据库方面的。
至于你说的"接受外部硬件收集的数据",是不是要做硬件接口我就不清楚了.

㈦ 用java设计一个数据库管理系统

import java.sql.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
//import java.awt.event.*;
public class DisplayDemo extends JFrame
//implements ActionListener
{
// private String dbURL="jdbc:microsoft:sqlserver://202.115.26.181:1433"; // 数据库标识名
private String user="devon"; // 数据库用户
private String password="book"; // 数据库用户密码
private JTable table;
private JButton ok,canel;
public DisplayDemo(){
super("显示数据库查询结果"); //调用父类构造函数
String[] columnNames={"用户名","年龄","性别","Email"}; //列名
Object[][] rowData=new Object[5][4]; //表格数据
ok=new JButton("确定");
canel=new JButton("取消");
// ok.addActionListener(this);
// canel.addActionListener(this);
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:example","sa","");
// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //加载驱动器
// Connection con=DriverManager.getConnection(dbURL,user,password); //获取连接
String sqlStr="select * from users"; //查询语句
PreparedStatement ps=con.prepareStatement(sqlStr); //获取PreparedStatement对象
ResultSet rs=ps.executeQuery(); //执行查询
String name,sex,email; //查询结果
int age;
int count=0;
while (rs.next()){ //遍历查询结果
rowData[count][0]=rs.getString("name"); //初始化数组内容
rowData[count][1]=Integer.toString(rs.getInt("age"));
rowData[count][2]=rs.getString("sex");
rowData[count][3]=rs.getString("email");
count++;
}

con.close(); //关闭连接
}
catch(Exception ex){
ex.printStackTrace(); //输出出错信息
}

Container container=getContentPane(); //获取窗口容器
//container.setLayout(null);
container.add(ok);container.add(canel); ok.setBounds(10,120,70,20);
canel.setBounds(100,120,70,20);
table=new JTable(rowData,columnNames); //实例化表格
table.getColumn("年龄").setMaxWidth(25); //设置行宽
container.add(new JScrollPane(table),BorderLayout.CENTER); //增加组件

setSize(300,200); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}

public static void main(String[] args){
new DisplayDemo();
}
}

-----------------
这是其中一个例子 你照着上面做就可以了

㈧ 关于数据库管理系统(MIS)的设计

做数据库系统。。。用pb吧。。这个能够跟你的sql数据库连接在一起。
很方便的。。。写代码也很简单。。。

㈨ 什么是数据库管理系统(DBMS)它有什么功能

数据库管理系统(英语:database management system,缩写:DBMS)即数据库管理软件,是一种针对对象数据库,为管理数据库而设计的大型计算机软件管理系统。

具有代表性的数据管理系统有:Oracle、Microsoft SQL Server、Access、MySQL及PostgreSQL等。通常数据库管理师会使用数据库管理系统来创建数据库系统。

现代DBMS使用不同的数据库模型追踪实体、属性和关系。在个人计算机、大型计算机和主机上应用最广泛的数据库管理系统是关系型DBMS(relational DBMS)。在关系型数据模型中,用二维表格表示数据库中的数据。这些表格称为关系。

(9)数据库管理器设计扩展阅读:

数据库管理系统是一套计算机程序,以控制数据库的分类及数据的访问。一套数据库包括模型语言、最优化的数据结构、查询语言撰写报表程序以及交易机制:

1、模型语言。

用以因应该数据库管理系统的数据模型,来定义各数据库的schema。最常用的三大类分别为层次结构式、网络式及关系式的模型。一个数据库管理系统可提供一种、两种,甚至全部三种方式,也可能提供其他形式。

最适合的模型要视乎个别应用程序、交易进行比率及查询经常使用的程度等。现时最常使用的则是SQL所支持,相似于关系式模型但又有些微违背的方式。很多数据库管理系统也支持ODBC,以支持程序编写员以标准方法访问该数据库管理系统。

2、最优化的数据结构(字段、纪录及文件)。

以支持在永久存储设备(permanent data storage device,即比主存(volatile main memory)慢得多)上存储极大量的数据。

3、查询语言及撰写报表的程序。

让用户可以交互方式查问数据库,进行数据分析及依用户的权限来更新数据。

它必须控制数据的保安,以防止不获授权的用户观看甚至更新数据库的数据。用户可以提供有效的密码来访问整个数据库或其中一部分。譬如员工数据库包括所有员工数据的数据,但某组用户可能只被批准查看薪金相关的数据,其他的又可能只可以访问工作履历及病历数据。

如果该数据库管理系统向用户提供可输入更新数据库甚至进行查询的交互途径,则此能力可以用来管理个人的数据库。可是,它不一定提供审核或其他在多用户环境中所需要的各种控制机制。这些机制可能要整套应用程序都为数据输入或更新而修改才能提供。

4、交易机制(最好可以保证ACID特性)。

在多用户同时访问之下仍维持数据完整性(data integrity),与及提供故障排除(fault tolerance)。

数据库管理系统依靠不容许超过一名用户在同一时间更新同一项纪录来维持数据库的完整性。数据库管理系统可以用唯一索引限制来避免重复纪录。譬如不能有两位顾客有同一个顾客编号(主键)在数据库中存在。

㈩ 我想自己开发一个数据库管理工具,有什么建议

用visual foxpro 6.0吧 完全是面向对象的设计思路,你自己可以建一些表,查询,视图等,然后在弄一个表单链接下就行了,网上也有VF6.0的教程,2-5天看完,设计简单的数据库系统够了