精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

www午夜视频| 风间由美久久久| 成人精品一二三区| 高清一区二区三区av| 亚洲人成7777| 久久99精品国产一区二区三区| 无码无套少妇毛多18pxxxx| 水蜜桃精品av一区二区| 亚洲第一偷拍网| 少妇一级淫免费放| www中文字幕在线观看| 久久精品一区蜜桃臀影院| 91亚洲精品在线观看| 亚洲第一在线播放| 影音先锋日韩精品| 亚洲男人天堂久| 欧美午夜精品一区二区| 日韩一区二区三区在线免费观看| 亚洲精品成人在线| 午夜精品亚洲一区二区三区嫩草 | av2014天堂网| 国产精品欧美一区二区三区不卡| 欧美午夜精品久久久久久浪潮| 亚洲第一精品区| 欧美精品a∨在线观看不卡| 国产精品99久久久久久宅男| 日韩av不卡电影| 久久久精品人妻一区二区三区四 | 中文字幕精品久久久久| ass极品水嫩小美女ass| 成人国产在线| 色综合天天在线| 国产91在线亚洲| 91caoporm在线视频| 91在线视频播放地址| 91九色对白| 中日韩av在线| 天堂一区二区在线免费观看| 韩国福利视频一区| 久久精品www人人爽人人| 91亚洲一区| 中文字幕精品一区久久久久| 久久久久久国产精品无码| 国产精品香蕉| 精品久久久久久综合日本欧美| 亚洲欧美国产中文| 影音成人av| 欧美综合一区二区三区| 欧美 国产 日本| 僵尸再翻生在线观看免费国语| 一区二区成人在线| 青青视频免费在线| 在线你懂的视频| 亚洲美女淫视频| 影音先锋成人资源网站| 国产在线观看免费麻豆| 亚洲色图欧美偷拍| 小泽玛利亚av在线| 国内小视频在线看| 亚洲妇女屁股眼交7| 精品无码国产一区二区三区av| 影音先锋中文在线视频| 亚洲精品国产精华液| 91国在线高清视频| 欧美黑人猛交的在线视频| 一区二区高清免费观看影视大全| 久久人人爽人人爽人人av| 日本aa在线| 午夜不卡av免费| 黄在线观看网站| 日本一区免费网站| 欧美日韩国产首页| 成人一区二区三区仙踪林| 大香伊人久久精品一区二区| 亚洲激情视频在线播放| 国产精品1000部啪视频| 日韩免费高清| 萌白酱国产一区二区| 久久久久久欧美精品se一二三四| 国产一区视频在线观看免费| 91黑丝高跟在线| 夜夜躁日日躁狠狠久久av| 久久国产日韩欧美精品| 懂色中文一区二区三区在线视频 | 成人深夜视频在线观看| 蜜桃久久精品乱码一区二区| 成人av一区| 亚洲男人天堂av网| 丁香六月激情婷婷| 午夜精品成人av| 91麻豆精品国产| 一边摸一边做爽的视频17国产 | 9l视频自拍9l视频自拍| 91福利区在线观看| 成人在线免费观看| 99亚洲一区二区| 日韩免费在线观看视频| 一区二区三区黄| 成人午夜在线播放| 日本欧美精品久久久| 国产人成网在线播放va免费| 午夜激情久久久| 天天干天天操天天玩| av综合网站| 中文字幕久热精品在线视频| 久久久久黄色片| 日本成人在线视频网站| 99国产超薄肉色丝袜交足的后果| 亚洲欧美日韩综合在线| 中文字幕亚洲精品在线观看 | 欧美日本高清| 偷拍日韩校园综合在线| 欧美一级视频在线| 亚洲婷婷丁香| 欧美激情免费看| 亚洲字幕av一区二区三区四区| zzijzzij亚洲日本少妇熟睡| 一区二区三区四区欧美| 在线能看的av网址| 精品欧美乱码久久久久久| 自拍偷拍你懂的| 国产精品试看| 国产精品日韩一区二区| 麻豆传媒在线免费| 在线视频你懂得一区| 国产xxxxxxxxx| 午夜精品电影| 91久久在线播放| 浮生影视网在线观看免费| 欧美日韩激情小视频| 午夜性福利视频| 亚洲综合婷婷| 国产在线不卡精品| 91在线高清| 色婷婷久久综合| 青青草成人免费视频| 欧美日本一区| 亚洲自拍偷拍一区| 精品自拍一区| 7777精品伊人久久久大香线蕉的| 美女被到爽高潮视频| 国产日韩欧美一区二区三区在线观看| 91视频免费进入| 久草中文在线观看| 在线综合视频播放| 日韩在线观看免| 六月丁香婷婷色狠狠久久| 神马影院午夜我不卡影院| 欧美二三四区| 国产一区二区三区视频在线观看| 日韩不卡在线播放| 91丨porny丨蝌蚪视频| 日韩a∨精品日韩在线观看| 成功精品影院| 高清欧美电影在线| 五月婷婷六月激情| 欧美性猛xxx| 国产精品无码午夜福利| 视频一区二区欧美| 亚洲成人精品电影在线观看| 国产黄色精品| 久久av红桃一区二区小说| a级片免费观看| 亚洲一区二区精品3399| 屁屁影院国产第一页| 亚洲制服av| 日韩一区不卡| 成人51免费| 久久久久久久久久国产| 五月婷婷六月丁香| 在线观看91精品国产入口| 国产精品麻豆一区| 国产精品夜夜嗨| 男人插女人视频在线观看| 欧亚精品一区| 国产日本欧美一区二区三区在线| 黄色精品免费看| 精品人在线二区三区| 欧美啪啪小视频| 国产精品乱人伦| 91传媒理伦片在线观看| 麻豆久久精品| 国产高清免费在线| 久久porn| 国产精品亚洲视频在线观看| 伊人222成人综合网| 日韩精品视频观看| 国产又爽又黄又嫩又猛又粗| 亚洲男女一区二区三区| 国产精品无码一区二区三| 免费欧美在线视频| 日韩亚洲欧美一区二区| 亚洲免费专区| 亚洲字幕一区二区| 中文字幕在线免费观看视频| 久久久国产精品免费| 日韩一级片免费观看| 欧美午夜精品理论片a级按摩| 成年人av电影| 久久久综合网站| 四虎国产精品永久免费观看视频| 亚洲免费影院| 日本成人在线不卡| 日韩欧美大片| 麻豆91蜜桃| 亚洲精品午夜| 国产日韩欧美视频| 五月天av在线| 欧美丰满少妇xxxx| 在线国产情侣| 亚洲三级 欧美三级| 亚洲免费成人网| 欧美日韩在线三区| 国产成人无码精品久久久久| 亚洲色图欧美激情| 卡一卡二卡三在线观看| 成人午夜大片免费观看| 黄色在线视频网| 一本色道久久综合| 国产精品视频一二三四区| 99re6这里只有精品| 久久狠狠久久综合桃花| 中文无码日韩欧| 成人黄色在线免费| 91精品国产经典在线观看| 欧美亚洲在线视频| 91吃瓜在线观看| 欧美国产激情18| 91香蕉在线观看| 久久视频免费在线播放| av国产在线观看| 亚洲人成电影网站色| 午夜福利一区二区三区| 亚洲成人免费在线视频| 亚洲av无码国产综合专区| 在线播放91灌醉迷j高跟美女| 中文字幕 欧美激情| 色综合天天综合色综合av| 久久精品无码av| 日韩欧美在线播放| www欧美在线| 色偷偷一区二区三区| 日韩精品在线免费视频| 午夜私人影院久久久久| 国产真实乱人偷精品视频| 一区二区理论电影在线观看| 欧美精品成人久久| 亚洲综合无码一区二区| 久久精品久久国产| 亚洲国产一区视频| 日韩欧美三级视频| 亚洲地区一二三色| 亚洲天堂日韩av| 日韩欧美在线视频日韩欧美在线视频 | 综合视频一区| 国产乱人伦精品一区二区| а√中文在线天堂精品| 国产日韩久久| 日韩欧美ww| 日本一区视频在线观看免费| 国产一区二区观看| 一区二区三区不卡在线| 亚洲色图二区| 久久99久久久久久| 国产一区白浆| 蜜臀视频一区二区三区| 久久99蜜桃精品| 亚洲综合中文网| 99久久99久久精品国产片果冻 | 久久久久久三级| 久久99日本精品| 成年人性生活视频| www.亚洲色图.com| 欧美大波大乳巨大乳| 中文字幕的久久| 丝袜 亚洲 另类 欧美 重口| 亚洲国产三级在线| 成人a v视频| 91精品久久久久久久91蜜桃| 亚洲精品97久久中文字幕| 日韩精品有码在线观看| 91福利在线视频| 欧美国产视频一区二区| 厕沟全景美女厕沟精品| 国产综合香蕉五月婷在线| www.爱久久| 日本精品一区二区三区高清 久久| 99tv成人| 波多野结衣50连登视频| 久久精品国产第一区二区三区| 日本中文字幕精品| 国产日韩欧美制服另类| 真实国产乱子伦对白在线| 精品久久久久久| 亚洲无码精品国产| 亚洲精品白浆高清久久久久久| 二区在线观看| 国内精品久久久久久| 成人综合网站| 精品伦理一区二区三区| 999精品在线| 丁香啪啪综合成人亚洲| 国产成人在线色| 国产一级淫片久久久片a级| 亚洲一区二区偷拍精品| 亚洲中文字幕在线一区| 日韩av一区在线观看| 黄色网页网址在线免费| 国产精品88a∨| 黄色美女久久久| 国产奶头好大揉着好爽视频| 久久不射2019中文字幕| 成人在线观看一区二区| 国产精品福利av| 免费看污视频的网站| 亚洲国产天堂网精品网站| a级毛片免费观看在线| 国产精品久久一区主播| 天堂av一区二区三区在线播放| 成人免费看片视频在线观看| 日韩一区欧美二区| 六十路息与子猛烈交尾| 亚洲综合色网站| 国产乱色精品成人免费视频| 国产亚洲精品高潮| av日韩亚洲| 久久一区二区精品| 亚洲成人在线| 特级特黄刘亦菲aaa级| 亚洲青青青在线视频| 中文字幕永久免费视频| 亚洲欧美国产高清va在线播| 超碰高清在线| 国产高清在线一区二区| 国产精品v日韩精品v欧美精品网站| 中文字幕线观看| 亚洲欧洲一区二区三区| 亚洲在线免费观看视频| xxxxx91麻豆| 999精品视频在线观看| 在线一区高清| 精品一区二区三区视频在线观看| 大胸美女被爆操| 欧美午夜影院一区| 成人av毛片| 成人国产精品一区| 2023国产精品久久久精品双| 亚洲图色中文字幕| 亚洲天堂成人网| 99国产精品99| 欧美国产日韩在线| 国内精品偷拍| 动漫av网站免费观看| 91丨porny丨中文| 波多野结衣一区二区在线| 国产一区二区三区三区在线观看| 国产69精品久久久久按摩| 亚洲va久久久噜噜噜久久狠狠| 日产国产欧美视频一区精品| 国产破处视频在线观看| 777精品伊人久久久久大香线蕉| 成人黄视频在线观看| 99中文字幕| 国产精品综合色区在线观看| 亚洲码无人客一区二区三区| 在线一区二区视频| 免费在线观看黄色网| 91在线精品观看| 99精品国产在热久久婷婷| 国产激情在线免费观看| 欧美日韩在线综合| 影音先锋男人资源在线| 久久精品欧美| 久久精品久久99精品久久| 在线免费日韩av| 亚洲精品国产精品国自产观看浪潮| 自拍偷拍亚洲视频| 中文字幕乱码一区二区三区| 国产白丝网站精品污在线入口| 日本一区二区三区免费视频| 国产视频久久久久久久| 欧美videos粗暴| 9色porny| 国产日本亚洲高清| 一本大道伊人av久久综合| 欧美国产日韩一区| 精品黄色一级片| 97精品人人妻人人| 在线观看国产日韩| 国产精品国精产品一二| 欧美在线视频二区| 福利电影一区二区| 中文字幕av免费观看| 欧美激情第6页| 欧美久久综合网| 91超薄肉色丝袜交足高跟凉鞋| 欧美主播一区二区三区| 欧美伦理免费在线| 亚洲欧美日产图| 99精品欧美一区二区三区综合在线|