999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

計算機數據庫技術在信息管理中的有效應用

2021-01-08 01:58:25賀峰楊青豐
中小企業管理與科技·下旬刊 2021年12期
關鍵詞:計算機

賀峰 楊青豐

【摘? 要】論文介紹了第二代關系型數據庫和第三代非關系型數據庫的分類、特性和關聯概念,概述了關系型數據庫的性能優化方向和主要優化方法,闡述了關系型數據庫在企業級軟件中的應用架構,介紹了關系型數據庫在云計算和大數據等新興IT技術中的應用方式,最后簡要介紹了NoSQL數據庫的分類和應用。

【Abstract】This paper introduces the classification, characteristics and correlative concepts of the second generation relational database and the third generation non-relational database, summarizes the performance optimization direction and main optimization methods of relational database, expounds the application architecture of relational database in enterprise software, introduces the application mode of relational database in cloud computing and big data and other emerging IT technologies, and finally briefly introduces the classification and application of NoSQL database.

【關鍵詞】計算機;數據庫技術;信息管理

【Keywords】computer; database technology; information management

【中圖分類號】TP311.1;TP315? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文獻標志碼】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?   ? ? ? ? ? ? ? ?【文章編號】1673-1069(2021)12-0173-03

1 引言

數據庫是按照數據結構來組織、存儲和管理數據的載體,在信息時代特指“一個長期存儲在計算機內的、有組織的、可共享的、統一管理的大量數據的集合”。管理數據庫的計算機軟件稱為數據庫軟件,一般簡稱為“數據庫”。

2 數據庫分類及概述

2.1 數據庫的分類

IBM在1969年推出了第一代層次模型數據庫管理系統IMS,20世紀70年代DBTG又推出了網狀模型數據庫,其優點是查詢效率高,但表示數據具有局限性,不太適合多對多的節點關系。

20世紀70年代開始,IBM、微軟和ORACLE等公司逐步推出了DB2、SQL Server和Oracle等關系型數據庫軟件,因為關系型數據庫嚴格基于數學基礎,優點是數據結構簡單清晰、易學易用,但查詢效率不如層次或網狀型數據庫,因此,關系型數據庫的查詢性能調優是數據庫技術研究和應用的一個重點領域。日常辦公常用的Excel軟件也可視作一種關系型數據庫軟件。

從20世紀80年代末期開始,隨著互聯網特別是近年來移動互聯網的發展,網絡數據已不局限于傳統二維表示的結構化數據,圖片、語音、視頻等沒有預定義數據模型的非結構化數據成為網絡數據的主流,第三代非關系型數據庫逐漸興起,采用“鍵-值”對、列簇或者圖結構等方式來存儲和查找數據,具有支持分布式、可擴展性強和開放性好等優點,很好地支持了人工智能、機器學習和大數據技術的各類應用。

相比于關系型數據庫,非關系型數據庫在操作原子性、一致性、隔離性和持久性的支持能力不足,很多場合還需要依賴關系型數據庫。因此,雖然非關系型數據庫已成為今天大數據、機器學習等行業應用的熱點,但傳統的關系型數據庫仍具有不可撼動的行業地位。

2.2 關系型數據庫的ACID特性

在關系型數據庫操作中,一個任務執行單元稱為事務,例如,一次數據插入或者一次數據更新,為保證數據庫事務操作的正確可靠,關系型數據庫必須具備4個特性:原子性、一致性、隔離性和持久性。

所謂原子性,是借用早期人類認為的原子所具有的不可分割性,在數據庫中指一個事務中的所有操作,要么都成功,要么就全部不執行。如果部分成功部分失敗,已經成功完成的操作要進行回滾操作,就好像沒有執行過一樣。

所謂一致性,是指事務操作前后,數據庫的完整性不受破壞。一致性往往與數據庫的隔離性聯系起來,即多個并行處理的事務同時操作數據后,數據的完整性不受破壞,在多個并行事務中呈現的數據值是一致的。隔離性的主要功能就是防止多個事務并發執行而導致的數據不一致問題。

所謂持久性是指事務一旦被數據庫執行,其對數據的修改就是永久性的,不因數據庫或計算機故障而丟失。

2.3 結構化查詢語言SQL

結構化查詢語言(Structured Query Language)簡稱SQL,是專用于管理關系型數據庫的編程語言,用于對數據庫數據的插入、修改、刪除和查找等功能,用戶在操縱數據庫時,僅需要編寫SQL語句來指明具體操作,剩下的工作都可以由數據庫自動完成。SQL語句大大提高了數據庫管理的效率和易用性,目前所有的關系型數據庫基本上都支持標準的SQL語句,僅有極少數功能需要使用非標準的SQL語句。

