精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

分布式數據庫和Hadoop都不夠好,于是我們設計了分布式SQL計算系統

大數據 分布式 分布式 Hadoop
為了解決分布式數據庫下,復雜的 SQL難以實現的問題;在有了一些分布式數據庫和 Hadoop 實際應用經驗的基礎上,對比兩者的優點和不足,加上自己的一些提煉和思考, 設計了一套綜合兩者的系統,利用兩者的優點, 補充兩者的不足。具體的說, 使用數據庫水平分割的思想實現數據存儲,使用 MapReduce的思想實現 SQL 計算。

[[197453]]

設計思想

為了解決分布式數據庫下,復雜的 SQL(如全局性的排序、分組、join、子查詢,特別是非均衡字段的這些邏輯操作)難以實現的問題;在有了一些分布式數據庫和 Hadoop 實際應用經驗的基礎上,對比兩者的優點和不足,加上自己的一些提煉和思考, 設計了一套綜合兩者的系統,利用兩者的優點, 補充兩者的不足。具體的說, 使用數據庫水平分割的思想實現數據存儲,使用 MapReduce的思想實現 SQL 計算。

這里的數據庫水平分割的意思是只分庫不分表,對于不同數量級別的表,分庫的數量可以不一樣,例如 1 億的數據量分 10 個分庫,10 億的分 50 個分庫。對于使用 MapReduce的思想實現計算 ; 對于一個需求,轉換成一個或多個有依賴關系的SQL,其中的每個SQL分解成一個或多個 MapReduce任務,每個 MapReduce任務又包含 mapsql、洗牌(shuffle)、reducesql,這個過程可以理解為類似 hive,區別是連 MapReduce任務中的 map 和 reduce 操作也是通過 SQL 實現, 而非 Hadoop 中的 map 和 reduce 操作.

這是基本的 MapReduce的思想,但是在 Hadoop 的生態圈中, ***代的 MapReduce將結果存儲于磁盤,第二代的 MapReduce根據內存使用情況將結果存儲于內存或磁盤,類比一下用數據庫來存儲,那么 MapReduce 的結果就是存儲在表中,而數據庫的緩存機制天然支持根據內存情況決定存儲在內存還是磁盤 ; 另外,Hadoop 生態圈中, 計算模型也并非一種,這里的 MapReduce的計算思想,可以用類似 spark 的 RDD 迭代計算方式來替代 ; 本系統還是基于 MapReduce來說明的。

架構

根據以上的思想, 系統的架構如下:

沒有代理節點

 

有代理節點

 

模塊說明

關于系統中的模塊,由于和絕大部分的分布式系統類似,這里僅做簡要說明:

 

兩種架構的區別

無代理節點的時候,客戶端擔負著比較大的工作,包括:發送請求、解析 SQL、生成執行計劃、申請資源、安排執行、獲取結果等;有代理節點的時候,代理節點擔負著接受請求、解析 SQL、生成執行計劃、申請資源、安排執行、返回結果給客戶端等大部分責任,另外代理節點提供支持外部協議的接口,如 mysql 的 c/s 協議,使用 mysql 的命令行可以直接連接進來執行 SQL,整個系統就像普通的 mysql server 一樣。

應用架構

實際應用環境可能是正式環境一套, 正式備份環境一套, 線下環境一套, 可以按照如下的架構進行部署。 

 

基本概念 說明

下面針對架構中的一些概念做些說明

 

增刪改操作

當插入數據的時候,根據均衡字段和均衡策略將記錄插入到對應的數據庫節點中。

當更新數據的時候,需要根據均衡策略判斷數據更新前的和更新后的數據庫節點是否變化:如果沒有變化,直接更新;如果有變化,在更新前的數據庫節點中刪除老數據,在更新后的數據庫節點中插入新數據。

當刪除數據的時候,根據均衡策略在相應的數據庫節點中刪除。

這三種變更數據的操作,只要涉及到多個節點的數據變更,都需要使用分布式事務保證一致性、原子性等事務特性。

查詢操作

查詢操作的原理類似 hive,大家可以對比來理解 ; 為了方便解釋查詢操作, 首先來說明階段樹和階段的結構,如下圖所示:

階段樹

 

階段

 

