亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

分布式系統(tǒng)淺析

系統(tǒng) 1817 0

????? 應(yīng)一個(gè)朋友的承諾,整理一下當(dāng)前業(yè)界存在的幾種優(yōu)秀的分布式系統(tǒng)。特別對(duì)淘寶的后臺(tái)系統(tǒng)做了一些分析,看看在未來(lái)的幾年,symantec能夠在未來(lái)的云計(jì)算,云存儲(chǔ)的浪潮中,機(jī)會(huì)點(diǎn)在哪里? 當(dāng)然,這里主要指的是技術(shù)切入點(diǎn).

一? 眼下業(yè)界存在的幾種分布式系統(tǒng)

Company using Distributed Filesystem Master Node (Y/N)
Google GFS&Bigtable Y
Amazon Dynamo N
Microsoft Azure Y
Yahoo PNUTS Y

有中心節(jié)點(diǎn)的分布式架構(gòu):

clip_image002

無(wú)中心節(jié)點(diǎn)的分布式系統(tǒng)架構(gòu):

???? 眼下對(duì)數(shù)據(jù)訪問的幾大問題: 高吞吐,高并發(fā),低延遲

幾個(gè)文件系統(tǒng)的分析:

GFS&Bigtable

GFS主要有八個(gè)特點(diǎn):

??? 1? 大文件和大數(shù)據(jù)塊:數(shù)據(jù)文件的大小普遍在GB級(jí)別,并且其每一個(gè)數(shù)據(jù)塊默認(rèn)大小為64MB,這樣做的優(yōu)點(diǎn)是降低了元數(shù)據(jù)的大小,從而能使Master節(jié)點(diǎn)能夠非常方便地將元數(shù)據(jù)都放置在內(nèi)存中以提升訪問效率。

??? 2? 操作以加入為主:文件非常少會(huì)被刪減或者覆蓋,通常僅僅是進(jìn)行加入或者讀取操作,這樣能充分考慮到硬盤線性吞吐量大,但隨機(jī)讀寫慢的特點(diǎn)。

??? 3? 支持容錯(cuò):首先,盡管當(dāng)時(shí)為了設(shè)計(jì)方便,採(cǎi)用了單Master的方案,可是整個(gè)系統(tǒng)會(huì)保證Master節(jié)點(diǎn)會(huì)有其相相應(yīng)的替身(Shadow),以便于當(dāng)Master節(jié)點(diǎn)出現(xiàn)故障

??? 4? 時(shí)進(jìn)行切換。其次,在Chunk層,GFS已經(jīng)在設(shè)計(jì)上將節(jié)點(diǎn)失敗視為常態(tài),所以能非常好地處理Chunk節(jié)點(diǎn)失效的問題。

??? 5? 高吞吐量:盡管以單個(gè)節(jié)點(diǎn)來(lái)看,GFS的性能不管是從吞吐量還是延遲都非常普通,但因?yàn)槠渲С稚锨У墓?jié)點(diǎn),所以總的數(shù)據(jù)吞吐量是非常驚人的。

??? 6? 保護(hù)數(shù)據(jù):文件被切割成固定尺寸的數(shù)據(jù)塊以便于保存,并且每一個(gè)數(shù)據(jù)塊都會(huì)被系統(tǒng)至少?gòu)?fù)制三份。

??? 7? 擴(kuò)展能力強(qiáng):因?yàn)樵獢?shù)據(jù)偏小,使得一個(gè)Master節(jié)點(diǎn)能控制和管理上千個(gè)存數(shù)據(jù)的Chunk節(jié)點(diǎn)。

??? 8? 支持壓縮:對(duì)于那些稍舊的文件,能夠通過(guò)對(duì)它進(jìn)行壓縮,來(lái)節(jié)省硬盤空間,并且壓縮率非常驚人,有時(shí)甚至接近90%。

??? 9? 基于用戶空間:GFS主要執(zhí)行于系統(tǒng)的用戶空間(User Time),盡管在效率方面,用戶空間比內(nèi)核空間略低,可是更便于開發(fā)和測(cè)試,還有,就是能更好利用Linux的自帶的一些POSIX API。?