SQL語言從功能上可以劃分為數據定義、數據操縱和數據控制。數據定義是指定義數據庫的三級模式結構:外模式、概念模式和內模式。其規定了數據的物理結構、邏輯結構和數據視圖,如數據庫和用戶表的建立等。數據操縱指針對用戶數據表的增刪改查等具體操作。數據控制則規定了數據的訪問和使用權限。

2.4 數據庫安全

數據是現代社會活動的核心,也是黑客重點攻擊的方向,勒索病毒攻擊加密數據庫數據,往往給企事業單位帶來重大損失,為數據庫建立可靠的防護措施是必不可少的步驟。數據庫防護的核心是數據安全,因此在數據庫的訪問控制和權限設置、用戶操作行為和審計、數據維護等方面都應建立完備的制度和手段,如關閉不必要的網絡端口、最小化用戶操作權限、敏感數據加密存儲等。

3 關系型數據庫性能優化

3.1 表結構優化

數據庫在建立時,就應該進行良好的設計,遵守數據庫設計范式。關系型數據庫有5種設計范式:第1~5范式,所有設計范式都是為了提高數據庫的使用性能和提高其可擴展性。

第1范式要求數據表的列具有原子性,即單表每列的數據只對應程序的一個屬性,不能是對應多個屬性的集合;如果一定要對應集合,應該使用從數據表,并且從數據表的每一列也要保持原子性。第2范式要求必須在滿足第1范式的基礎上,表格中的每一條數據都可以被區分,不能有兩條數據完全一致。實際上,要求數據庫的每個數據表都應設置主鍵(Primary Key),主鍵的值在單表中具有唯一性。主鍵可以是1個,若1個主鍵不滿足唯一性,則可以設置多主鍵,多主鍵的組合必須具有唯一性,但設置多主鍵會引起數據庫增加開銷,導致讀寫性能下降。第3范式要求必須滿足第2范式,它要求在單表中的屬性具有獨立性,互相之間不具有依賴關系,如果具有依賴關系,則應該將所有具有依賴關系的數據列單獨劃分為一個數據表,并通過設置外鍵來表示兩張數據表之間的關聯性。在查詢數據時,可以通過左連接查詢或者右連接查詢來形成用戶需要獲得的完整數據。對于一些關聯關系特別復雜的情況,滿足第3范式可能導致性能下降,此時可以建立視圖,預置復雜的連接查詢,提高查詢效率。第4范式在第3范式的基礎上,要求消除數據表的多值依賴,即數據表中不能存在若干行多列數據完全一致的情況。第5范式在第4范式的基礎上,進一步消除傳遞依賴,即多個數據列之間不能形成依賴關系鏈。但實際上,數據庫設計滿足第3范式即可,過度追求完美的第5范式,將導致數據表設計過于復雜、零散,不利于實際使用,在數據量過大時,反而會引起數據庫查詢性能下降。

3.2 并發性能優化

①單機并發能力優化主要目標是提高單數據庫的并發能力。實際上,大型數據庫一般都有單獨的服務器,首先,確保所有計算機資源都用于數據庫服務;其次,提高存儲數據庫文件的計算機硬盤I/O能力,如將機械硬盤改為固態硬盤;再次,提高網絡帶寬和QoS服務質量,降低網絡傳輸時延和時延抖動;最后,優化數據庫的連接池,合理設置連接池的大小、等待時間、保持時間和檢測參數等。②部署優化主要指應用分布式部署來提高數據庫的并發性能。一是可以對數據表進行橫向分裂,將數據表數據按特定規則排序后,橫向拆分到不同的數據庫服務器上,即通過數據分庫來提高并發服務能力。二是針對并發讀寫沖突的問題,通過分布式服務器實現讀寫分離:先在后端構建一個主從同步數據庫集群,將主數據庫數據自動同步到從數據庫,在前端服務器部署讀寫控制器。當要寫數據時,由控制器向主數據庫發起寫請求,主數據庫完成事務操作后,再將相同的操作同步到從服務器,實現主從數據同步;當要讀數據時,前端控制器直接到從數據庫讀取數據。如果進一步對主數據庫和從數據庫進行分庫,還能繼續提高數據庫集群的并發服務能力。讀寫分離的優點不僅在于提高了系統的讀寫并發能力,而且實現了數據的冗余備份,提高了數據的可靠性,如圖1所示。

3.3 SQL語句優化