查詢步驟

結合上面的圖, 查詢操作的具體過程如下:

  1. 將輸入 SQL 經過詞法、語法、語義分析,集合表結構信息和數據分布信息,生成包含多個階段(簡稱 stage)的執行計劃,這些階段具有一定的依賴關系,形成多輸入單輸出的任務樹。
  2. 每個階段包括兩種 SQL,稱為 mapsql 和 reducesql,另外每個階段包括三個操作,map、數據洗牌和 reduce;map 和 reduce 分別執行 mapsql 和 reducesql。
  3. 先在不同的數據庫節點中執行 map 操作,map 操作執行 mapsql,它的輸入是每個數據庫節點上的表內部的數據,輸出根據某個字段按照一定的規則進行分割,放到不同的結果集中,結果集作為數據洗牌的輸入。
  4. 然后執行數據洗牌的過程,將不同結果集拷貝到不同的將要執行 reduce 的數據庫節點上。
  5. 在不同的數據庫節點中執行 reduce 操作,reduce 操作執行 reducesql;
  6. ***返回結果。

例子

由于系統核心在于存儲和計算, 下面對存儲和計算相關的概念舉例說明

均衡策略

舉例說明均衡策略,基本信息如下:表名字:tab_user_login表描述:用于存儲用戶登錄信息節點數:4,分為 0、1、2、3

 

舉例說下如下的幾種策略:

列表:以登錄省份作為均衡字段為例

 

取模 hash:按 4 取模, 以用戶 id 作為均衡字段

 

范圍: 從 0 到一億,以用戶 id 作為均衡字段

 

取模 hash 和范圍結合:先范圍,再取模, 以用戶 id 作為均衡字段

 

查詢

舉例說明查詢操作,基本信息如下:

用戶表 tab_user_info 如下:

 

用戶登錄表 tab_login_info 的結構如下:

大數據 

排序

排序的關鍵點是節點之間存在大小關系,大的 key 或者 key 范圍放到節點 id 大的節點上,然后在節點上排序,獲取數據的時候根據節點 id 大小依次獲取。

以如下 sql 為例,某一注冊時間范圍內的用戶信息,按照年齡和 id 排序:

  1. select * from tab_user_info t where u_reg_dt>=? and u_reg_dt<=? order by u_id 

執行計劃可能為:

Map:

  1. select * from tab_user_info t where u_reg_dt>=? and u_reg_dt<=? order by u_id 

Shuffle:

執行完成之后,這種情況下由于需要按照 u_id 進行數據洗牌,所以各個存儲節點上需要按照 u_id 進行劃分。例如有 N 個計算節點,那么按照(*** u_id- 最小 u_id)/N 平均劃分,將不同存儲節點上的同一范圍的 u_id,劃分到同一個計算節點上即可(這里的計算節點存在大小關系)。

Reduce:

  1. select * from tab_user_info t order by u_id 

分組聚合

關鍵點和排序類似,節點之間存在大小關系,大的 key 或者 key 范圍放到節點 id 大的節點上,然后在節點上分組聚合,獲取數據的時候根據節點 id 大小依次獲取。

以如下 sql 為例,某一注冊時間范圍內的用戶,按照年齡分組,計算每個分組內的用戶數:

  1. select age,count(u_id) v from tab_user_info t where u_reg_dt>=? and u_reg_dt<=? group by age 

執行計劃可能為:

Map:

  1. select age,count(u_id) v from tab_user_info t where u_reg_dt>=? and u_reg_dt<=? group by age 

Shuffle:

執行完成之后,這種情況下由于需要按照 age 進行數據洗牌,考慮到 age 的唯一值比較少,所以數據洗牌可以將所有的記錄拷貝到同一個計算節點上。

Reduce:

  1. select age,sum(v) from t where group by age 

連接

首先明確 join 的字段類型為數字類型和字符串類型,其他類型如日期可以轉換為這兩種。數字類型的排序很簡單,字符串類型的數據排序需要確定規則,類似 mysql 中的 collation,比較常用的是按照 unicode 編碼順序,按照實際存儲節點的大小等;其次 join 的方式有等值 join 和非等值 join;以如下常用且比較簡單的情況為例。

