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

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

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

[[194725]]

設計思想

為了解決分布式數據庫下,復雜的 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,大家可以對比來理解 ; 為了方便解釋查詢操作, 首先來說明階段樹和階段的結構,如下圖所示:

階段樹

階段

查詢步驟

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

將輸入 SQL 經過詞法、語法、語義分析,集合表結構信息和數據分布信息,生成包含多個階段(簡稱 stage)的執行計劃,這些階段具有一定的依賴關系,形成多輸入單輸出的任務樹。

每個階段包括兩種 SQL,稱為 mapsql 和 reducesql,另外每個階段包括三個操作,map、數據洗牌和 reduce;map 和 reduce 分別執行 mapsql 和 reducesql。

先在不同的數據庫節點中執行 map 操作,map 操作執行 mapsql,它的輸入是每個數據庫節點上的表內部的數據,輸出根據某個字段按照一定的規則進行分割,放到不同的結果集中,結果集作為數據洗牌的輸入。

然后執行數據洗牌的過程,將不同結果集拷貝到不同的將要執行 reduce 的數據庫節點上。

在不同的數據庫節點中執行 reduce 操作,reduce 操作執行 reducesql;

***返回結果。

例子

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

均衡策略

舉例說明均衡策略,基本信息如下:表名字: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. 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. from tab_user_info t1 join tab_login_info t2 
  3. on (t1.u_id=t2.u_id) 

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

與已有系統的區別和優點

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

基于以上,可以把線上系統(主系統)和線下的數據分析挖掘(從系統)做成統一的方案, 參見應用架構圖。

應用場景

***列舉一些應用場景

責任編輯:武曉燕 來源: 運維派
相關推薦

2017-07-20 13:17:35

大數據數據庫SQL計算

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

2021-10-26 00:33:00

分布式數據庫系統

2024-03-15 07:33:02

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

2023-04-26 06:56:31

分布式數據庫偽需求

2012-09-29 13:18:23

分布式數據庫Google Span
點贊
收藏

51CTO技術棧公眾號