數據庫的性能主要體現為操作響應時間,在使用SQL語句查詢時,也需要根據查詢目標進行優化:①避免“select * ”這樣的全局查詢和使用“like”關鍵字的模糊查詢,這種查詢方式需要進行全表掃描,對于列數較多且數據量巨大的表來說將消耗大量系統資源,造成系統響應時間將顯著延長。②縮小查詢范圍,通過where字句、between等范圍關鍵字和分頁查詢等方式,縮小查詢范圍。使用子查詢時,應將查詢范圍最小的查詢語句寫在最內層,這樣可以快速縮小查詢范圍,降低后續子查詢的難度。③連接查詢時,使用數據量較小的表去連接查詢數據量大的表,同時可以在連接的字段上建立索引,可進一步提高查詢效率。

SQL語句是影響數據庫性能的重要因素,數據庫大部分數據訪問都屬于查詢操作,不合理的查詢操作甚至有可能阻塞數據庫的其他查詢服務,因此,SQL語句執行查詢操作時必須要優化查詢效能。

4 關系型數據庫的應用

4.1 在傳統企業級軟件中的應用

數據庫是企業級軟件必不可少的核心組成部分,企業級軟件的核心架構是依據數據庫結構來設計和確定的,后臺業務核心邏輯就是對數據的運用、分析和持久化。以ERP、CRP等軟件為代表的企業級軟件,以結構化數據管理為主,基本都采用關系型數據庫作為持久化存儲軟件。業界主流的企業級關系型數據庫有MySQL、MariaDB、Postgre SQL、SQL Server和Oracle等。近年來,隨著自主軟件的發展和信息安全要求,國產數據庫管理軟件也在興起,如南大通用、武漢達夢、華為高斯等。

由于軟件功能具有不確定性,隨著企業業務發展和社會需求變遷,軟件功能也在不斷發生變化。但是數據庫的表結構一旦確定并在實際運行中寫入大量數據,是很難隨著軟件功能隨意變化的,一般僅在必要的情況下才會更改已形成的表結構,此時需要有專門的表結構升級腳本,操作煩瑣且風險巨大,一旦因斷電或其他意外原因造成升級失敗又不能回滾,將給軟件客戶造成極大損失,因此,在企業級軟件體系中,往往設置持久化中間層來兼容軟件功能變化對數據庫的影響,如圖2所示。

持久層通過實體類與數據庫的數據表建立映射關系,例如,在Java中可以通過XML或者注解的方式,在Java實體類與數據庫表之間建立一對一映射關系,由持久化層來維護與數據庫的連接和訪問操作請求,并向上層業務邏輯代碼提供API(應用可編程接口)。對數據庫表的增刪改查操作,簡化為通過持久化層提供的API來操作實體類,由持久層將相應的操作轉換為SQL語句去操作數據庫,而不是程序代碼直接通過SQL語句去訪問數據庫。在這種應用模式下,數據庫不直接與軟件業務邏輯代碼發生關系,持久化層向業務邏輯代碼屏蔽了不同廠商數據庫的不一致性,提高了程序的可移植性,向數據庫屏蔽了業務邏輯字段頻繁變化對數據庫的沖擊,有利于提高軟件和數據庫的穩定性。

4.2 在云計算和大數據體系中的應用

對于開源云計算管理平臺OpenStack來說,MariaDB或者其他關系型數據庫是部署云計算平臺必不可少的基礎環境,Nova、Glance和Keystone等組件都依賴數據庫存放系統管理必要的結構化數據,一旦數據庫遭到攻擊,極有可能導致整個云計算系統崩潰。

基于開源大數據處理平臺Hadoop的數據倉庫工具Hive,則可以視作大數據版本的關系型數據庫。Hive將結構化數據文件映射為數據庫表,通過Hive SQL可以將SQL查詢語句轉換為MapReduce程序來執行大數據查找和分析,它借鑒了關系型數據庫的數據結構并結合Hadoop的MapReduce工具,實現了對海量關系型數據的離線查詢。

5 NoSQL數據庫的分類和應用

互聯網和移動互聯網的發展催生了無數應用模式,微博、網購、外賣、抖音和移動社交網絡等應用產生了各種不同類型的非結構化數據以及對應的數據應用,非關系型數據庫發展了多個分支來適應這種需求。①“鍵值對”型數據庫,這類數據庫基于哈希算法構建哈希表,通過將一個特定的“鍵”和“數據”進行綁定來實現數據管理,優點是簡單易部署,單數據查詢效率高,但是批量數據查詢效率低下,常用于大型網站的分布式緩存,如Redis等。②列存儲數據庫,主要用于海量數據存儲。傳統關系型數據庫是行存儲數據庫,特點是以“行”為單位來管理和使用數據。大數據處理往往有選擇的處理數據的部分維度,如微博詞頻統計、評論分析等,此時列存儲更有利于數據快速讀取。列存儲更有利于數據讀取,不利于數據插入、更新和刪除等操作,同時列數據的重復性更有利于數據壓縮。因此,列存儲主要用于大數據領域,如HBase等。③文檔數據庫與“鍵值對”數據庫類似,其以特定的格式來存儲文檔信息,如Json、XML等,其更高級的功能是允許鍵值嵌套,常用于網頁數據、表單數據處理。④圖型數據庫適用于多對多類型的數據存儲,如微博、微信等社交網絡數據。圖形數據庫一般由結點集和結點關系集兩部分組成,其查找算法需要特殊定制,但在近年興起的知識圖譜和較早應用的專家推薦系統中應用較為廣泛。

