亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        非關(guān)系型數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)庫技術(shù)綜述

        2020-11-25 04:38:10陳娟李煒
        電子技術(shù)與軟件工程 2020年18期
        關(guān)鍵詞:數(shù)據(jù)庫

        陳娟 李煒

        (1.咸陽師范學(xué)院 陜西省咸陽市 712000 2.西藏民族大學(xué) 陜西省咸陽市 712082)

        1 序言

        在當(dāng)代生活和工作中,隨時會產(chǎn)生大量的數(shù)據(jù)信息需要管理,數(shù)據(jù)庫是最方便、有效的管理工具,目前,數(shù)據(jù)庫分為關(guān)系型與非關(guān)系型兩種,關(guān)系型數(shù)據(jù)庫的歷史由來已久且應(yīng)用范圍更為廣泛,它是采用關(guān)系模型來組織數(shù)據(jù)的數(shù)據(jù)庫。非關(guān)系型數(shù)據(jù)庫是非關(guān)系型、分布式、不提供ACID(數(shù)據(jù)庫事務(wù)處理的四個基本要素)的數(shù)據(jù)庫設(shè)計模式。

        使用數(shù)據(jù)庫管理系統(tǒng),根據(jù)不同的工作項目設(shè)計并建立相應(yīng)的分散獨立的應(yīng)用數(shù)據(jù)庫,隨心所欲。當(dāng)項目需要擴展時,數(shù)據(jù)庫也會隨之變化,但如果事先沒有進行規(guī)劃,大量數(shù)據(jù)無法正常存儲和操作使用,數(shù)據(jù)庫不易擴展和維護,項目將無法正常進行。關(guān)系型數(shù)據(jù)庫是一種建立在數(shù)據(jù)關(guān)聯(lián)性基礎(chǔ)上的數(shù)據(jù)庫,但是數(shù)據(jù)量巨大時,查找數(shù)據(jù)會產(chǎn)生額外的操作,會花費更多的時間,無法提高效率,所以使用關(guān)系型數(shù)據(jù)庫就會變得不再那么高效。

        在互聯(lián)網(wǎng)不斷發(fā)展壯大的年代,非關(guān)系型數(shù)據(jù)庫成為了一個極其熱門的新的領(lǐng)域并且發(fā)展的十分迅速。特別是在一些超大規(guī)模和高并發(fā)的社交型的網(wǎng)站中,關(guān)系型數(shù)據(jù)庫暴露出了很多難以克服的問題,比如對數(shù)據(jù)庫高并發(fā)讀寫的需求、高效率存儲訪問的需求、高擴展性及可用性的需求。除此之外,關(guān)系型數(shù)據(jù)庫的事務(wù)一致性、讀寫實時性、多表關(guān)聯(lián)查詢這些功能由于在此類型的網(wǎng)站的要求不高從而導(dǎo)致其無法發(fā)揮它應(yīng)有的功能,為了解決這類問題,非關(guān)系數(shù)據(jù)庫應(yīng)運而生,它的種類較多且大部分都開源,因此非關(guān)系型數(shù)據(jù)庫越來越受歡迎。但由于非關(guān)系型數(shù)據(jù)庫出現(xiàn)時間并不長且本身就具有多樣性,除了它們的一些共性之外,大部分都是針對不同的問題而采用不同的類型的非關(guān)系型數(shù)據(jù)庫。

        2 數(shù)據(jù)庫概述

        隨著信息技術(shù)的發(fā)展,最早人工管理數(shù)據(jù)的方式已經(jīng)不能適應(yīng)大量數(shù)據(jù)的管理需求,此時數(shù)據(jù)庫技術(shù)逐步發(fā)展起來。數(shù)據(jù)庫(Database)是按照某種數(shù)據(jù)結(jié)構(gòu)來組織大量數(shù)據(jù)信息,并對它們進行存儲和管理的倉庫,簡單來說,我們可以把數(shù)據(jù)庫看成是一個電子化的“文件柜”用來存儲大量的電子文件,用戶可以從“文件柜”中找到相應(yīng)文件并對其中的數(shù)據(jù)進行增、刪、改、查等操作。在各單位日常管理中常常需要這樣的“文件柜”,例如,對某校學(xué)生的管理,可以把學(xué)生的學(xué)號、姓名、年齡、性別、籍貫、系別、聯(lián)系方式等信息存放在“文件柜”中,可以看成是一個數(shù)據(jù)庫,在這個數(shù)據(jù)庫中我們就可以根據(jù)需要隨時查詢學(xué)生的基本信息。因此,通過計算機對數(shù)據(jù)進行管理能夠大大提高辦公的效率。數(shù)據(jù)庫技術(shù)具有以下特點:

        (1)數(shù)據(jù)共享。多個用戶可以同時存取數(shù)據(jù)庫中的數(shù)據(jù),也可以通過各種接口使用數(shù)據(jù)庫中的數(shù)據(jù),避免了用戶存儲大量重復(fù)數(shù)據(jù),減少了數(shù)據(jù)冗余,避免造成數(shù)據(jù)之間的不相容性和不一致性。

        (2)數(shù)據(jù)的獨立性。數(shù)據(jù)獨立性包括數(shù)據(jù)的物理獨立性和邏輯獨立性。物理獨立性是指數(shù)據(jù)物理結(jié)構(gòu)的變化不影響數(shù)據(jù)的邏輯結(jié)構(gòu);邏輯獨立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫中數(shù)據(jù)相互獨立,應(yīng)用程序修改不會影響數(shù)據(jù)的使用。

        (3)數(shù)據(jù)實現(xiàn)集中控制。區(qū)別于傳統(tǒng)文件管理方式中的數(shù)據(jù)分散狀態(tài),數(shù)據(jù)庫技術(shù)可對數(shù)據(jù)進行集中控制和管理,并使用數(shù)據(jù)模型來表示各數(shù)據(jù)之間的關(guān)系。

        (4)數(shù)據(jù)一致性和可維護性。通過數(shù)據(jù)的安全性控制、完整性控制和并發(fā)控制可以防止數(shù)據(jù)丟失、錯誤更新、保證數(shù)據(jù)的正確性和有效性,使得在同一時間周期內(nèi),允許對數(shù)據(jù)實現(xiàn)多路存取,又能防止用戶之間的不正常交互從而確保了數(shù)據(jù)的一致性和可維護性。

        (5)故障恢復(fù)。數(shù)據(jù)庫系統(tǒng)通過相應(yīng)機制可及時發(fā)現(xiàn)系統(tǒng)物理上或邏輯上的故障,從而盡快恢復(fù)數(shù)據(jù)庫系統(tǒng)運行,防止數(shù)據(jù)被破壞。

        目前數(shù)據(jù)庫技術(shù)分為關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫。

        2.1 關(guān)系型數(shù)據(jù)庫

        關(guān)系型數(shù)據(jù)庫是依據(jù)關(guān)系數(shù)據(jù)模型(二維表)來創(chuàng)建的數(shù)據(jù)庫,關(guān)系模型使用二維表格來存放所有的數(shù)據(jù),二維表也稱為關(guān)系,它是一系列二維數(shù)組的集合,用來代表與存儲數(shù)據(jù)對象之間的關(guān)系,由行和列組成。二維表之間具有“一對一、一對多、多對多”等關(guān)聯(lián),所以,一個關(guān)系型數(shù)據(jù)庫就是由二維表及表之間的關(guān)聯(lián)組成的一個數(shù)據(jù)結(jié)構(gòu)。

        SQL(Structured Query Language)是結(jié)構(gòu)化查詢語言的英文簡稱,它是建立數(shù)據(jù)庫、修改、查詢數(shù)據(jù)等的程序設(shè)計語言,同時也是數(shù)據(jù)庫腳本文件的擴展名。SQL 集數(shù)據(jù)查詢語言、數(shù)據(jù)操縱語言、數(shù)據(jù)定義語言和數(shù)據(jù)控制語言于一體,風(fēng)格統(tǒng)一,可以完成數(shù)據(jù)庫中的全部操作,包括定義關(guān)系模型、錄入數(shù)據(jù)、建立數(shù)據(jù)庫、查詢、修改、刪除數(shù)據(jù)庫及數(shù)據(jù)等,它為數(shù)據(jù)庫系統(tǒng)的開發(fā)提供了良好的基礎(chǔ)。在使用SQL 語言進行數(shù)據(jù)操作時,用戶只需要告訴計算機“做什么”,而不需要說明“怎么做”,其操作過程會由系統(tǒng)自動控制。這種模式減輕了用戶的負擔(dān),有利于提高數(shù)據(jù)獨立性。關(guān)系型數(shù)據(jù)庫中普遍使用了標(biāo)準(zhǔn)數(shù)據(jù)查詢語言SQL,可以對關(guān)系數(shù)據(jù)庫中數(shù)據(jù)進行查詢、操縱、定義和控制,是一個通用的且簡單易懂的數(shù)據(jù)庫管理語言。

        關(guān)系型數(shù)據(jù)庫經(jīng)過數(shù)十年的發(fā)展,其理論基礎(chǔ)和相關(guān)技術(shù)、產(chǎn)品都非常豐富完善,是數(shù)據(jù)庫領(lǐng)域中的主流產(chǎn)品,且有著原子性、一致性、持久性、隔離性這四種特性(數(shù)據(jù)庫事務(wù)的ACID 特性),此外關(guān)系型數(shù)據(jù)庫還需要提供事務(wù)的恢復(fù)、回滾、并發(fā)控制、死鎖解決等問題。關(guān)系型數(shù)據(jù)庫便于使用且易于理解與維護,還具有很強的安全性、事務(wù)保證性,所以被廣泛使用。但是隨著各類互聯(lián)網(wǎng)的興起,在生活中各類數(shù)據(jù)信息都會被我們在線使用或分享,關(guān)系型數(shù)據(jù)庫因為它本身的結(jié)構(gòu)特點而難以實現(xiàn)高效的易擴展的架構(gòu),這時非關(guān)系型數(shù)據(jù)庫相對于關(guān)系型就會有更大的用處。

        2.2 非關(guān)系型數(shù)據(jù)庫

        非關(guān)系型數(shù)據(jù)庫,也可稱之為NoSQL(Not Only SQL),意思是不僅僅是結(jié)構(gòu)化查詢語言SQL( Structured QueryLanguage)。NoSQL 不同于關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫管理方式,它所采用的數(shù)據(jù)模型并非關(guān)系型數(shù)據(jù)庫的關(guān)系模型,而是采用鍵值、列式、文檔等的非關(guān)系模型。它不支持關(guān)系型數(shù)據(jù)庫事務(wù)的ACID 特性。它們是建立在非傳統(tǒng)關(guān)系數(shù)據(jù)模型之上,它們的存在是為了滿足更多的互聯(lián)網(wǎng)業(yè)務(wù),并且一般它們均為開源免費的,因此使用起來更加的簡單方便。它主要的優(yōu)勢有兩個:

        (1)擁有橫、縱雙向的擴展能力:關(guān)系型數(shù)據(jù)庫由于其自身結(jié)構(gòu)特性問題必須布置在多個服務(wù)器上,但NoSQL 則可以布置在一個服務(wù)器上。

        (2)結(jié)構(gòu)自由:在非關(guān)系型數(shù)據(jù)庫中一般保存的是鍵值對。這兩點優(yōu)勢可以讓NoSQL 更好的融入云計算環(huán)境,構(gòu)建更好的云服務(wù)。

        3 關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫的對比

        關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫在使用場景上差別比較大,所以必須要在適合他們的領(lǐng)域應(yīng)用,才能發(fā)揮出這兩類數(shù)據(jù)庫的優(yōu)勢。

        關(guān)系型數(shù)據(jù)庫具有以下優(yōu)點:

        (1)因為關(guān)系型數(shù)據(jù)庫采用的是二維表,它更加的符合邏輯世界,所以相對于表的結(jié)構(gòu)更容易理解;

        (2)它們是通用的SQL 語言,可以在一個表以及多個表之間做非常復(fù)雜的數(shù)據(jù)查詢,所以學(xué)習(xí)操作更加輕松方便;

        (3)它的完整性及事務(wù)一致性讓它更容易維護。

        關(guān)系型數(shù)據(jù)庫的缺點:

        (1)因為要維護它的一致性,所以它的讀寫性會較差;

        (2)結(jié)構(gòu)固定;

        (3)海量數(shù)據(jù)的讀寫效率不高。

        非關(guān)系型數(shù)據(jù)庫具有以下優(yōu)點:

        (1)讀寫性很高;

        (2)基于key-value 鍵值對,可以想象成表中的主鍵和值的對應(yīng)關(guān)系,而且不需要經(jīng)過SQL 層的解析,所以性能較好,易于擴展;

        (3)格式靈活,數(shù)據(jù)類型多種多樣,可以是鍵對值,甚至是文檔、圖片,應(yīng)用場景廣泛,但是關(guān)系型數(shù)據(jù)庫只支持原有的數(shù)據(jù)類型。

        非關(guān)系型數(shù)據(jù)庫的缺點:

        (1)不提供SQL 支持,學(xué)習(xí)成本高;

        (2)沒有事務(wù)處理。

        目前,關(guān)系型數(shù)據(jù)庫應(yīng)用廣泛且擁有許多成功案列,但隨著社會的發(fā)展,人們對于數(shù)據(jù)的快速處理、響應(yīng)及大數(shù)據(jù)分析有著越來越高的要求,并且對數(shù)據(jù)的高擴展性的需求也不斷提高。關(guān)系型數(shù)據(jù)庫已不能滿足這些要求,這時候就需要非關(guān)系型數(shù)據(jù)庫。由于數(shù)據(jù)結(jié)構(gòu)設(shè)置的方式不同,關(guān)系型數(shù)據(jù)庫呈現(xiàn)的是一種數(shù)據(jù)規(guī)范化之后的結(jié)果,而非關(guān)系型數(shù)據(jù)庫展現(xiàn)的則是一種數(shù)據(jù)結(jié)構(gòu)化存儲方法的集合,對應(yīng)不同的使用場景,可以選擇不同的數(shù)據(jù)庫。

        4 非關(guān)系型數(shù)據(jù)庫分類及應(yīng)用場景

        非關(guān)系型數(shù)據(jù)庫嚴(yán)格上不是一種數(shù)據(jù)庫,它是一種數(shù)據(jù)結(jié)構(gòu)化存儲方法的集合,主要有以下幾類:

        4.1 基于列式的存儲(column-family stores)

        基于列式的存儲以流的方式在列中存儲所有的數(shù)據(jù)。對于任何記錄,索引都可以快速地獲取列上的數(shù)據(jù);列式存儲支持行檢索,但這需要從每個列獲取匹配的列值,并重新組成行。這種方式使系統(tǒng)具有更高的可擴展性,使得操作更加簡單方便?;诹惺降拇鎯Ψ绞结槍A康臄?shù)據(jù)有很好的適應(yīng)性,這個特點與云計算所需的相關(guān)需求是相符合的。目前使用基于列式的數(shù)據(jù)庫有Apache HBase,Hypertable 以及Google BigTable。

        4.2 鍵值對存儲(key-value stores)

        鍵值對存儲方式是非關(guān)系數(shù)據(jù)庫中最簡單的一種存儲方式,它是一個鍵-值的集合,好像數(shù)據(jù)結(jié)構(gòu)中的Hash 表一樣,每個鍵分別對應(yīng)一個值,鍵值中所存儲的數(shù)據(jù)的類型是不受限制的,可以是一個字符串,也可以是一個數(shù)字,甚至也可以是一系列的鍵值對封裝成的對象等。通過對主鍵的操作能夠大大提高查詢和修改的速度,大量數(shù)據(jù)存放也較為方便。在現(xiàn)實場景中,對大量數(shù)據(jù)的高訪問負載或日志系統(tǒng)中都應(yīng)用到了鍵值對存儲方式。使用鍵值對存儲數(shù)據(jù)的數(shù)據(jù)庫有MemcacheDB、BerkeleyDB、Redis 等。

        4.3 文檔存儲(document stores)

        文檔存儲方式是基于鍵值對存儲方式的,也是每個Key 分別對應(yīng)一個Value,但是這類方式更加復(fù)雜。設(shè)計文檔存儲方式的最初的目的就是用于存儲日常文檔的,它將一個特定文檔的結(jié)構(gòu)使用一種特定的模式來存儲,便于進行復(fù)雜的查詢和計算。對于網(wǎng)站中大量數(shù)據(jù)、緩存以及JSON(JavaScriptObjectNotations) 數(shù)據(jù)的存儲使用較多。典型代表為MongoDB、CouchDB 等,這類數(shù)據(jù)庫可在海量的數(shù)據(jù)中快速查詢數(shù)據(jù)。

        4.4 圖數(shù)據(jù)庫(graph databases)

        圖數(shù)據(jù)庫所要解決的問題與圖和圖論相關(guān)。圖數(shù)據(jù)庫,例如Neo4j,其目的是為用戶提供一種更好的方法用于管理結(jié)構(gòu)復(fù)雜、呈網(wǎng)狀分布的數(shù)據(jù)。當(dāng)然,基于圖模型實現(xiàn)的解決方案并不僅有Neo4j 圖形數(shù)據(jù)庫,有的產(chǎn)品成熟度不同,有的開源或閉源,例如AllegroGraph、FlockDB、InfiniteGraph 和OrientDB 等。在社交網(wǎng)絡(luò)、推薦系統(tǒng)等環(huán)境中會使用到圖數(shù)據(jù)庫。

        5 結(jié)論

        隨著網(wǎng)絡(luò)不斷發(fā)展,需要處理的數(shù)據(jù)規(guī)模越來越大、越來越復(fù)雜,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已無法應(yīng)對更加復(fù)雜的模型,非關(guān)系數(shù)據(jù)庫憑借其易擴展、高性能和靈活的數(shù)據(jù)模型得到了非常迅速的發(fā)展。非關(guān)系數(shù)據(jù)庫的優(yōu)勢相當(dāng)明顯,但同時也存在一些問題,非關(guān)系數(shù)據(jù)庫不支持結(jié)構(gòu)化查詢語言SQL,這無疑會增大學(xué)習(xí)和使用成本;非關(guān)系數(shù)據(jù)庫無事務(wù)處理,這就決定了數(shù)據(jù)的一致性、完整性很難保存。由于所使用的場景不同,關(guān)系型數(shù)據(jù)庫與非關(guān)系型數(shù)據(jù)庫并非對立的關(guān)系,而應(yīng)優(yōu)勢互補,共同作用。通常情況可使用關(guān)系型數(shù)據(jù)庫,在某些關(guān)系數(shù)據(jù)庫無法處理數(shù)據(jù)時可使用非關(guān)系數(shù)據(jù)庫,讓非關(guān)系數(shù)據(jù)庫作為對關(guān)系型數(shù)據(jù)庫補充。

        猜你喜歡
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        數(shù)據(jù)庫
        財經(jīng)(2015年3期)2015-06-09 17:41:31
        數(shù)據(jù)庫
        財經(jīng)(2014年21期)2014-08-18 01:50:18
        數(shù)據(jù)庫
        財經(jīng)(2014年6期)2014-03-12 08:28:19
        數(shù)據(jù)庫
        財經(jīng)(2013年6期)2013-04-29 17:59:30
        亚洲一区二区三区在线激情 | 啊v在线视频| 中文字幕人妻激情在线视频| 91九色老熟女免费资源| 日韩av东京社区男人的天堂| 亚洲国产毛片| 蜜桃网站在线免费观看视频| 久久久国产精品黄毛片| 97日日碰曰曰摸日日澡| 99久久精品国产一区二区蜜芽| 国产日韩AV无码免费一区二区| 美腿丝袜在线观看视频| 国精品人妻无码一区免费视频电影| 成 人 色综合 综合网站| 国内精品九九久久精品小草| 国产传媒精品成人自拍| 人妻少妇中文字幕乱码| 福利片福利一区二区三区| 九色精品国产亚洲av麻豆一| 森中文字幕一区二区三区免费| 边啃奶头边躁狠狠躁| 久久精品国产亚洲5555| 一区二区三区日本视频| 无码中文字幕日韩专区| 国产微拍精品一区二区| 91精品国产无码在线观看| 日本a级黄片免费观看| 无码国产福利av私拍| 中文字幕少妇AV| 少妇高潮免费在线观看| 人人妻人人做人人爽| 国产成人精品一区二区视频| 无遮挡粉嫩小泬| 国产三级黄色免费网站| 国产av综合影院| 高清国产美女一级a毛片在线| 国产另类人妖在线观看| 免费超爽大片黄| 久久成年片色大黄全免费网站| 精品少妇一区二区三区四区| 日韩精品人妻中文字幕有码|