• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Nosql數(shù)據(jù)庫研究文獻(xiàn)綜述

      2017-04-15 07:18:06成都理工大學(xué)雷宇輝唐曼玲劉超英
      電子世界 2017年4期
      關(guān)鍵詞:鍵值內(nèi)存文檔

      成都理工大學(xué) 雷宇輝 鐘 雯 何 清 唐曼玲 劉超英

      Nosql數(shù)據(jù)庫研究文獻(xiàn)綜述

      成都理工大學(xué) 雷宇輝 鐘 雯 何 清 唐曼玲 劉超英

      隨著擁有海量數(shù)據(jù)寫入的Web 2.0網(wǎng)絡(luò)應(yīng)用的興起以及用戶需求和現(xiàn)代硬件要求的提高,在傳統(tǒng)關(guān)系型數(shù)據(jù)庫因為自身限制而無法解決動態(tài)數(shù)據(jù)處理、實(shí)時數(shù)據(jù)插入等諸類問題的背景下,Nosql數(shù)據(jù)庫毫無疑問成為解決此類辦法的熱門議題之一。

      Nosql;web2.0;傳統(tǒng)關(guān)系式數(shù)據(jù)庫

      1.傳統(tǒng)關(guān)系式數(shù)據(jù)庫介紹

      1969年,Edgar Frank Codd首次提出了關(guān)系數(shù)據(jù)庫模型的概念。關(guān)系型數(shù)據(jù)庫以擁有較高事物可靠性的特點(diǎn)在各個行業(yè)中得到廣泛運(yùn)用。如果從web2.0網(wǎng)站的角度看關(guān)系型數(shù)據(jù)庫,它的許多特征將無用武之地,因為傳統(tǒng)關(guān)系型數(shù)據(jù)庫不能完全負(fù)荷海量數(shù)據(jù)寫入的web2.0網(wǎng)站。同時,關(guān)系型數(shù)據(jù)庫難以進(jìn)行橫向擴(kuò)展,當(dāng)我們需要對數(shù)據(jù)進(jìn)行增加、查找、刪除等操作時,有時需要停機(jī)更改數(shù)據(jù)表結(jié)構(gòu),無法動態(tài)進(jìn)行數(shù)據(jù)庫數(shù)據(jù)變更操作。關(guān)系型數(shù)據(jù)庫需要分析提出的SQL操作請求,再根據(jù)請求找到并解鎖相關(guān)的數(shù)據(jù)表,與Nosql數(shù)據(jù)庫相比,增加了一些多余的步驟。

      2.Nosql數(shù)據(jù)庫介紹

      Nosql,是指not only sql,運(yùn)用非關(guān)系式的方法解決傳統(tǒng)數(shù)據(jù)庫無法解決的問題,而并非要取代現(xiàn)在廣泛應(yīng)用的傳統(tǒng)關(guān)系式數(shù)據(jù),。Nosql遵守CAP原則和BASE思想,CAP原則,指的是在分布式系統(tǒng)中,只可以同時滿足Consistency(一致性)、Availability(可用性)、Tolerance(區(qū)分容錯性)其中的兩種要求,不能三種兼顧,因此,不同的Nosql數(shù)據(jù)庫會根據(jù)自身的開發(fā)目的選擇滿足哪些要求,比如,Mongodb滿足CP要求。BASE是基本可用(Basically Available)、軟狀態(tài)(Soft state)、最終一致性(Eventually consistent)三個術(shù)語的縮寫,基本可用性是指在分布式系統(tǒng)出現(xiàn)故障時,同意系統(tǒng)部分失去可用性,保證核心部分的可用性,軟狀態(tài)是指同意系統(tǒng)不同節(jié)點(diǎn)同步有延時,最終一致性系統(tǒng)所有數(shù)據(jù)在最后能達(dá)到一致的狀態(tài)的性能。大部分Nosql數(shù)據(jù)庫都遵循BASE思想,舍去高一致性得到可用性和可靠性。

      3.Nosql數(shù)據(jù)庫分類

      Nosql數(shù)據(jù)庫種類繁多,如果只用一個Nosql標(biāo)簽來代表所有Nosql數(shù)據(jù)庫就太籠統(tǒng)了,比如memcached和mongodbt這兩種數(shù)據(jù),盡管在都是Nosql數(shù)據(jù)庫的同類比較下彼此也會顯示出很大的區(qū)別,所以,Nosql數(shù)據(jù)庫大致可以分為以下幾類:

      鍵值型數(shù)據(jù)庫,該數(shù)據(jù)庫會使用哈希表,數(shù)據(jù)以鍵值的形式存放,一個或多個鍵對應(yīng)一個值。鍵值型數(shù)據(jù)庫處理速度最快,但是必須通過匹配完全一致的鍵查詢數(shù)據(jù)。

      列存儲數(shù)據(jù)庫,以列為單位存放數(shù)據(jù)。目前大部分關(guān)系型數(shù)據(jù)庫是以行為單位存放數(shù)據(jù),當(dāng)面對大量數(shù)據(jù)時,以行為單位的數(shù)據(jù)庫操作會更加困難,寫入速度降低。對以列存儲的數(shù)據(jù)庫來說,可以對大量數(shù)據(jù)進(jìn)行讀取,具有高擴(kuò)展性,但因為思維方式與傳統(tǒng)型數(shù)據(jù)庫多有不同,應(yīng)用困難。

      文檔型數(shù)據(jù)庫,將數(shù)據(jù)封裝存儲到未嚴(yán)格定義的以JSON、XML等類型的文件中,雖然它與鍵值型數(shù)據(jù)庫有相似點(diǎn),每個文檔存儲一個或多個鍵值,但不同的是,其中值可以是文件類型。在文檔型數(shù)據(jù)庫中,即使沒有提前定義數(shù)據(jù)表結(jié)構(gòu),也可以繼續(xù)使用。鍵值型數(shù)據(jù)庫必須通過匹配完全一致的鍵查詢數(shù)據(jù),文檔型則可以通過復(fù)雜的查詢條件進(jìn)行操作。但是文檔型數(shù)據(jù)庫沒有事務(wù)處理能力。

      圖形數(shù)據(jù)庫,起源于歐拉公式和圖論,應(yīng)用圖論的節(jié)點(diǎn)、關(guān)系、屬性三個基本要素存放數(shù)據(jù)之間的關(guān)系信息,將點(diǎn)、線、面等基本圖形元素按照一定結(jié)構(gòu)排列的數(shù)據(jù)集合,在此類數(shù)據(jù)庫中,程序員可以任意添加屬性、節(jié)點(diǎn)、關(guān)系且不影響系統(tǒng)的初始狀態(tài),適用于處理復(fù)雜的、相互交叉的數(shù)據(jù),解決復(fù)雜的圖形問題。

      4.典型數(shù)據(jù)庫概述

      4.1 高速響應(yīng)的鍵值數(shù)據(jù)庫memcached

      memcached,是LiveJournal旗下的Danga Interactive公司開發(fā)的一款軟件,適用于需要頻繁訪問的、共享數(shù)據(jù)的分布式系統(tǒng)。Memcached中mem代表memory(內(nèi)存),cached代表緩存,它是高性能分布式內(nèi)存緩存服務(wù)器,通過緩存服務(wù)器查詢結(jié)果減少數(shù)據(jù)庫訪問次數(shù),有效提高了動態(tài)web的響應(yīng)速度,同時它也是一個高性能開源分布式內(nèi)存對象緩存系統(tǒng),mem-cached數(shù)據(jù)庫的加載均在內(nèi)存中進(jìn)行,在動態(tài)中減少數(shù)據(jù)庫負(fù)載提升性能。Memcached利用網(wǎng)絡(luò)連接方式完成服務(wù),可在高并發(fā)條件下迅速響應(yīng)操作需求。Memcached將數(shù)據(jù)保存到內(nèi)存當(dāng)中,雖然是數(shù)據(jù)寫入、讀出非??欤钱?dāng)Memcached停止工作時,比如,操作超出內(nèi)存容量等情況時,數(shù)據(jù)容易丟失。

      4.2 高存儲量的列存儲數(shù)據(jù)庫Hbase

      Hbase,即Hadoop Database,是一個高性能、面向?qū)ο?、分布式、面向列的開源數(shù)據(jù)庫。在Hbase中主要以下兩個主要概念,Row key和Column Family ,Row key用于檢索數(shù)據(jù),Column Family 是指列族且必須在Hbase表使用前定義。Hbase表可以存儲上千萬個行、支持列的獨(dú)立搜索并且 null列不占據(jù)存儲空間。Hbase有以下物理模型,Region、HLog、Store、客戶端更新操作流程、Hmaster。當(dāng)Hbase中數(shù)據(jù)達(dá)到一定程度,數(shù)據(jù)庫將對數(shù)據(jù)水平切割并存儲到多臺服務(wù)器中去,不同用戶來訪時,會根據(jù)訪問數(shù)據(jù)的不同將用戶分配至相應(yīng)的服務(wù)器中,有效提高了數(shù)據(jù)庫訪問性能。Hbase的數(shù)據(jù)和日志均存儲在Hadoop 分布式文件系作為文件存儲系統(tǒng)中,即使在應(yīng)用過程中服務(wù)器停止服務(wù),數(shù)據(jù)、日志均不會丟失。但是,Hbase只能按照Row key查詢,并且當(dāng)master停止工作時,整個系統(tǒng)過停止。

      4.3 靈活、可擴(kuò)展的文檔型數(shù)據(jù)庫Mongodb

      Mongodb來源于humongous英文單詞中間部分意為巨大的,可以看出Mongodb的主要目的是在于處理包含“大量”的操作,比如大量數(shù)據(jù)的存儲,大量數(shù)據(jù)的寫入等。Mongodb將傳統(tǒng)關(guān)系型數(shù)據(jù)庫中“行”替換成“文檔”,它可以運(yùn)行在Windows、linux、OSX等系統(tǒng)上, Mongodb還提供了多種編程語言支持,比如java、php、c#等。

      在mongodb中,一個數(shù)據(jù)庫由一個或多個集合組成,一個集合則由一個或以上的文檔組成,其中集合可以看做是傳統(tǒng)關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)表。以文檔存儲可以在單獨(dú)的記錄中表示復(fù)雜的關(guān)系,存儲文檔內(nèi)嵌對象以及數(shù)組等面向?qū)ο蟮臄?shù)據(jù)類型。mongodb中,文檔以二進(jìn)制的JSON格式存儲即BSON格式,支持二進(jìn)制數(shù)據(jù)或大型數(shù)據(jù)的存儲,輕巧、高效、靈活。Mongodb也支持在多個服務(wù)器中自動分片技術(shù),在一群節(jié)點(diǎn)中按水平比例分割文檔集,使負(fù)載均衡,使其擁有更高的讀取速度,也可以避免程序員考慮擴(kuò)展問題。同時,mongodb提供了主從式和副本集兩種復(fù)制方式,在副本集中,所有節(jié)點(diǎn)都是彼此的備份節(jié)點(diǎn),沒有單點(diǎn)故障,可用于備份、故障修復(fù)、讀擴(kuò)展等。

      4.4 高性能的圖引擎Neo4j

      Neo4j是基于Java的高性能的圖形數(shù)據(jù)庫,對比與傳統(tǒng)關(guān)系型數(shù)據(jù)庫,Neo4j將數(shù)據(jù)從數(shù)據(jù)表轉(zhuǎn)移存儲到圖中。一個圖包含節(jié)點(diǎn)和關(guān)系兩種數(shù)據(jù)類型,節(jié)點(diǎn)通過關(guān)系相連形成關(guān)系型網(wǎng)絡(luò)結(jié)構(gòu)。Neo4j具備健壯數(shù)據(jù)庫的所有特性,是高性能的圖引擎,在圖中,節(jié)點(diǎn)可以任意增加、刪除、修改,適用于半結(jié)構(gòu)化數(shù)據(jù)存儲,解決其浪費(fèi)內(nèi)存問題。Neo4j,根據(jù)深度遍歷接口,可以以相同的速度遍歷邊和節(jié)點(diǎn),解決了擁有大量連接的傳統(tǒng)RDBMS在查詢時出現(xiàn)的性能衰退問題。

      5.總結(jié)

      傳統(tǒng)關(guān)系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫的關(guān)系是互補(bǔ)的,對于這兩類數(shù)據(jù)庫,我們需要做到因人而異、因事而異、因時而異,通常情況下可以使用關(guān)系型數(shù)據(jù)庫,但對于其不擅長的領(lǐng)域,則可以使用NoSQL數(shù)據(jù)庫彌補(bǔ)不足。

      [1]范凱.NoSQL數(shù)據(jù)庫綜述[J].程序員,2010(6):76-78.

      [2]申德榮,于戈,王習(xí)特,等.支持大數(shù)據(jù)管理的NoSQL系統(tǒng)研究綜述[J].軟件學(xué)報,2013(8):1786-1803.

      [3]陳莉瑩,雙鍇.NoSQL數(shù)據(jù)庫綜述[J]. 2012.

      [4]吾木提·那合曼.NoSQL數(shù)據(jù)庫綜述[J].電子世界,2015(17): 146-147.

      [5]佐佐木達(dá)也羅勇.NoSQL數(shù)據(jù)庫入門[M].人民郵電出版社,2012.

      [6]蕭毅,劉景豊,林威廷,黃奕欽,蔡慶堂,雲(yún)端分散式資料庫技術(shù)之介紹-以MongoDB為例[J].電信研究雙月刊,第42卷第2期,281-294,2012.

      [7]霍多羅夫.MongoDB權(quán)威指南[M].人民郵電出版社,2014.

      [8]Jeelani Ahmed?, Raafiya Gulmeher. NEW TREND OF DATABASES,EMERGING REASONS,CLASSIFICATION AND SECURITY ISSUES[J]. International Journal of Engineering Sciences & Research Technology, Volume 30; 4(6): 176–184.

      [9]Sharma S,Shandilya R,Patnaik S,et al.Leading NoSQL Models for Handling Big Data:A Brief Review[J].International Journal of Business Information Systems,2015.

      猜你喜歡
      鍵值內(nèi)存文檔
      有人一聲不吭向你扔了個文檔
      非請勿進(jìn) 為注冊表的重要鍵值上把“鎖”
      “春夏秋冬”的內(nèi)存
      一鍵直達(dá) Windows 10注冊表編輯高招
      電腦愛好者(2017年9期)2017-06-01 21:38:08
      基于RI碼計算的Word復(fù)制文檔鑒別
      Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
      基于內(nèi)存的地理信息訪問技術(shù)
      不讓他人隨意下載Google文檔
      電腦迷(2012年4期)2012-04-29 06:12:13
      注冊表值被刪除導(dǎo)致文件夾選項成空白
      上網(wǎng)本為什么只有1GB?
      兴宁市| 彩票| 交城县| 阿巴嘎旗| 四会市| 宣城市| 镇平县| 昌宁县| 东光县| 台南市| 改则县| 平凉市| 康定县| 大竹县| 崇阳县| 郓城县| 阳东县| 昆明市| 寿光市| 萝北县| 聂拉木县| 德庆县| 多伦县| 云林县| 通辽市| 拉萨市| 青神县| 灵石县| 沂源县| 镇雄县| 滨州市| 循化| 化州市| 琼中| 河北区| 河西区| 安新县| 寻乌县| 晋城| 伊宁县| 且末县|