6 結語

隨著互聯網技術的深入發展,網絡資源形式愈加豐富,非關系型數據庫已經成為新一代網絡應用的主流,但仍然不能放棄傳統的關系型數據庫。當前網絡行業依然存在海量的結構化數據存儲需求,并且隨著非結構化數據的增長,與之相對應的結構化數據也將保持同步增長,關系型數據庫在未來仍將保持旺盛的生命力,與非關系型數據庫同步發展。

【參考文獻】

【1】王珊,薩師煊.數據庫系統概論(第5版)[M].北京:高等教育出版社,2014.

【2】姜明俊.分布式關系數據庫事務管理器的設計與實現[D].南京:東南大學,2019.

【3】李小蓮.對數據庫范式的分析與應用[J].電腦知識與技術,2018,14(8):7-8,16.

【4】楊鍵.分布式關系型數據庫查詢方法優化與實現[D].成都:電子科技大學,2021.

猜你喜歡
計算機
計算機操作系統
穿裙子的“計算機”
趣味(數學)(2020年9期)2020-06-09 05:35:08
基于LabVIEW的計算機聯鎖仿真系統
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
計算機多媒體技術應用初探
科技傳播(2019年22期)2020-01-14 03:06:30
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
計算機應用軟件開發技術的幾點探討
電子制作(2017年14期)2017-12-18 07:08:10
計算機網絡安全
iLOCK型計算機聯鎖開發中的需求開發管理
計算機聯鎖系統配置軟件設計與實現
主站蜘蛛池模板: 国产免费精彩视频| 国产第一福利影院| 国产精品私拍99pans大尺度| 久久一级电影| 影音先锋亚洲无码| 三级欧美在线| 91精品国产一区自在线拍| 人人澡人人爽欧美一区| 欧美在线综合视频| 久草视频一区| 青青草欧美| 亚洲国产精品不卡在线| 国产精品久久国产精麻豆99网站| 69国产精品视频免费| 国产亚洲欧美日本一二三本道| 色婷婷狠狠干| 免费高清毛片| 成人午夜免费观看| 国产中文一区a级毛片视频 | 人妖无码第一页| 亚洲男人天堂2018| 亚洲av无码专区久久蜜芽| 欧美精品H在线播放| 综合五月天网| 老司机久久99久久精品播放| 91美女视频在线观看| 亚洲乱伦视频| 国产精品免费电影| 亚洲九九视频| 国产美女在线免费观看| 国产免费福利网站| 97人人模人人爽人人喊小说| 一级一毛片a级毛片| 国产成人精品一区二区三在线观看| 超碰精品无码一区二区| 狠狠色丁香婷婷| 国产免费精彩视频| 精品成人免费自拍视频| 国产欧美日韩精品综合在线| 国产乱子精品一区二区在线观看| 久久伊伊香蕉综合精品| 亚洲天堂.com| 精品国产黑色丝袜高跟鞋 | 国产超碰在线观看| 91欧美在线| 欧美精品一区在线看| 99久久精品国产综合婷婷| 欲色天天综合网| 国产免费怡红院视频| 免费不卡在线观看av| 国产日韩精品欧美一区喷| 日韩无码真实干出血视频| 99re视频在线| 亚洲五月激情网| 亚洲无码电影| 91精品国产综合久久香蕉922| 97视频在线精品国自产拍| 99er精品视频| 久久国产精品波多野结衣| 一本久道热中字伊人| 国产99欧美精品久久精品久久| 日韩一区二区三免费高清| 亚洲婷婷丁香| 久久99热这里只有精品免费看 | 亚洲欧洲日产无码AV| 视频二区欧美| 人妻出轨无码中文一区二区| 中文字幕久久亚洲一区| www.99在线观看| 亚洲午夜福利精品无码| 国产精品毛片一区视频播| 日韩在线视频网站| 国产浮力第一页永久地址| 老熟妇喷水一区二区三区| 婷婷伊人五月| 无码AV高清毛片中国一级毛片 | 国产成人无码AV在线播放动漫| 四虎在线高清无码| 亚洲乱码在线视频| 午夜毛片免费观看视频 | 黄色网页在线观看| 亚洲av综合网|