成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

從“軟件”到“服務(wù)“——【對(duì)象存儲(chǔ)】的發(fā)展歷程(上)

warnerwu / 1066人閱讀

摘要:現(xiàn)在還有一種趨勢(shì),就是直接在對(duì)象存儲(chǔ)上跑等工具,不再依賴于。小結(jié)在對(duì)象存儲(chǔ)大規(guī)模普及之前,大量的數(shù)據(jù)存儲(chǔ)和處理就已經(jīng)存在。

導(dǎo)語(yǔ)

據(jù)IDC的分析師預(yù)測(cè),2025年,全球范圍內(nèi)的數(shù)據(jù)量將增長(zhǎng)到163 ZB,相較于2016年的16.1 ZB,十年間將增長(zhǎng)1000%。面對(duì)飛速增長(zhǎng)的數(shù)據(jù)量,企業(yè)和機(jī)構(gòu)在未來(lái)又將如何存儲(chǔ)這些數(shù)據(jù)呢?

![在這里插入圖片描述](

)

本文今天將與大家一起分享、探討對(duì)象存儲(chǔ)的進(jìn)化及發(fā)展歷程。

當(dāng)我們有海量的數(shù)據(jù)需要存儲(chǔ)處理時(shí),首先可能會(huì)想到的就是對(duì)象存儲(chǔ)和Hadoop的HDFS?,F(xiàn)在還有一種趨勢(shì),就是直接在對(duì)象存儲(chǔ)上跑 MapReduce、Spark 等工具,不再依賴于HDFS。

其實(shí)在對(duì)象存儲(chǔ)出現(xiàn)之前,也會(huì)遇到海量數(shù)據(jù)存儲(chǔ)的問(wèn)題,那么隨著數(shù)據(jù)量的不斷增長(zhǎng),存儲(chǔ)技術(shù)又發(fā)生著怎么樣的變化呢?

讓我們從不同維度來(lái)進(jìn)行分析。

科學(xué)計(jì)算領(lǐng)域:glusterfs, lustre, GPFS

在2000年之前,也就是互聯(lián)網(wǎng)還沒(méi)有真正意義上的大規(guī)模崛起時(shí),科學(xué)計(jì)算應(yīng)該算是當(dāng)時(shí)真正的大規(guī)模存儲(chǔ)玩家。在蛋白質(zhì)模擬、計(jì)算化學(xué)這類的科學(xué)計(jì)算領(lǐng)域,它們只消耗計(jì)算,對(duì)存儲(chǔ)的需求不高。 但在氣象預(yù)測(cè)、天文等領(lǐng)域,由于數(shù)據(jù)采集量巨大,因此也有著大規(guī)模存儲(chǔ)的需求。撇開(kāi)專有的存儲(chǔ)系統(tǒng)來(lái)看,glusterfs、lustre、以及IBM的GPFS(Spectrum Scale) 算是在這個(gè)領(lǐng)域的佼佼者,但這些跟后面我們看到的其他存儲(chǔ)系統(tǒng)有很大不同的是,這些系統(tǒng)都支持 POSIX 文件系統(tǒng),方便原有的程序從本地文件系統(tǒng)平滑遷移到分布式文件系統(tǒng)。

但也正是因?yàn)樾枰С?POSIX 文件系統(tǒng),這類系統(tǒng)的基礎(chǔ)性能會(huì)出現(xiàn)一定的問(wèn)題。比如 glusterfs對(duì)于小文件、qps的損失就比較大。除此之外,還經(jīng)常受到文件系統(tǒng)本身各種限制的影響,比如:?jiǎn)我荒夸浵挛募臄?shù)目不能太多,深層次目錄尋址很慢等。

大數(shù)據(jù)領(lǐng)域:GFS, HDFS

2003年Google發(fā)表了 GFS 論文, 2004 年發(fā)表了 MapReduce 論文。分別解決了Google搜索業(yè)務(wù)遇到的大規(guī)模的存儲(chǔ)和計(jì)算問(wèn)題。業(yè)界很快就認(rèn)識(shí)到了這個(gè)方法在解決大數(shù)據(jù)問(wèn)題上的重要性和通用性,2006年就誕生了 Hadoop 項(xiàng)目,并隨后衍生了 HBase, HIVE, Pig等Hadoop生態(tài)項(xiàng)目。

Hadoop的底層存儲(chǔ)引擎叫HDFS,HDFS 在設(shè)計(jì)時(shí)充分考慮了離線大文件的存儲(chǔ)問(wèn)題,但對(duì)于小文件存儲(chǔ),NameNode 容易出現(xiàn)過(guò)載的情況。不過(guò)對(duì)于這個(gè)問(wèn)題也可以有一些變通解決方案,比如把數(shù)據(jù)存在HBase而不是Hadoop中,或者把小文件拼成大文件,大文件存在HDFS,然后把對(duì)應(yīng)的元信息存在HBase里。