91日韩精品一区| 亚洲第一黄网| 欧美一区二区黄| 99在线免费视频观看| 蜜桃视频在线免费| 激情综合色丁香一区二区| 国内精品久久久久久| 西西444www无码大胆| 美女精品久久| 一本久久a久久精品亚洲| 中文字幕不卡每日更新1区2区| 亚洲国产福利视频| 日韩一区欧美二区| 亚洲91精品在线| 亚洲激情图片网| 日本中文字幕在线一区| 在线播放一区二区三区| 国产第一页视频| 色yeye免费人成网站在线观看| 国产日韩精品一区二区三区| 成人动漫视频在线观看完整版| 久久久久久亚洲av无码专区| 国内精品久久久久国产盗摄免费观看完整版 | 日韩精品丝袜在线| 亚洲综合在线一区二区| 成人国产精品一区二区免费麻豆| 亚洲成a人v欧美综合天堂| 欧美日韩一级在线| 二区在线视频| 久久亚洲一区二区三区四区| 国产高清精品一区二区| 国产精品国产一区二区三区四区| 老司机精品久久| 97精品久久久中文字幕免费| 九九九在线视频| 忘忧草精品久久久久久久高清| 最近2019免费中文字幕视频三| www.久久国产| 精品国产一区二区三区不卡蜜臂| 日韩一级二级三级| av噜噜在线观看| 亚洲男男av| 欧美人妖巨大在线| 中文字幕亚洲乱码| 九九热这里有精品| 欧美色国产精品| 天天操天天爱天天爽| 国产 日韩 欧美一区| 色老汉一区二区三区| 免费日韩视频在线观看| 亚洲性色av| 欧美性色视频在线| 欧美少妇性生活视频| 91精品韩国| 欧美日韩午夜影院| 午夜一区二区视频| 欧美2区3区4区| 亚洲精品在线三区| 免费观看一级一片| 国产不卡av一区二区| 伊人亚洲福利一区二区三区| 亚洲不卡的av| 最新欧美人z0oozo0| 欧美黑人巨大xxx极品| 国产无套内射又大又猛又粗又爽| 99成人免费视频| 日韩美女视频中文字幕| 瑟瑟视频在线免费观看| 久久99精品久久久久久国产越南| 91热精品视频| 色婷婷av一区二区三| 久久综合精品国产一区二区三区| 美媛馆国产精品一区二区| 国产中文在线观看| 国产精品传媒入口麻豆| 蜜臀在线免费观看| 国产传媒在线观看| 在线免费观看成人短视频| 在线免费av播放| 久久丁香四色| 亚洲精品一区二区在线| 网站永久看片免费| 亚洲黄色av| 国产精品久久久久久亚洲调教 | 视频一区二区在线| 国产精品扒开做爽爽爽的视频| 亚洲一区在线观看视频| 免费av网址在线| 激情综合五月| 亚洲精品日韩久久久| 日韩av手机在线免费观看| 亚洲美女网站| 91久久综合亚洲鲁鲁五月天| 视频一区 中文字幕| 国产精品久久久久久亚洲伦| 国产九色porny| 免费视频观看成人| 亚洲国产成人一区| 久久成人小视频| 国产欧美日韩一区二区三区在线| 91精品国产自产在线观看永久| 丰满熟妇乱又伦| 中日韩免费视频中文字幕| www.九色.com| 四虎精品一区二区免费| 国产视频精品xxxx| 久久久久免费看| 麻豆精品一区二区综合av| 精品乱码一区二区三区| av免费在线免费| 欧美日韩亚洲综合在线| 老司机福利av| 亚洲东热激情| 2014国产精品| 老司机午夜在线| 色94色欧美sute亚洲13| 国产精九九网站漫画| 婷婷六月综合| 国产精品第2页| 九九热视频在线观看| 亚洲国产精品一区二区www| 亚洲午夜精品一区| 日韩成人影院| 国产精品国语对白| 六十路在线观看| 午夜欧美在线一二页| 制服.丝袜.亚洲.中文.综合懂| 成人午夜av| 国产99久久精品一区二区永久免费 | 久久精品国产理论片免费| 欧洲成人综合网| 日韩一卡二卡三卡四卡| 国产3级在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 日本一区二区三区视频在线观看| 欧美aa一级| 亚洲精品电影网在线观看| 免费三片在线播放| 高清在线观看日韩| 成人免费a级片| av不卡一区二区| 韩剧1988在线观看免费完整版 | 亚洲欧美精品中文字幕在线| 亚洲 欧美 视频| av成人免费在线观看| 九一国产精品视频| 欧美性生活一级片| 欧美性受xxx| 久久久久久久久亚洲精品| 精品国产乱码久久久久久虫虫漫画 | 在线播放精品一区二区三区| 最近中文字幕在线观看| 欧美国产国产综合| 亚洲一级片av| 亚洲成人直播| 欧美裸体网站| 成人国产网站| 久久av中文字幕| 国产黄色片网站| 亚洲成人免费在线观看| 亚洲国产欧美视频| 久久久久久9| 亚洲人成人77777线观看| 日韩成人在线电影| 久久91精品国产91久久跳| 理论片中文字幕| 日韩欧美在线观看视频| 国产精品视频在| 国产麻豆日韩欧美久久| 精品国产一区三区| 深夜福利久久| 亚洲在线免费观看| 中文在线аv在线| 在线播放日韩精品| 亚洲h视频在线观看| 大伊人狠狠躁夜夜躁av一区| 69xxx免费| 国产成人av电影免费在线观看| www在线观看免费| 成人在线国产| 成人综合电影| 国产成人午夜性a一级毛片| 欧美乱大交xxxxx另类电影| 性xxxx视频| 91.com视频| 久久艹免费视频| 中文字幕中文乱码欧美一区二区| 波多野结衣中文字幕在线播放| 国产亚洲在线观看| 在线电影看在线一区二区三区| 波多野结衣一区二区三区免费视频| 日韩免费在线观看视频| 91蜜桃在线视频| 国产亚洲一区精品| 免费国产黄色片| 欧美二区在线观看| 久久久久久91亚洲精品中文字幕| 中文字幕在线不卡| 黄色a一级视频| 国产美女精品一区二区三区| 黄色高清无遮挡| 黄色精品网站| 一区二区三区|亚洲午夜| 欧美日韩一区二区三区不卡视频| 成人黄色在线观看| 97久久香蕉国产线看观看| 欧美高清videos高潮hd| 成年人视频网站在线| 亚洲激情在线观看视频免费| 国产精品一区二区黑人巨大| 色婷婷精品久久二区二区蜜臂av| 精品无码m3u8在线观看| 亚洲视频精选在线| 欧美福利在线视频| 国产亚洲欧美日韩日本| 国产一级伦理片| 国产aⅴ精品一区二区三区色成熟| 精品久久久久久中文字幕2017| 一区在线视频| 男女啪啪免费观看| 99久久亚洲精品蜜臀| 色播亚洲婷婷| 国产一区二区三区四区| 精品日本一区二区| 国产精品视频3p| 鬼打鬼之黄金道士1992林正英| 日韩一级特黄| 国产欧美在线观看| 久久久加勒比| 国产精品视频自在线| 高清av一区| 国产精品久久久久久av| 九九热线视频只有这里最精品| 98精品国产自产在线观看| 久久不射影院| 久久久久久久久久久久av| 超碰个人在线| 久久6精品影院| 亚洲综合伊人久久大杳蕉| 欧美另类第一页| 色老头在线观看| 欧美大片在线看| 香蕉成人app免费看片| zzjj国产精品一区二区| 免费av网站在线观看| 久久资源免费视频| 激情在线视频播放| 久久免费成人精品视频| 国产调教在线| 欧美一级成年大片在线观看| 中文一区一区三区高中清不卡免费| 欧美亚洲免费电影| 影视一区二区三区| 国产美女久久精品| 日韩五码电影| 国产伦精品一区二区三| 久久久久久毛片免费看 | 国产伦精品一区二区三区妓女下载| 国产成人在线免费| 中文字幕在线视频播放| 91蜜桃网址入口| 日韩黄色中文字幕| 亚洲欧美日韩国产成人精品影院 | 国产欧美激情| 激情婷婷综合网| 麻豆91在线播放| 成年人看片网站| 99re热这里只有精品免费视频| 精品成人av一区二区三区| 中文av一区二区| 久草视频中文在线| 欧美日韩在线免费观看| 中国女人一级一次看片| 日韩三级在线观看| 四虎成人免费在线| 久久精品99无色码中文字幕| 暧暧视频在线免费观看| 国产aⅴ夜夜欢一区二区三区| 久久天天久久| 狠狠色狠狠色综合人人| 日本大胆欧美| 国产亚洲黄色片| 久久国产日韩欧美精品| 中文字幕天堂av| 中文字幕国产精品一区二区| 欧美日韩精品一区二区三区视频播放 | 亚洲小视频在线| 1769免费视频在线观看| 青草成人免费视频| 蜜桃在线一区| 日本成人三级| 亚洲视频福利| 色www免费视频| 99re在线精品| 波多野结衣亚洲一区二区| 色天天综合色天天久久| www日本高清| 最近2019中文字幕在线高清| brazzers在线观看| 国产视频999| 米奇777超碰欧美日韩亚洲| 大地资源网在线观看免费官网| 国产精品亚洲欧美| 久久久久久无码精品人妻一区二区| 久久久久久久久久久电影| 免费在线黄色片| 91麻豆精品国产无毒不卡在线观看 | 天堂资源在线播放| 91精品在线免费| av色图一区| 日本91av在线播放| 欧美电影在线观看免费| 国内少妇毛片视频| 国产美女精品人人做人人爽| 毛片aaaaaa| 色婷婷精品久久二区二区蜜臀av | 国产精品午夜av| 日本xxxxx18| 精品一区二区三区日韩| 在线观看免费小视频| 欧美日韩中文字幕综合视频| 日韩一区免费视频| 欧美日本中文字幕| 国产不卡精品在线| 亚洲图色在线| 青青草97国产精品免费观看无弹窗版| 少妇户外露出[11p]| 一区二区高清在线| 精品人妻一区二区三区四区不卡| 日韩中文在线中文网在线观看| 亚洲日本在线观看视频| 奇米影视首页 狠狠色丁香婷婷久久综合| 日韩午夜av在线| 超碰caoprom| 午夜久久久久久电影| 国产成人三级在线观看视频| 欧美极品少妇xxxxx| 欧美.com| 波多野结衣综合网| 97se亚洲国产综合在线| 人妻 日韩精品 中文字幕| 亚洲免费高清视频| 色尼玛亚洲综合影院| 日本一区二区免费看| 日韩成人免费电影| 日本激情视频一区二区三区| 欧美二区三区91| av在线免费网站| 国产高清不卡av| 亚洲日产国产精品| 大又大又粗又硬又爽少妇毛片| 欧美性xxxxxxxxx| 成人在线高清视频| 国产欧美中文字幕| 中文乱码免费一区二区三区下载| 日本高清免费在线视频| 一区二区日韩电影| 性xxxx视频播放免费| 国产精品第一区| 999国产精品| 免费在线观看日韩av| 精品久久久久久久久久久久久| 欧美日韩影视| 国产欧美一区二区三区久久 | 国产肥臀一区二区福利视频| 久久精品视频一区二区| 亚洲综合精品在线| 久久久精品2019中文字幕神马| 欧美影院精品| 91传媒久久久| 亚洲欧美在线高清| www.五月婷婷| 国产成人高清激情视频在线观看 | 91视视频在线观看入口直接观看www | 官网99热精品| 日产国产欧美视频一区精品| 日韩精品123区| 精品偷拍各种wc美女嘘嘘| 精品三级在线| 国产午夜福利在线播放| 1024国产精品| 日本亚洲一区| 91免费版黄色| 爽好多水快深点欧美视频| 麻豆天美蜜桃91| 日韩电影大全免费观看2023年上 | 亚洲欧美视频| 日本黄色片免费观看| 日韩电影中文字幕| 国产精品777777在线播放| 亚欧无线一线二线三线区别| 中文字幕一区二| 激情在线视频| 国产精品推荐精品| 久久精品国产亚洲高清剧情介绍 | 欧美精品一区二区三区四区| 亚洲天堂1区| 激情五月宗合网| 亚洲女性喷水在线观看一区| 日本中文字幕电影在线观看|