????? 因?yàn)镚FS主要是為了存儲(chǔ)海量搜索數(shù)據(jù)而設(shè)計(jì)的,所以它在吞吐量(Throughput)和伸縮性(Scalability)這雙方面表現(xiàn)非常優(yōu)異,可謂業(yè)界的“翹楚”,可是因?yàn)槠渲饕?4MB數(shù)據(jù)塊形式存儲(chǔ),所以在隨機(jī)訪問方面速度并不優(yōu)秀,盡管這點(diǎn)可謂是它的“軟肋”,可是這本身也是其當(dāng)初為了吞吐量和伸縮性所做的權(quán)衡。

?

二? 淘寶分布式數(shù)據(jù)服務(wù)系統(tǒng)的分析和思考

三? symantec的機(jī)會(huì)點(diǎn)

未來(lái)幾年中,symantec做為業(yè)界率先的軟件提供商,機(jī)會(huì)點(diǎn)在哪里?

這里面有兩關(guān),必須過(guò),一個(gè)是數(shù)據(jù)安全性,一個(gè)是收費(fèi)模式(事實(shí)上就是商業(yè)模式)

數(shù)據(jù)安全性,能夠用一個(gè)比喻來(lái)完畢,非常早曾經(jīng),才出現(xiàn)銀行這個(gè)概念,可是在美國(guó)西部,銀行常常被打劫,大家的錢都被搶走。可是隨著銀行的安全的提高,如今,大家都已經(jīng)非常喜歡的把錢放入銀行。通過(guò)這個(gè)比喻,我們能夠看到,事實(shí)上,一方面,我們確實(shí)要加強(qiáng)云端的數(shù)據(jù)安全性,不能再傳輸以及存儲(chǔ)計(jì)算過(guò)程中被偷窺,篡改,和丟失。另外一個(gè),須要培養(yǎng)客戶對(duì)云端的信心,這個(gè)就須要比較長(zhǎng)的時(shí)間了。

安全軟件,無(wú)疑是symantec的強(qiáng)項(xiàng)。 在云端,詳細(xì)怎樣保護(hù)數(shù)據(jù),可能又須要非常長(zhǎng)的一個(gè)篇幅來(lái)探討這個(gè)問題了。我相信symantec在這個(gè)方向是,是肯定大有作為的。

再看一看商業(yè)模式的問題,早在2002年,沃達(dá)豐就已經(jīng)有過(guò)這樣的概念的提出,極力希望能夠?qū)⒃圃O(shè)備掛在運(yùn)營(yíng)商的后端,然后向前端提供各種服務(wù)。也就比較相似亞馬遜的EC2,PAAS。可是,關(guān)鍵問題來(lái)了,沒有找到盈利點(diǎn)。這個(gè)游戲須要全部人得到優(yōu)點(diǎn),才可能玩的下去。因此,這個(gè)時(shí)候須要一個(gè)比較好的游戲規(guī)則。

因此,我們能夠看到:運(yùn)營(yíng)商提供的是接入云端的網(wǎng)絡(luò),設(shè)備商提供的是大量的計(jì)算 存儲(chǔ)和網(wǎng)絡(luò)資源,而symantec可繼續(xù)在軟件上面大作文章。比方:幫助淘寶等 完畢底層軟件的構(gòu)筑(與SSD裸設(shè)備直接讀寫,去掉文件系統(tǒng)那一層,速度能夠提高5-6倍。業(yè)界成功的有 百度的MySQL在SSD上的應(yīng)用 ,通過(guò)改動(dòng)MySQL存儲(chǔ)引擎,實(shí)現(xiàn)了MySQL Flashcache的功能,通過(guò)軟件與硬件結(jié)合的方式,實(shí)現(xiàn)了SSD性能的最大化利用,在SSD應(yīng)用的方面,百度走在了國(guó)內(nèi)同行的前面。) ,完畢統(tǒng)一的平臺(tái)管理

最后就是接入軟件的駕馭:主要是瀏覽器???? 以及?? client與云端的通信軟件