上面的變通方法能改善小文件的存儲(chǔ)問(wèn)題,但由于遠(yuǎn)離了 Hadoop 本身的設(shè)計(jì)目標(biāo),所以還是會(huì)被其他問(wèn)題所限制。除小文件之外,早期Hadoop對(duì)于在線應(yīng)用的支持也是遠(yuǎn)遠(yuǎn)不足的,比如數(shù)據(jù)遷移時(shí)會(huì)有可用性問(wèn)題;HBase的數(shù)據(jù)在數(shù)據(jù)片切分和合并時(shí)也有可用性問(wèn)題;NameNode 更改時(shí)主從是異步更改的,在主節(jié)點(diǎn)出故障時(shí)甚至有丟失數(shù)據(jù)的風(fēng)險(xiǎn)。

Hadoop 整個(gè)生態(tài),由于自身的設(shè)計(jì)目標(biāo)問(wèn)題,所以很少有人用它來(lái)替代對(duì)象存儲(chǔ),反而是對(duì)象存儲(chǔ)本身在逐步考慮支持 HDFS 協(xié)議,簡(jiǎn)化Hadoop生態(tài)的存儲(chǔ)形態(tài)。

圖片存儲(chǔ): Mogilefs, GridFS, FastDFS

從Web 1.0 時(shí)代開(kāi)始圖片存儲(chǔ)的問(wèn)題就已經(jīng)存在了,內(nèi)容網(wǎng)站需要圖片、論壇/BBS需要支持附件。而這些存儲(chǔ)問(wèn)題的最早方案就是用服務(wù)器的文件系統(tǒng)來(lái)直接存儲(chǔ),再加上合理的備份機(jī)制來(lái)防止文件丟失。

隨著互聯(lián)網(wǎng)的進(jìn)一步發(fā)展,網(wǎng)站圖片等富媒體的容量快速?gòu)腡B級(jí)增加到PB甚至幾十PB的級(jí)別。在這種情況下,傳統(tǒng)的圖片存儲(chǔ)方式,不管是可用性、修復(fù)成本、還是管理復(fù)雜度等問(wèn)題都無(wú)法很好地得到解決。

MogileFS

MogileFS 算是第一個(gè)被廣泛使用的圖片存儲(chǔ)系統(tǒng),曾有報(bào)道稱豆瓣、大眾點(diǎn)評(píng)、花瓣等網(wǎng)站都曾經(jīng)用過(guò) MogileFS 來(lái)存儲(chǔ)自己的圖片。但MogileFS 的性能受制于核心數(shù)據(jù)庫(kù),所以很快又出現(xiàn)了 FastDFS 這類的存儲(chǔ)系統(tǒng),把大量的元信息存儲(chǔ)在圖片的key(也可以認(rèn)為是URL)中,大幅度降低了對(duì)中心數(shù)據(jù)庫(kù)的壓力。
![在這里插入圖片描述](

)

GridFS

在圖片存儲(chǔ)領(lǐng)域有一個(gè)不太成功但卻值得一提的軟件:GridFS。隨著4square等網(wǎng)站的崛起,用于支撐這類網(wǎng)站的MongoDB數(shù)據(jù)庫(kù)也大紅大紫。MongoDB提供了一個(gè)GridFS,本意是用來(lái)解決少量大于數(shù)據(jù)庫(kù)限制的文檔存儲(chǔ)問(wèn)題,結(jié)果卻有不少人用它來(lái)解決圖片存儲(chǔ)的問(wèn)題。

這一做法在低壓力下還算可用,但在壓力稍高的情況下時(shí),就會(huì)遇到主從同步速率不足導(dǎo)致主從同步失敗,以及在分布式系統(tǒng)中寫(xiě)入壓力嚴(yán)重不均等,高壓力下自動(dòng)擴(kuò)容困難等問(wèn)題。MongoDB本身的目標(biāo)不在于提供文件存儲(chǔ),所以對(duì) GridFS 的這些問(wèn)題并不在意。只不過(guò)很多網(wǎng)站因?yàn)檫x型錯(cuò)誤,在發(fā)展道路上走了不必要的彎路。

圖片存儲(chǔ)引擎中,mogilefs有嚴(yán)重的性能瓶頸,F(xiàn)astDFS 又無(wú)法指定 key 來(lái)存儲(chǔ),再加上大量的互聯(lián)網(wǎng)應(yīng)用,已經(jīng)能很好地實(shí)現(xiàn)控制流與數(shù)據(jù)流分離,即所有圖片等富媒體的上傳下載直接走云上的對(duì)象存儲(chǔ)服務(wù),而控制流的部分繼續(xù)用自建IDC或者云虛擬機(jī),用對(duì)象存儲(chǔ)的上傳簽名機(jī)制來(lái)控制權(quán)限,利用回調(diào)機(jī)制來(lái)做控制面和數(shù)據(jù)面的互動(dòng)。在這種情況下,對(duì)開(kāi)源的存儲(chǔ)軟件需求就會(huì)越來(lái)越低。所以最近幾年盡管數(shù)據(jù)存儲(chǔ)量劇增,但在開(kāi)源存儲(chǔ)上也少有新的軟件出現(xiàn),選擇自建存儲(chǔ)系統(tǒng)的公司比例也越來(lái)越低。

