分布式系統及NOSQL簡介
創新互聯技術團隊十年來致力于為客戶提供成都網站制作、成都做網站、成都品牌網站建設、網絡營銷推廣、搜索引擎SEO優化等服務。經過多年發展,公司擁有經驗豐富的技術團隊,先后服務、推廣了成百上千網站,包括各類中小企業、企事單位、高校等機構單位。
==============================================================================
1.數據存儲
★數據模型:
層次模型;
網狀模型;
關系模型;
對象關系模型
☉關系模型:
關系型數據,嚴格的schema;
ACID規則
1.介紹
★分布式系統:
分布式系統(distributed system)由多臺計算機和通信的軟件組件通過計算機網絡連接(本地網絡或廣域網)組成。
分布式系統是建立在網絡之上的軟件系統。正是因為軟件的特性,所以分布式系統具有高度的內聚性和透明性。
因此,網絡和分布式系統之間的區別更多的在于高層軟件(特別是操作系統),而不是硬件。
分布式系統可以應用在在不同的平臺上如:Pc、工作站、局域網和廣域網上等。
2.分布式計算的優點
★優點
☉可靠性(容錯) :
分布式計算系統中的一個重要的優點是可靠性。一臺服務器的系統崩潰并不影響到其余的服務器。
☉可擴展性:
在分布式計算系統可以根據需要增加更多的機器。
☉資源共享:
共享數據是必不可少的應用,如銀行,預訂系統。
☉靈活性:
由于該系統是非常靈活的,它很容易安裝,實施和調試新的服務。
☉更快的速度:
分布式計算系統可以有多臺計算機的計算能力,使得它比其他系統有更快的處理速度。
☉開放系統:
由于它是開放的系統,本地或者遠程都可以訪問到該服務。
☉更高的性能:
相較于集中式計算機網絡集群可以提供更高的性能(及更好的性價比)。
2.分布式計算的缺點
★缺點
☉故障排除:
故障排除和診斷問題。
☉軟件:
更少的軟件支持是分布式計算系統的主要缺點。
☉網絡:
網絡基礎設施的問題,包括:傳輸問題,高負載,信息丟失等。
☉安全性:
開發系統的特性讓分布式計算系統存在著數據的安全性和共享的風險等問題。
1.介紹
★百度百科:
NoSQL,泛指非關系型的數據庫。隨著互聯網web2.0網站的興起,傳統的關系數據庫在應付web2.0網站,特別是超大規模和高并發的SNS類型的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題,而非關系型的數據庫則由于其本身的特點得到了非常迅速的發展。NoSql數據庫的產生就是為了解決大規模數據集合多重數據種類帶來的挑戰,尤其是大數據應用難題。
★什么是NoSQL:
NoSQL(NoSQL = Not Only SQL ),意即"不僅僅是SQL"。
NoSQL,指的是非關系型的數據庫。NoSQL有時也稱作Not Only SQL的縮寫,是對不同于傳統的關系型數據庫的數據庫管理系統的統稱。
NoSQL用于超大規模數據的存儲。(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數據)。這些類型的數據存儲不需要固定的模式,無需多余操作就可以橫向擴展。
★NoSQL簡史:
NoSQL一詞最早出現于1998年,是Carlo Strozzi開發的一個輕量、開源、不提供SQL功能的關系數據庫。
2009年,Last.fm的Johan Oskarsson發起了一次關于分布式開源數據庫的討論[2],來自Rackspace的Eric Evans再次提出了NoSQL的概念,這時的NoSQL主要指非關系型、分布式、不提供ACID的數據庫設計模式。
2009年在亞特蘭大舉行的"no:sql(east)"討論會是一個里程碑,其口號是"select fun, profit from real_world where relational=false;"。因此,對NoSQL最普遍的解釋是"非關聯型的",強調Key-Value Stores和文檔數據庫的優點,而不是單純的反對RDBMS。
2.為什么使用NoSQL?
今天我們可以通過第三方平臺(如:Google,Facebook等)可以很容易的訪問和抓取數據。用戶的個人信息,社交網絡,地理位置,用戶生成的數據和用戶操作日志已經成倍的增加。我們如果要對這些用戶數據進行挖掘,那SQL數據庫已經不適合這些應用了, NoSQL數據庫的發展也卻能很好的處理這些大的數據。
3.RDBMS vs NoSQL
★RDBMS
- 高度組織化結構化數據
- 結構化查詢語言(SQL) (SQL)
- 數據和關系都存儲在單獨的表中。
- 數據操縱語言,數據定義語言
- 嚴格的一致性
- 基礎事務★NoSQL
- 代表著不僅僅是SQL
- 沒有聲明性查詢語言
- 沒有預定義的模式
-鍵 - 值對存儲,列存儲,文檔存儲,圖形數據庫
- 最終一致性,而非ACID屬性
- 非結構化和不可預知的數據
- CAP定理
- 高性能,高可用性和可伸縮性
4.CAP定理
在計算機科學中, CAP定理(CAP theorem), 又被稱作 布魯爾定理(Brewer's theorem), 它指出對于一個分布式計算系統來說,不可能同時滿足以下三點:
☉一致性(Consistency)
所有節點在同一時間具有相同的數據
☉可用性(Availability)
保證每個請求不管成功或者失敗都有響應
☉分隔容忍(Partition tolerance)
系統中任意信息的丟失或失敗不會影響系統的繼續運作
★CAP理論的核心是:
一個分布式系統不可能同時很好的滿足一致性,可用性和分區容錯性這三個需求,最多只能同時較好的滿足兩個。
因此,根據 CAP 原理將 NoSQL 數據庫分成了滿足 CA 原則、滿足 CP 原則和滿足 AP 原則三 大類:
CA- 單點集群,滿足一致性,可用性的系統,通常在可擴展性上不太強大。
CP- 滿足一致性,分區容忍性的系統,通常性能不是特別高。
AP- 滿足可用性,分區容忍性的系統,通常可能對一致性要求低一些。
5.NoSQL的優缺點
★優點
- 高可擴展性
- 分布式計算
- 低成本
- 架構的靈活性,半結構化數據
- 沒有復雜的關系
★缺點
- 沒有標準化
- 有限的查詢功能(到目前為止)
- 最終一致是不直觀的程序
6.BASE
★BASE
BASE:Basically Available, Soft-state, Eventually Consistent。 由 Eric Brewer 定義。
☉CAP理論的核心是:
一個分布式系統不可能同時很好的滿足一致性,可用性和分區容錯性這三個需求,最多只能同時較好的滿足兩個。
☉BASE是NoSQL數據庫通常對可用性及一致性的弱要求原則:
Basically Availble --基本可用
Soft-state --軟狀態/柔性事務。 "Soft state" 可以理解為"無連接"的, 而 "Hard state" 是"面向連接"的
Eventual Consistency--最終一致性;最終一致性, 也是是 ACID 的最終目的。
7.NoSQL數據庫分類
類型 | 部分代表 | 特點 |
列存儲 | Hbase Cassandra Hypertable | 顧名思義,是按列存儲數據的。最大的特點是方便存儲結構化和半結構化數據,方便做數據壓縮,對針對某一列或者某幾列的查詢有非常大的IO優勢。 |
文檔 存儲 | MongoDB CouchDB | 文檔存儲一般用類似json的格式存儲,存儲的內容是文檔型的。這樣也就有有機會對某些字段建立索引,實現關系數據庫的某些功能。 |
key-value存儲 | Tokyo Cabinet / Tyrant Berkeley DB MemcacheDB redis | 可以通過key快速查詢到其value。一般來說,存儲不管value的格式,照單全收。(Redis包含了其他功能) |
圖存儲 | Neo4J FlockDB | 圖形關系的最佳存儲。使用傳統關系數據庫來解決的話性能低下,而且設計使用不方便。 |
對象存儲 | db4o Versant | 通過類似面向對象語言的語法操作數據庫,通過對象的方式存取數據。 |
xml數據庫 | Berkeley DB XML BaseX | 高效的存儲XML數據,并支持XML的內部查詢語法,比如XQuery,Xpath。 |
文章名稱:分布式系統及NoSQLl簡介
轉載注明:http://m.newbst.com/article10/pogego.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、網站策劃、網站排名、網頁設計公司、App設計、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