云計算相關概述及NoSQL技術介紹_第1頁
云計算相關概述及NoSQL技術介紹_第2頁
云計算相關概述及NoSQL技術介紹_第3頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、云計算相關概述及 NoSQL技術介紹1.1云計算相關概述云計算技術的出現是并行計算技術、軟件技術、網絡 技術發展的必然結果。計算機的并行化是它的萌芽期,人 們不滿足于CPU摩爾定率的增長速度,希望把多個函數并 聯起來,從而獲得更快的計算速度。這種方法被證明是相 當成功的。云計算的概念及優點(1)云計算的概念云計算能為用戶提供按需分配的計算能力、存儲能力以 及應用能力,最后的目的是方便用戶,大大的降低用戶的軟 硬件采購費用。云計算是分布處理、并行處理、網格計算的 綜合發展,也是虛擬化、SaaS(軟件服務),HAS(硬件服務).PaaS(平臺服務)等綜合應用的結果 。或者說是這些計算機科學概念的商

2、業實現。許多跨國信 息技術行業的公司如 IBM,Yahoo和Google等正在使用云計 算的概念兜售自己的產品和服務。只要我們有一部手機或者 一臺筆一記本,通過瀏覽器客戶端就可以得到自己想要的服 務,甚至包括像超級計算這樣的服務。其實,在這個方面用戶才是云計算的擁有者。簡單的說,云計算就是利用互聯網上處理數據的能力與大型數據計算中心軟件,把復雜的計 算脫離開單機,運行到互聯網上。(2)云計算的優點任何云計算的分析都必須致力于這一新興技術所帶來 的優點和缺點。云計算有很多優點。1)更低成本的用戶電腦及軟件。由于應用程序在云中而不是在臺式機上運行,臺式電腦并不需要傳統的桌面軟件 所要求的處理能力和

3、硬盤空間。因此,用戶的電腦可以是低 價的,具有較小的硬盤,更少的內存,更高的處理器等【9(用戶也無需為自己的臺式機購買單獨的軟件包,只有實際使 用應用程序的員工需要訪問云中的應用程序。即使使用基于 Web的應用和使用類似的桌面軟件相同,IT人員也節省了在組織中的每個桌面上安裝和維護這些程序的費用。2)更高的性能和較強的計算能力。在云計算中計算機的啟動和運行速度將會更快,因為他們只需將少量的程序和 進程加載到內存中。云計算使用了數據副本容錯、計算節點 同構可互換等措施來保障服務的可靠性,使云計算比本地計 算機更可靠。同樣,在云計算中你不只局限于一臺單獨電腦 做事情,我們可以利用成千上萬臺計算機和

4、服務器的能力, 能執行超級計算類的任務。所以,云計算賦予用戶前所未有 的計算能力,可以嘗試完成比桌面上更大的任務10。3)無限的存儲容量和高效的數據安全。臺式機和筆記本電腦即將用完的存儲空間,與云中可以使用的數百 PB(100萬千兆字節)容量相比,它們是那么的微不足道。由于云計 算提供了無限的存儲容量,與單獨的臺式機相比,在硬盤崩 潰時不至于摧毀所有的數據11。云中的數據是自動復制的, 不會帶來任何損失。即使你的計算機崩潰了,數據仍在云里,仍然可以訪問。云計算在一定程度上保持了數據的安全性。4)改進了操作系統之間的兼容性和增強了群組織間的 協作。在云里不針對特定的應用,在云的支撐下可以構造出各

5、種應用。操作系統并不重要,可以將Windows計算機連接到云,和運行的其他操作系統 (例如Unix、Linux等)共享文 件。能夠讓許多用戶在文檔和項目上協作的能力也是云計算 的優勢之一。在不同的地理位置,不同的工作空間里共同做 一個項目工作,群組的協作意味著的大多數群組項目的更快 完成。因為它使相關的人員全部參與,不受地理位置、空間 因素的限制。利用云計算,任何人在任何地點都可以實時協 作。5)擴展性強及用戶使用方便。云的規模可以根據實際 情況進行伸縮,滿足用戶和應用增長的需求。同時也消除了 用戶對特定設備的依賴,憑借云,用戶的應用和文檔仍然跟 隨用戶。用便攜的設備,同樣使用自己的應用和文檔