經(jīng)過(guò)這一系列的分析,我們能夠看到,不管是哪一種分布式系統(tǒng),都是以 應(yīng)用為中心 ,環(huán)繞它展開:便有了數(shù)據(jù)可用性,數(shù)據(jù)安全性,數(shù)據(jù)的讀寫效率,以及方便的管理,自己主動(dòng)化的


References:

Key Value 數(shù)據(jù)模型:

Key-value這樣的數(shù)據(jù)模型在結(jié)構(gòu)方面和傳統(tǒng)的關(guān)系型相比較簡(jiǎn)單,有點(diǎn)相似常見的HashTable,一個(gè)Key相應(yīng)一個(gè)Value,可是其能提供非常快的查詢速度、大的數(shù)據(jù)存放量和高并發(fā)地操作,并非常適合通過(guò)主鍵(Key)來(lái)對(duì)數(shù)據(jù)進(jìn)行查詢和改動(dòng)等操作,盡管不支持復(fù)雜的操作,可是能夠通過(guò)上層的開發(fā)來(lái)彌補(bǔ)這個(gè)缺陷。

http://forchenyun.javaeye.com/blog/ 744935

http://www.ibm.com/developerworks/cn/opensource/os-cn-cassandra/


EAV 數(shù)據(jù)模型: Entity – Attribute – Value 的縮寫,是數(shù)據(jù)庫(kù)模型的一種,使用eav建模的優(yōu)點(diǎn)是能夠動(dòng)態(tài)為數(shù)據(jù)模型添加或移除屬性。比方: 最早用于醫(yī)學(xué)用途,醫(yī)生在就診時(shí)須要記錄非常多病人的參數(shù),如體溫,年齡,過(guò)敏藥等情況,而這些參數(shù)并非每一個(gè)病人都須要記錄的。

http://en.wikipedia.org/wiki/Entity-attribute-value_model


ER數(shù)據(jù)模型: 數(shù)據(jù)庫(kù)模型,數(shù)據(jù)之間的relation


NoSQL(非關(guān)系型的數(shù)據(jù)庫(kù)): 隨著互聯(lián)網(wǎng)web2.0站點(diǎn)的興起,傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)在應(yīng)付web2.0站點(diǎn),特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動(dòng)態(tài)站點(diǎn)已經(jīng)顯得力不從心,暴露了非常多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫(kù)則因?yàn)槠浔旧淼奶攸c(diǎn)得到了非常迅速的發(fā)展。

1、High performance - 對(duì)數(shù)據(jù)庫(kù)高并發(fā)讀寫的需求

???? web2.0站點(diǎn)要依據(jù)用戶個(gè)性化信息來(lái)實(shí)時(shí)生成動(dòng)態(tài)頁(yè)面和提供動(dòng)態(tài)信息,所以基本上無(wú)法使用動(dòng)態(tài)頁(yè)面靜態(tài)化技術(shù),因此數(shù)據(jù)庫(kù)并發(fā)負(fù)載非常高,往往要達(dá)到每秒上萬(wàn)次讀寫請(qǐng)求。關(guān)系數(shù)據(jù)庫(kù)應(yīng)付上萬(wàn)次SQL查詢還勉強(qiáng)頂?shù)米。墒菓?yīng)付上萬(wàn)次SQL寫數(shù)據(jù)請(qǐng)求,硬盤IO就已經(jīng)無(wú)法承受了。事實(shí)上對(duì)于普通的BBS站點(diǎn),往往也存在對(duì)高并發(fā)寫請(qǐng)求的需求。

2、Huge Storage - 對(duì)海量數(shù)據(jù)的高效率存儲(chǔ)和訪問的需求

對(duì)于大型的SNS站點(diǎn),每天用戶產(chǎn)生海量的用戶動(dòng)態(tài),以國(guó)外的Friendfeed為例,一個(gè)月就達(dá)到了2.5億條用戶動(dòng)態(tài),對(duì)于關(guān)系數(shù)據(jù)庫(kù)來(lái)說(shuō),在一張2.5億條記錄的表里面進(jìn)行SQL查詢,效率是極其低下乃至不可忍受的。再比如大型web站點(diǎn)的用戶登錄系統(tǒng),比如騰訊,盛大,動(dòng)輒數(shù)以億計(jì)的帳號(hào),關(guān)系數(shù)據(jù)庫(kù)也非常難應(yīng)付。

