當前位置:首頁 » 數據倉庫 » 資料庫管理器設計
擴展閱讀
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天看完,設計簡單的資料庫系統夠了