6、。不用 按照特定的設備購買特定版本的程序,或者按照設備特定的 格式保存文檔。現有的云計算平臺現有的各個云計算平臺技術主要可以劃分為3個,以數據存儲為主的存儲型云平臺,以數據處理為主的計算型云平 臺以及計算和數據存儲處理兼顧的綜合云計算平臺。(1)存儲型一數據密集云平臺存儲型一數據密集云計算平臺就是主要以提供數據存 儲、搜索服務為主的云計算平臺,通過為客戶提供安全便利 的云存儲服務來贏取客戶12。云存儲是利用云計算中服務器 集群強大的存儲能力為客戶保存數據,用戶不需要知道自己 的文件是存儲在一個服務器節點上還是多個節點之中,也不 需要知道節點是否可信,這些都將由云服務器來處理解決。 云存儲的實現

7、并不存在技術上的障礙,它需要云設備、云軟 件、云服務等有機地集合在一起、為用戶提供無障礙的云服 務。現有的云計算提供商都提供基本的云存儲服務,這些存 儲服務都是基于各自提出的分布式文件存儲系統。Google擁有如今最大的信息庫和知識庫,對海量存儲有自己的獨特之 處,提出的GFS文件存儲系統能夠實現對文件系統實時監控、 容錯檢測、自動恢復等功能,是建立在不可信節點的存儲條 件下的相對優良的文件系統13。它對于大型的文件的管理是 高效的,優化程度也很高,但是對于小文件的存儲并沒有提 供有效地優化方案。使得它并不能完全適應云計算環境下的 海量的小文件存儲。FastDFS是一個開源的文件系統,也在 大

8、容量存儲和負載均衡上做的很優秀,但是在小文件存儲上 仍沒有合理地優化。(2) 計算型一計算密集云計算平臺計算型一計算密集云計算平臺就是主要以數據計算、處 理服務為主的云計算平臺,為用戶提供相應級別的高性能計 算環境。用戶還可以根據自己的需求選擇相應的計算能力 14。通過云計算平臺的高性能計算能力,用戶和企業均能獲 得與現有的大型機相媲美的計算能力,進行大規模的數據處 理計算,方便了企業和個體用戶。(3) 綜合云計算平臺綜合云計算平臺是將云計算強大的存儲與超能力的計 算有效地整合,在合理利用云集群存儲節點的存儲空間的同 時,不浪費各個節點的計算能力,通過相應的策略實現集群 存儲和運算能力的整合,

9、對數據進行處理計算15。云計算的關鍵技術基于云計算特點以及特有的開發平臺方式,概述了云計 算與網格計算以及傳統的超級計算的區別,總結了云計算的 關鍵技術:編程模式、數據存儲技術和管理技術、虛擬化技 術。云計算以數據為中心,是一種數據密集型的新型的超級 計算方式。下面對這三大關鍵技術作一個介紹。(1)簡單方便的編程模式在云計算系統中,簡化了系統處理過程的復雜性。編程 模式方便簡單,為用戶享受云計算提供的云后端資源提供了 方便。簡單的編程模式成為云計算發展的未來趨勢,后臺的 并行執行和任務調度提供了開源的代碼,使編程人員可以更 專注于業務邏輯,分析和編寫出更實用的應用程序佝。Google提出的Ma

10、pReduce編程模式是當今比較流行的云計算 編程模式。在云計算、并行處理、和多核計算上MapReduce都具有良好的性能,但僅適用于編寫數據處理和高度并行化 的程序。MapReduce技術已經應用在 Hadloop的平臺上,下圖給出了 MapReduce程序的具體執行過程圖1.1 MapReduce的具體執行過程(2)數據的存儲及管理由于云計算需要滿足大量的用戶需求,并行的處理用戶服務請求,因此在云中的分布式數據存儲技術具有高吞吐率,正好能及時滿足特點。同時云計算中也采用冗余存儲技 術提高存儲數據的可靠性。現在云計算數據的存儲技術主要有 Google的 GFS和 Hadloop團隊開發的開源

11、體系 HDFS (Hadoop Distributed File System)17。云計算對大量的數據進行了高效的管理、讀取和分析,對數據的讀操作遠高于數據的刷新頻率,所以,云計算的數據管理技術是比較優先 的數據管理模式。其中在現有的數據有力技術中主要有Google 的 BigTable。隨著技術的進一步發展,數據的更新速率和隨機讀取速 率的提高將成為數據管理技術的面臨的主要問題。下圖給出 了 GFS的數據管理技術中數據流的寫操作與寫控制分開圖 示。廠一控制流Mosier圖1.2寫控制信號和寫數據流(3) 可行的虛擬化技術 云計算關鍵技術之一是虛擬化技術。虛擬機對云計算資源的管理具有特殊的作