3、High Scalability && High Availability- 對(duì)數(shù)據(jù)庫(kù)的高可擴(kuò)展性和高可用性的需求

????? 在基于web的架構(gòu)其中,數(shù)據(jù)庫(kù)是最難進(jìn)行橫向擴(kuò)展的,當(dāng)一個(gè)應(yīng)用系統(tǒng)的用戶量和訪問量與日俱增的時(shí)候,你的數(shù)據(jù)庫(kù)卻沒有辦法像web server和app server那樣簡(jiǎn)單的通過(guò)加入很多其它的硬件和服務(wù)節(jié)點(diǎn)來(lái)擴(kuò)展性能和負(fù)載能力。對(duì)于非常多須要提供24小時(shí)不間斷服務(wù)的站點(diǎn)來(lái)說(shuō),對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行升級(jí)和擴(kuò)展是非常痛苦的事情,往往須要停機(jī)維護(hù)和數(shù)據(jù)遷移,為什么數(shù)據(jù)庫(kù)不能通過(guò)不斷的加入服務(wù)器節(jié)點(diǎn)來(lái)實(shí)現(xiàn)擴(kuò)展呢?

如今主流的NoSQL數(shù)據(jù)庫(kù)有BigTable、HBase、Cassandra、SimpleDB、CouchDB、MongoDB和Redis等。


CAP理論:

2000年,Eric Brewer教授在ACM分布式計(jì)算年會(huì)上指出了著名的 CAP理論

Brewer, E. A. 2000. Towards robust distributed systems. In Proceedings of the 19th Annual ACM Symposium on Principles of Distributed Computing (July 16-19, Portland, Oregon)

即分布式系統(tǒng) 不可能滿足 一致性 ( C: Consistency), 可用性 ( A : Availability)和 分區(qū)容錯(cuò)性 ( P : Tolerance of network Partition)這三個(gè)需求。

大約兩年后,Seth Gilbert 和 Nancy lynch兩人證明了CAP理論的正確性:

Gilbert , S., Lynch, N. 2002. Brewer's conjecture and the feasibility of consistent, available, partition-tolerant Web services. ACM SIGACT News 33(2)

盡管關(guān)系型數(shù)據(jù)庫(kù)已經(jīng)在業(yè)界的數(shù)據(jù)存儲(chǔ)方面占領(lǐng)不可動(dòng)搖的地位,可是因?yàn)槠涮焐膸讉€(gè)限制,比方擴(kuò)展困難、讀寫慢、成本高和有限的支撐容量等,使其非常難滿足上面這幾個(gè)需求。


分布式系統(tǒng)淺析


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久操视频免费观看 | 在线 | 一区二区三区四区 | 成人在线一区二区三区 | 够爱久久| 欧美国产成人精品一区二区三区 | 四虎影院在线观看网站 | 国产一区在线观看免费 | 天海翼一区二区在线观看 | 99re8热精品免费视频 | 午夜看一级特黄a大片黑 | 国产亚洲精品久久久久久久网站 | 免费久久久久 | 欧美日本亚洲国产一区二区 | 日本中文字幕在线观看视频 | 在线观看日韩精品 | 亚洲精品98久久久久久中文字幕 | 国产精品视频一区牛牛视频 | 成人性a激情免费视频 | 久久久久久久免费 | 99精品国产兔费观看66 | 欧美一级毛片在线一看 | 永久黄网站色视频免费 | 美女一级a毛片免费观看 | 就要爱综合 | 毛片天堂 | 久久国产影院 | 成人免费毛片网站 | 日韩美女一区 | 色综合久久综合网 | 色伊人网 | 久久久久久久一精品 | 成人精品在线 | 国产精品入口麻豆高清在线 | 亚洲成在人| 国产精品suv一区二区 | 毛片一级在线观看 | 久久国产精品无码网站 | 精品一成人岛国片在线观看 | 亚洲欧美在线综合一区二区三区 | 国产视频一区在线播放 | 国产精品看片 |