以如下 sql 為例,某一注冊時間范圍內的用戶的所有登錄信息:

  1. select t1.u_id,t1.u_name,t2.login_product 
  2. from tab_user_info t1 join tab_login_info t2 
  3. on (t1.u_id=t2.u_id and t1.u_reg_dt>=? and t1.u_reg_dt<=?)  

執行計劃可能為:

Map:

由于是 join,所有的表都要進行查詢操作,并且為每張表打上自己的標簽,具體實施的時候可以加個表名字字段,在所有存儲節點上執行

  1. select u_id,u_name from tab_user_info t where u_reg_dt>=? and t1.u_reg_dt<=? 
  2.  
  3. select u_id, login_product from tab_login_info t  

Shuffle:這種情況下由于需要按照 u_id 進行數據洗牌,考慮到 u_id 的唯一值比較多,所以各個存儲節點上需要按照 u_id 進行劃分,例如有 N 個計算節點,那么按照(*** u_id- 最小 u_id)/N 平均劃分,將不同存儲節點上的同一范圍的 u_id,劃分到同一個計算節點上。

Reduce:

  1. select t1.u_id,t1.u_name,t2.login_product 
  2.  
  3. from tab_user_info t1 join tab_login_info t2 
  4.  
  5. on (t1.u_id=t2.u_id)  

子查詢

由于子查詢可以分解成具有依賴關系的不包含子查詢的 SQL,所以生成的執行計劃,就是多個 SQL 的執行計劃按照一定的依賴關系進行依次執行。

與已有系統的區別和優點

  • 相比 hdfs 來說,數據的分布是有規則的,hdfs 需要啟動之后執行命令去查詢文件具體在什么節點上;元數據的較小,記錄規則即可,管理成本較低,在啟動速度方面很快。
  • 數據是放在數據庫中的,可以很好的使用索引和數據庫本身的緩存機制,大大提高數據查詢的效率,特別是在大量數據的情況下,利用索引查詢返回少量的數據。
  • 數據可以進行刪除和修改,這在基于 hdfs 的系統中一般比較麻煩和低效。
  • 在計算方面,和 MapReduce 或者其他的分布式計算框架(如 spark)并沒有本質的區別(需要進行 shuffle)。但是由于數據的分布是有規則的,在有些地方可以做的更好,在分布式全文索引體現。
  • 由于線上系統一般使用數據庫作為最終的存儲位置,而把數據庫同步到 hdfs 中是比較麻煩的,并且對于有刪除和更新的情況,同步數據麻煩低效,速度較慢;相比之下,這個方案可以使用數據庫本身提供的鏡像復制功能來同步,基本沒有額外的麻煩和低效的工作。
  • 基于以上,可以把線上系統(主系統)和線下的數據分析挖掘(從系統)做成統一的方案, 參見應用架構圖。

應用場景

***列舉一些應用場景 

責任編輯:龐桂玉 來源: 36大數據
相關推薦

2017-06-22 08:25:27

數據庫HadoopSQL

2022-08-01 18:33:45

關系型數據庫大數據

2021-12-20 15:44:28

ShardingSph分布式數據庫開源

2023-12-05 07:30:40

KlustronBa數據庫

2020-04-14 11:14:02

PostgreSQL分布式數據庫

2011-05-19 09:18:48

分布式數據庫

2011-03-24 17:15:06

分布式數據庫系統

2022-03-10 06:36:59

分布式數據庫排序

2023-07-31 08:27:55

分布式數據庫架構

2023-07-28 07:56:45

分布式數據庫SQL

2020-06-23 09:35:13

分布式數據庫網絡

2024-09-09 09:19:57

2023-03-07 09:49:04

分布式數據庫

2012-09-19 14:09:20

Hadoop開源

2022-12-08 08:13:11

分布式數據庫CAP

2024-03-15 07:33:02

分布式數據庫索引數據結構

2023-04-26 06:56:31

分布式數據庫偽需求

2012-09-29 13:18:23

分布式數據庫Google Span

2018-05-25 13:12:10

UCloud數據庫UDDB
點贊
收藏

51CTO技術棧公眾號

