海量處理與數(shù)據(jù)分析NoSQL數(shù)據(jù)庫.ppt_第1頁
海量處理與數(shù)據(jù)分析NoSQL數(shù)據(jù)庫.ppt_第2頁
海量處理與數(shù)據(jù)分析NoSQL數(shù)據(jù)庫.ppt_第3頁
海量處理與數(shù)據(jù)分析NoSQL數(shù)據(jù)庫.ppt_第4頁
海量處理與數(shù)據(jù)分析NoSQL數(shù)據(jù)庫.ppt_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

一種支持實時復(fù)雜查詢和分析的NoSQL系統(tǒng),題 綱,系統(tǒng)需求與現(xiàn)有方案 技術(shù)方案 應(yīng)用案例,系統(tǒng)需求概述,數(shù)據(jù)及系統(tǒng)特點 結(jié)構(gòu)化:每條記錄包含10個字段左右,每條記錄的大小大約是幾百字節(jié) 數(shù)據(jù)量巨大:達(dá)到千億級以上,達(dá)到PB級 加載速度快:達(dá)到百萬條/s的規(guī)模 系統(tǒng)規(guī)模:可以擴(kuò)展到上千個節(jié)點,對數(shù)據(jù)的訪問需求 提供SQL訪問接口 支持大規(guī)模結(jié)果集:達(dá)到千萬條規(guī)模 支持按多列的實時查詢(秒級) 支持多列之間的邏輯比較關(guān)系,例如AND、OR、NOT等 支持多列之間的的算術(shù)比較關(guān)系,例如=、等 支持統(tǒng)計、聚合、分組、排序等操作(秒級) ORDER BY ASC (DESC),GROUP BY, TOP, LIMIT SUM,COUNT,AVG,MAX,MIN 數(shù)據(jù)不更新,但需要對數(shù)據(jù)批量刪除,系統(tǒng)需求概述,現(xiàn)有方案(1)關(guān)系數(shù)據(jù)庫,單機(jī)數(shù)據(jù)庫結(jié)構(gòu),Oracle RAC,關(guān)系型數(shù)據(jù)庫都主要關(guān)注了CA,即一致性和可用性 性能、可擴(kuò)展性上都比較差 無法滿足可擴(kuò)展性和性能的要求,現(xiàn)有方案(2)關(guān)系數(shù)據(jù)庫集群,Parallel DBMS,數(shù)據(jù)分片(sharding)或者功能分區(qū) 將數(shù)據(jù)按照不同的策略進(jìn)行劃分:功能、字段值范圍、HASH等 優(yōu)點:能夠有效的解決可擴(kuò)展性的問題 缺點:shard的擴(kuò)容比較復(fù)雜 ;聯(lián)合多個shard的表數(shù)據(jù)查詢復(fù)雜。,NoSQL(非關(guān)系型) NoSQL No SQL,而是No Relationship,Not Only SQL 系統(tǒng)特點 可以處理超大規(guī)模的數(shù)據(jù),可支持到千億規(guī)模 Sharing-Noting架構(gòu),可擴(kuò)展性強(qiáng) 數(shù)據(jù)加載速度快,并可隨節(jié)點個數(shù)線性增長,現(xiàn)有方案(3)-NoSQL方案,根據(jù)特定應(yīng)用場景的需要設(shè)計開發(fā)了很多NoSQL系統(tǒng) 分布式KV型:例如:Dynamo,PNUTS、Flare CF型: 例如:Bigtable,Cassandra和Hbase。 文檔型:例如:MongoDB, coutchDB,現(xiàn)有方案(3)-NoSQL方案,現(xiàn)有方案(3)-NoSQL方案,現(xiàn)有No-SQL數(shù)據(jù)管理系統(tǒng)檢索能力差 K/V型:僅支持基于Key的查詢,無法做多關(guān)鍵字查詢以及根據(jù)Value的復(fù)雜查詢 Column-Based型:擴(kuò)展了KV數(shù)據(jù)模型的表述能力,但是僅支持關(guān)鍵字查詢,時間區(qū)間查詢,不支持針對屬性的復(fù)雜查詢以及統(tǒng)計、分析等操作,KV型NoSQL數(shù)據(jù)庫一般采用CHash策略 基于CHash實現(xiàn)組員管理、數(shù)據(jù)分布、副本容錯等 容易實現(xiàn)精確查詢,但是無法支持區(qū)間查詢,現(xiàn)有方案(3)-No-SQL.KV,現(xiàn)有方案(3)-No-SQL.CF,數(shù)據(jù)采用列存,以Region為單位節(jié)點間分布存儲 基于Region建立三層索引,Root節(jié)點保存在Master上,現(xiàn)有方案(4)Hadoop+MR+HIVE,Hbase、Pig、Hive:提供結(jié)構(gòu)化數(shù)據(jù)的存儲、查詢、分析技術(shù),MapReduce:提供可靠的分布計算方法,HDFS:提供統(tǒng)一視圖的分布式存儲環(huán)境,面向非實時的分析型應(yīng)用 速度慢,無法滿足實時性的要求,現(xiàn)有方案分析,PDBMS、No-SQL數(shù)據(jù)庫、Hadoop局限性分析!,現(xiàn)有方案分析,檢索模式,有序表,數(shù)據(jù)規(guī)模,低,高,簡單,復(fù)雜,關(guān)系數(shù)據(jù)庫,KV數(shù)據(jù)庫,目標(biāo)領(lǐng)域,No-SQL,改善傳統(tǒng)數(shù)據(jù)庫的可擴(kuò)展性差,并發(fā)性差的問題 解決NoSQL數(shù)據(jù)的檢索能力差的問題,增加多列查詢、統(tǒng)計排序等功能,系統(tǒng)設(shè)計目標(biāo),系統(tǒng)規(guī)模:萬億條 最終一致性 支持更豐富的SQL查詢,題 綱,系統(tǒng)需求與現(xiàn)有方案 技術(shù)方案 應(yīng)用案例,系統(tǒng)物理架構(gòu),負(fù)責(zé)對集群中各節(jié)點進(jìn)行管理和協(xié)調(diào)功能,負(fù)責(zé)對全局信息、節(jié)點狀態(tài)信息的管理,負(fù)責(zé)數(shù)據(jù)索引建立、數(shù)據(jù)存儲、數(shù)據(jù)檢索分析等計算功能以及數(shù)據(jù)I/O功能。,索引結(jié)構(gòu),分布式Hash表 隨機(jī)讀,不支持范圍查詢 實例:Tair,Memcache,Dynamo,Cassandra 分布式B+ Tree 隨機(jī)讀和順序掃描,支持范圍查詢; 順序劃分不均勻,需要葉子節(jié)點分裂合并 實例:Bigtable & HBase,Google Megastore,索引結(jié)構(gòu),系統(tǒng)采用全局索引+局部索引機(jī)制 全局索引:分布式B+樹結(jié)構(gòu),支持對目標(biāo)數(shù)據(jù)的快速定位 局部索引:保存在每個node內(nèi)部,支持復(fù)雜的查詢和統(tǒng)計,全局的分布式 B+樹,Datanode,shard,shard,Datanode,Datanode,局部索引,存儲及I/O方式,列存儲 每個Shard由一個或者多個Store File組成,每個store File保存一個列 I/O并行 將數(shù)據(jù)分配到Data Node的多塊磁盤上; 數(shù)據(jù)I/O時并行從多塊磁盤訪問; 實現(xiàn)多塊磁盤IOPS和帶寬的聚合。,分布式查詢流程,查詢條件,Query Plan,shardtoNodeList,Bloom Filter,結(jié)果集,Master集群,Datanode集群,分級、并行檢索機(jī)制,二級并發(fā)與匯總,一級并發(fā)與匯總,分布式查詢流程,Datanode獨立接收查詢規(guī)劃樹 根據(jù)語法樹葉節(jié)點的屬性值檢索局部索引 根據(jù)語法樹內(nèi)節(jié)點合并、過濾規(guī)則,生成局部結(jié)果集,SELECT * FROM TABLE WHERE (DOMAIN=AND NOT VALUE =)OR(DOMAIN = www.google.ak TO l)AND NOT DOMAIN=*;,分布式查詢規(guī)劃查詢規(guī)劃,投影與選擇:,shard :select DOMAIN,VALUE :where DOMAIN=and TYPE=A 在Datanode上,針對每個shard并發(fā)處執(zhí)行 分組與排序:Order By,Group BYdatanode+client 在Datanode上,第二級匯總處執(zhí)行 在Client一級級處匯總多Datanode結(jié)果,做最后的排序、分組 聚合函數(shù)client 在Client第一級匯總處完成,匯總每個Datanode返回的結(jié)果集后,進(jìn)行分組與排序,執(zhí)行具體的聚合函數(shù),再運行排序與topk處理,系統(tǒng)擴(kuò)展性分析,存儲規(guī)模分析 系統(tǒng)采用share-nothing結(jié)構(gòu),增加存儲節(jié)點,可以增加集群的計算能力并線性擴(kuò)展存儲空間 讀寫完全并行化,讀,寫,讀,寫,系統(tǒng)擴(kuò)展性分析,加載能力分析 在所有Datanode上加載數(shù)據(jù),系統(tǒng)加載效率可以線性提升 檢索效率分析 在二級并發(fā)處會線性提高檢索效率 數(shù)據(jù)規(guī)模一定,在僅有選擇,投影檢索條件時,檢索效率會隨著存儲節(jié)點的增加而線性增加,系統(tǒng)可靠性分析,元數(shù)據(jù)管理集群化,防止單點失效問題 元數(shù)據(jù)信息存儲在zookeeper集群和DataNode集群上,具備數(shù)據(jù)容錯功能,在線數(shù)據(jù)恢復(fù),提供集群高可用性服務(wù) Master點不存儲元數(shù)據(jù)信息,可實現(xiàn)快速失效切換 引入commit-log,提供記錄級別的原子操作 防止內(nèi)存數(shù)據(jù)的掉電丟失 以記錄為單位,提供前滾或回滾操作,保證記錄寫操作的原子性 引入副本容錯機(jī)制 支持多副本 采用差量壓縮技術(shù),提高存儲效率 無單點失效問題,系統(tǒng)功能概述查詢方法,對外提供在線檢索和離線檢索兩類查詢方法 在線檢索 通過SQL-LIKE語言描述檢索規(guī)則,利用SHELL或API接口返回結(jié)果 可實時查詢內(nèi)存數(shù)據(jù)或歷史數(shù)據(jù) 離線檢索 用戶定義查詢?nèi)蝿?wù),定時啟動任務(wù),結(jié)果導(dǎo)入離線數(shù)據(jù)分析庫 在離線數(shù)據(jù)分析庫中查詢獲得相對復(fù)雜、耗時的數(shù)據(jù)查詢,系統(tǒng)功能概述功能匯總,(1)支持SQL語言的核心功能 支持多列查詢、分組、排序、聚合等查詢功能 提供必要的函數(shù)和數(shù)據(jù)類型定義 提供SHELL交互界面WebService接口,(6)支持并發(fā)加載功能 采用帶外傳輸機(jī)制寫入數(shù)據(jù)到Datanode Datanode并發(fā)加載方式,(2)支持分布式并發(fā)查詢功能 支持二級并發(fā)機(jī)制:節(jié)點之間和shard之間 采用分布式查詢規(guī)劃,(3)支持在線查詢與定時復(fù)雜任務(wù)查詢,(5)支持副本容錯功能,無單點失效影響,(4)全局索引+局部索引的分布索引式機(jī)制 全局索引采用分布式B+Tree 局部建立了面向多個屬性的索引 數(shù)據(jù)以shard為單位進(jìn)行列存儲

溫馨提示

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

最新文檔

評論

0/150

提交評論