小結(jié):

在對(duì)象存儲(chǔ)大規(guī)模普及之前,大量的數(shù)據(jù)存儲(chǔ)和處理就已經(jīng)存在。但這些方案大都專注于解決其中一類問(wèn)題,缺少足夠的普適性。對(duì)象存儲(chǔ)出現(xiàn)后,很多解決方案已經(jīng)在向?qū)ο蟠鎯?chǔ)移植或者靠攏,那么為什么對(duì)象存儲(chǔ)能有這么大的吸引力?對(duì)象存儲(chǔ)的優(yōu)勢(shì)究竟在哪兒?如何用好對(duì)象存儲(chǔ)呢?

我們下期文章再詳細(xì)解讀!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25486.html

相關(guān)文章

  • 軟件服務(wù)對(duì)比分析——對(duì)象存儲(chǔ)發(fā)展歷程(下)

    摘要:導(dǎo)語(yǔ)在從軟件到服務(wù)對(duì)象存儲(chǔ)的發(fā)展歷程上中,我們和大家在對(duì)象存儲(chǔ)大規(guī)模普及之前,大量的數(shù)據(jù)存儲(chǔ)和處理是怎么實(shí)現(xiàn)的。推薦閱讀從軟件到服務(wù)對(duì)象存儲(chǔ)的發(fā)展歷程上免費(fèi)試用點(diǎn)擊免費(fèi)試用免費(fèi)領(lǐng)取京東云對(duì)象存儲(chǔ)額度 導(dǎo)語(yǔ) 在《從軟件到服務(wù)——【對(duì)象存儲(chǔ)】的發(fā)展歷程(上)》中,我們和大家在對(duì)象存儲(chǔ)大規(guī)模普及之前,大量的數(shù)據(jù)存儲(chǔ)和處理是怎么實(shí)現(xiàn)的。但這些方案大都專注于解決其中一類問(wèn)題,缺少足夠的普適性。那...

    KnewOne 評(píng)論0 收藏0
  • 大型分布式網(wǎng)站思考(一):大型網(wǎng)站發(fā)展歷程

    摘要:使用反向代理和加速網(wǎng)站響應(yīng)在性能權(quán)威指南中有講到,網(wǎng)站性能的瓶頸,大部分時(shí)間都浪費(fèi)在的握手和傳輸上。因此可以通過(guò)和反向代理的方式來(lái)加快響應(yīng)。分布式數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)拆分的最后手段,只用在單表數(shù)據(jù)規(guī)模特別龐大的時(shí)候才使用。 前幾天跟一個(gè)朋友聊了一些關(guān)于網(wǎng)站緩存分布式的一些東西,發(fā)現(xiàn)自己的知識(shí)還是太過(guò)貧瘠。理論+協(xié)議,這是現(xiàn)在我亟待加強(qiáng)的。這個(gè)周末買(mǎi)了兩本關(guān)于分布式網(wǎng)站的書(shū),本著好記性不如爛筆...

    NikoManiac 評(píng)論0 收藏0
  • 進(jìn)階Java架構(gòu)師必看15本書(shū)

    摘要:阿里巴巴的共享服務(wù)理念以及企業(yè)級(jí)互聯(lián)網(wǎng)架構(gòu)建設(shè)的思路,給這些企業(yè)帶來(lái)了不少新的思路,這也是我最終決定寫(xiě)這本書(shū)的最主要原因。盡在雙阿里巴巴技術(shù)演進(jìn)與超越是迄今唯一由阿里巴巴集團(tuán)官方出品全面闡述雙八年以來(lái)在技術(shù)和商業(yè)上演進(jìn)和創(chuàng)新歷程的書(shū)籍。 showImg(https://segmentfault.com/img/remote/1460000015386860); 1、大型網(wǎng)站技術(shù)架構(gòu):核...

    Julylovin 評(píng)論0 收藏0
  • Java 應(yīng)用一般架構(gòu)

    摘要:服務(wù)提供方對(duì)外發(fā)布服務(wù),服務(wù)需求方調(diào)用服務(wù)提供方所發(fā)布的服務(wù)。應(yīng)用服務(wù)器通過(guò)統(tǒng)一數(shù)據(jù)訪問(wèn)模塊訪問(wèn)各種數(shù)據(jù),減輕應(yīng)用程序管理諸多數(shù)據(jù)源的麻煩。 原文地址:https://blog.coding.net/blog/General-architecture-for-Java-applications 當(dāng)我們架設(shè)一個(gè)系統(tǒng)的時(shí)候通常需要考慮到如何與其他系統(tǒng)交互,所以我們首先需要知道各種系統(tǒng)之間是...

    sunnyxd 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<