丝袜在线视频| 午夜视频网站在线观看| 国产乱论精品| 在线一区二区视频| 国产对白在线播放| 亚洲三区在线观看无套内射| 美女网站色91| 国模叶桐国产精品一区| 男人的天堂官网| 中文字幕日韩在线| 91极品美女在线| 黄色一级片国产| 国产天堂素人系列在线视频| 国产一区二区按摩在线观看| 欧美在线视频免费| 日本精品人妻无码77777| 四虎永久在线观看| 美女任你摸久久| 性欧美长视频免费观看不卡| 三级黄色免费观看| 色婷婷久久久| 日韩欧美第一区| 亚洲三级视频网站| 美女的胸无遮挡在线观看| 成人欧美一区二区三区视频网页| 国产一级特黄a大片99| 在线观看国产精品入口男同| 日韩一级大片| 欧美黑人国产人伦爽爽爽| 懂色av粉嫩av浪潮av| 亚洲女色av| 夜夜爽夜夜爽精品视频| 亚洲视频欧美在线| 精品欧美不卡一区二区在线观看| 成人一级视频在线观看| 成人妇女淫片aaaa视频| 五月天中文字幕| 国产精品美女| 性欧美在线看片a免费观看| 国产真实乱在线更新| 成人羞羞在线观看网站| 亚洲精品视频中文字幕| 亚洲天堂av网站| 亚洲精品在线a| 欧美精品自拍偷拍动漫精品| 爱情岛论坛亚洲首页入口章节| 国产一级片在线| 成人av电影在线| 成人免费观看网站| 国产夫妻自拍av| 影音先锋中文字幕一区| 久热精品视频在线免费观看| 亚洲色图 激情小说| 国产精品自拍区| 亚洲欧美国产精品va在线观看| 亚洲图片综合网| 久久a爱视频| 亚洲成人在线网| 四虎精品一区二区| 国产精品天天看天天狠| 精品久久久三级丝袜| 99国产精品免费视频| 日本一区二区三区播放| 欧美大胆人体bbbb| 日本不卡视频一区| 青草久久视频| 亚洲网站在线观看| 影音先锋男人看片资源| 欧美激情国产在线| 日韩女优av电影| 91精品国产高清91久久久久久| 精品视频在线播放一区二区三区| 91精品婷婷国产综合久久性色| 一卡二卡三卡四卡五卡| 成人av影音| 日韩精品一二三四区| 国产精品一二三区在线观看| 日韩欧美午夜| 欧美国产亚洲视频| xxxx.国产| 免费成人小视频| 99久久无色码| 九色蝌蚪在线| 亚洲免费色视频| 香港三级韩国三级日本三级| 欧美性理论片在线观看片免费| 欧美日韩一二区| 先锋资源在线视频| 日韩最新在线| 日日狠狠久久偷偷四色综合免费| 国产精品久久久久久久无码| 伊人久久大香线蕉综合网蜜芽| 色综合影院在线| 久操视频免费在线观看| 久久久噜噜噜久久狠狠50岁| 国产日韩欧美一二三区| 三级视频在线看| 国产精品理论在线观看| 成人在线播放网址| 福利一区二区免费视频| 日韩精品一区在线| 精品人妻一区二区三区四区| 欧美日韩蜜桃| 国产精品成人品| 亚洲欧美综合自拍| 亚洲青色在线| 国产精品久久网| 成人午夜免费在线观看| 国产欧美日韩视频在线观看| 隔壁人妻偷人bd中字| 成人午夜亚洲| 亚洲精品福利视频| 亚洲二区在线播放| 蜜桃av综合| 好吊色欧美一区二区三区四区 | 国产精品12区| 久久国产主播精品| 色图在线观看| 欧美久久一二区| 国产特级黄色录像| 成人看片爽爽爽| xxxxx91麻豆| 亚洲无码精品一区二区三区| 成人av午夜电影| 综合网五月天| 国产精品高潮久久| 亚洲毛片在线看| 日韩久久久久久久久| 国产一区美女在线| 神马欧美一区二区| 亚洲人体影院| 亚洲精品ady| 日本少妇做爰全过程毛片| 国产高清亚洲一区| 久久99国产精品一区| 99精品在免费线偷拍| 国产视频综合在线| 免费在线不卡视频| 北岛玲一区二区三区四区| 日韩精品免费一区| 欧美中文高清| 欧美日韩成人黄色| 国产高清不卡视频| 亚洲乱码国产乱码精品精的特点 | 超碰日本道色综合久久综合| 中文字幕一区二区三区四区免费看 | 婷婷综合亚洲| 国产一区二中文字幕在线看| 91社区在线高清| 欧美天堂亚洲电影院在线播放| 免费污网站在线观看| 亚久久调教视频| 国产精品老女人精品视频| 亚洲三级中文字幕| 色婷婷av一区二区三区软件| 国产精品亚洲无码| 久久xxxx| 日韩视频专区| 欧洲精品久久久久毛片完整版| 日韩在线观看高清| 国产三级按摩推拿按摩| 一二三四社区欧美黄| 日本不卡视频一区| 久久精品在线| 亚洲毛片aa| 精品国产亚洲一区二区三区在线| 蜜臀久久99精品久久久久久宅男| 精品国产伦一区二区三| 亚洲一本大道在线| 性欧美成人播放77777| 久久字幕精品一区| 综合操久久久| 99精品中文字幕在线不卡| 欧美极品少妇xxxxⅹ裸体艺术| 蜜桃视频久久一区免费观看入口| 天天亚洲美女在线视频| 精品成人av一区二区三区| 日韩av网站免费在线| 亚洲一区在线直播| 亚洲国产视频二区| 欧美专区国产专区| 日韩在线观看www| 精品福利视频导航| 中国黄色a级片| 日本va欧美va瓶| www国产无套内射com| 日韩理论电影中文字幕| 国产精品爽黄69天堂a| 五十路在线视频| 色噜噜偷拍精品综合在线| 视频国产一区二区| 福利一区二区在线观看| 亚洲欧洲精品一区二区| 国产精品一区二区三区四区在线观看| 亚洲精品久久久久久久久久久久 | 欧美综合在线视频| 欧美被狂躁喷白浆精品| 久久久国产精品不卡| 国产欧美精品一二三| 国产偷自视频区视频一区二区| 亚洲 国产 欧美一区| 亚洲精品v亚洲精品v日韩精品| 日韩av电影手机在线| 超碰个人在线| 亚洲人成网站色ww在线| 精品人妻一区二区三区麻豆91| 日韩欧美亚洲范冰冰与中字| 538精品在线视频| 26uuu久久综合| 欧美性大战久久久久xxx| 久久电影院7| 九9re精品视频在线观看re6| 国产精品一区二区美女视频免费看 | 白白操在线视频| 成人免费av| 国产综合18久久久久久| 精品国产亚洲日本| 国产精品久久一区| 欧美a级在线观看| 欧美二区乱c黑人| 在线观看麻豆| 亚洲精品一区在线观看香蕉| 黄色成人一级片| 91精品国产色综合久久不卡蜜臀| 久操视频在线免费观看| 天天综合天天做天天综合| 欧美三级 欧美一级| 欧美国产成人在线| 国产三级国产精品| 成人丝袜视频网| 精品国产鲁一鲁一区二区三区| 日本系列欧美系列| 久草青青在线观看| 亚洲美女啪啪| 男人天堂手机在线视频| 永久91嫩草亚洲精品人人| 91视频8mav| 欧美高清你懂的| 国产精品久久精品| 在线成人视屏| 日韩在线视频一区| 国产区av在线| 亚洲欧洲黄色网| 欧美理论在线观看| 亚洲欧美日韩国产精品| 五月婷婷六月激情| 日韩成人在线播放| 天堂av在线播放| 日韩电影免费观看中文字幕| 手机在线观看免费av| 日韩视频国产视频| 精品久久在线观看| 精品捆绑美女sm三区| 丰满熟女一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 肥臀熟女一区二区三区| 亚洲国产精品字幕| 香蕉视频黄色片| 日韩国产精品亚洲а∨天堂免| 十八禁一区二区三区| 亚洲国产精品999| 亚洲欧洲视频在线观看| 亚洲欧美三级伦理| 国产精品久久久久一区二区国产 | 日本免费在线观看| 久久好看免费视频| av免费看在线| 欧美精品电影免费在线观看| 99热99re6国产在线播放| 欧美一级高清免费| 亚洲电影有码| 国产日韩av在线播放| 天堂综合在线播放| 亚洲最大的av网站| 日韩丝袜视频| 日韩精品一线二线三线| 欧美3p在线观看| 欧美视频在线第一页| 99riav1国产精品视频| 一区二区xxx| 国产乱子伦视频一区二区三区 | 懂色av一区二区夜夜嗨| 亚洲成年人在线观看| 美女一区二区三区| 亚洲三级在线视频| 久久综合久久鬼色| 欧美美女性生活视频| 一区二区三区四区在线| 1级黄色大片儿| 欧美日韩aaaaa| 人妻丰满熟妇av无码区hd| 亚洲欧美综合v| www视频在线看| 日本亚洲欧洲色| 久久久久久爱| 日韩精品久久一区二区三区| 欧美在线1区| 日本成人在线免费视频| 国产精品亚洲第一| 国产aⅴ激情无码久久久无码| 中文字幕综合网| 天堂а√在线中文在线新版| 亚洲成av人片一区二区三区| 四虎影院在线免费播放| 日韩视频免费观看高清在线视频| 狠狠v欧美ⅴ日韩v亚洲v大胸| 不卡伊人av在线播放| 91伊人久久| 国产丝袜不卡| 亚洲电影影音先锋| 二级片在线观看| 久久高清免费观看| 黄色片子免费看| 国产欧美一区二区精品忘忧草 | 嫩草香蕉在线91一二三区| 国产午夜精品视频免费不卡69堂| 超鹏97在线| 国产精品69久久久久| 超碰成人97| 一二三四中文字幕| 欧美日本一区| 色婷婷综合网站| 精久久久久久久久久久| aa片在线观看视频在线播放| 一个色在线综合| 国产裸体无遮挡| 中文字幕亚洲一区| 免费黄色在线网站| 国产成人精品国内自产拍免费看| 大奶一区二区三区| 激情视频小说图片| 久久精品国产精品青草| 精品人妻人人做人人爽夜夜爽| 欧美国产亚洲另类动漫| 毛片视频网站在线观看| 日韩你懂的电影在线观看| 黄av在线播放| 国产在线a不卡| 99成人超碰| 五月天中文字幕在线| 国产免费久久精品| 91黑人精品一区二区三区| 亚洲欧美在线一区二区| 亚洲精品88| 麻豆成人av| 国产精品嫩草99av在线| 久久国产精品影院| 欧美日韩精品二区| 成人免费一区二区三区| 亚洲欧美日韩中文在线| 91精品影视| 色综合久久88色综合天天提莫| 久久久久久夜| 亚洲一二三四视频| 欧美日韩国产综合草草| 日本中文字幕在线播放| 91精品久久久久| 女生裸体视频一区二区三区| 亚欧美一区二区三区| 亚洲狠狠丁香婷婷综合久久久| 国产欧美一区二区三区视频在线观看| 久久精品国产2020观看福利| 国产美女视频一区二区| 日本道在线视频| 国产91在线观看| 国产 日韩 欧美 在线| 亚洲视频在线观看免费| 欧美大片1688网站| 五月天男人天堂| 成人免费观看视频| 欧美一区二区激情视频| 亚洲一区二区福利| 欧美成a人片免费观看久久五月天| 50度灰在线观看| 久久综合色之久久综合| 波多野结衣视频观看| 久久精品国产久精国产一老狼| 亚洲**毛片| 欧美韩国日本在线| 国产精品久久一卡二卡| 亚洲av无码国产精品永久一区| 国产+人+亚洲| 精品美女久久| 毛毛毛毛毛毛毛片123| 婷婷夜色潮精品综合在线| 国产经典自拍视频在线观看| 国产在线视频欧美| 亚洲麻豆av| 永久免费观看片现看| 精品国产网站在线观看| 欧美黑人粗大| 欧美日韩激情四射| 久久精品夜夜夜夜久久| 国产男女无套免费网站| 日本精品视频在线播放| 欧美国产偷国产精品三区| 亚洲av无码一区二区三区观看 | 日av在线播放中文不卡| 久久亚洲精品中文字幕蜜潮电影| 日韩大尺度视频|