12、用。虛擬機是一類特殊的軟件按,能 夠完全模擬硬件的執行,以及在上面運行操作系統,執行環 境與物理環境隔離,有利于應用程序的部署18。在云計算環境中,虛擬化技術有如下良好的特性:1)與虛擬機平臺運行的應用程序同時進行,云計算中的計算平臺可以動態的定位到所需的物理平臺。2)能夠節約主機資源,將多個負載次要的虛擬機節點合并到同一個物理節點上。在不同的物理節點上實施動態遷 移,能夠獲得負載平衡。3)在資源管理和部署上比較靈活,可以將虛擬機直接部署到物理計算平臺上,或者直接給用戶提供虛擬機資源服務,如亞馬遜的 EC2虛擬化技術在云計算中應用,提高了云計算資源管理的效率,動態的為用戶提供了及時的服務。1.

13、2 No SQL 技術1.1.1No SQL技術的概念與定義NoSQL至今也沒有統一的定義,這里引用Wikipedia 的定義:NoSQL(有時擴展為“ not only SQL ”)是不同于傳統關 系數據管理模型的非關系松散數據存儲類型,不使用SQL作為其查詢語言。這種數據存儲不需要固定的表結構,不支持表之間的連接操作和水平分割,也不會保證ACID(原子性、一致性、隔離性和持久性)的全部滿足19。1.1.2N0 SQL技術的發展及趨勢隨著計算機和網絡技術的迅猛發展,互聯網日益普及, 網絡數據成指數形式增長。同樣,在科學領域,新技術層出 不窮,更新換代的周期越來越短,高技術的設備帶來的是更 大

14、規模的數據量,這樣我們進入了海量數據時代。如何存儲 和管理這些海量數據就成為當下有待解決的大挑戰。計算機 領域的大牛們面對這樣的挑戰也是各顯神通,新的概念也應 運而生20。云計算就是其中重要的一例,給計算機領域帶來 新的革命,它完全改變了數據的存儲模式。云計算概念的出 現對技術的發展起著極大地推動作用。各國也開始架構以云 計算為基礎的基礎架構,隨著Google等企業的推動,已經出現了很多基于云計算平臺的現實應用。云計算的核心思想是將分散的海量計算資源通過網絡 互連形成抽象的資源池,通過統一管理和調度按需向用戶提 供服務,用戶層面云計算資源的使用就相當于生活中用水用 電一樣,按需隨時取用,相當方

15、便。不過現在這僅僅是一個 美好的愿景,實際操作中存在很多問題,最為突出的是海量 數據存儲和容錯處理。此外,云計算系統往往是采用廉價、 不可靠的計算機來搭建集群,因此出錯幾率高于傳統的分布 式數據庫中的高性能服務器。這個問題隨著集群規模的增大顯得尤為突出。為了解決云計算系統實施過程中遇到的問 題,出現了很多以云概念為基礎的平臺,其中包括云存儲平 臺,而NoSQL數據庫就是其中之一。NoSQL數據庫是在云計算的興起以及關系型數據庫面對海量數據出現瓶頸的推動 下成長起來的。它打破了傳統關系數據庫的范式約束。關系 數據庫的許多主要特性面對當前的挑戰非但無用武之地,反 倒掣肘系統的功能及性能。比如對于數

16、據庫事務一致性需 求、寫實時性和讀實時性的需求以及復雜的SQL查詢,特別是多表關聯查詢等等。因此,各種NoSQL數據庫放棄了關系數據庫強大的SQL查詢語言和事務一致性及范式的約束,或 采用面向文檔的方式以保證系統滿足海量數據存儲的同時 具備良好的查詢性能,或采用Key-Value數據格式的存儲以滿足極高的并發讀寫性能,又或者針對可擴展性展開的可伸 縮數據庫以增強其彈性的擴展能力。近年來,隨著NoSQL運動的蓬勃發展,人們從初期的打破傳統的關系數據庫約束逐 漸演變成對當今數據存儲及管理可行且高效靈活的方案的 探求,這與云數據管理的目的是極為相似的。在云數據管理 中,我們同樣要解決的是傳統的關系數

17、據庫在數據及查詢壓 力下所暴露出的實時插入性能、海量存儲能力、查詢檢索速 度以及無縫擴展等問題。NoSQL數據庫與云數據管理兩者殊途同歸,從滿足應用需求的角度來說,最終都渴求找到一種 集一致性、可用性和高容錯性于一身的數據存儲及管理方案 以應對日益高漲的數據管理需求。1.1.3N0 SQL的關鍵技術研究(1) CAP理論.C: Consistency 一致性.A: Availability 可用性.P: Partition Tolerance分區容忍性一致性是指一個系統在操作完成之后能否以及怎樣 保持一致狀態。如果一些寫操作完成更新之后所有讀者都能 在共享數據源中看到更新,則這個分布式系統被認為是典型 的一致性系統21。可用性,尤其是高可用性意味著在例如集群中節點失效 或者軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論