OLTP On-Line Transaction Processing
OLAP On-Line Analytical Processing
在定時任務OLAP中,我們也需要做優(yōu)化決策帚桩,最大吞吐量一次盡可能多的處理數(shù)據(jù)亿驾,而不是多次無止境的重試定時任務。
在平臺化設計中朗儒,往往需要考慮低延遲颊乘,高吞吐的能力参淹,實際上是對算法設計能力的挑戰(zhàn):
1醉锄、串行執(zhí)行計算能力有限(單機)
2、并行執(zhí)行提高吞吐量(單機):單機并行浙值、單機聚合
3恳不、分布式計算最大化吞吐量(聯(lián)機):多機聚合
在一般的web項目中使用最多的是單機并行,這里我們?yōu)榱硕〞r任務更大化處理數(shù)據(jù)能力設計开呐,我們需要多機聚合任務,大楷分為以下幾步:
1烟勋、任務拆分规求,類似于elastic-job中的任務分片,比如有300w條數(shù)據(jù)需要處理卵惦,我們將100w以內的數(shù)據(jù)扔給tasknode1,100200w內的數(shù)據(jù)扔給tasknode2執(zhí)行阻肿,200300w扔給tasknode3執(zhí)行。
2沮尿、任務分配記錄丛塌,以確保任務被哪臺機器領去了
3、單機并發(fā)策略畜疾,如果機器是8核心的赴邻,我可以使用一個8核心線程的線程池并發(fā)執(zhí)行
4、任務適配接口(單機)啡捶,用于匹配不同的任務類型
5姥敛、任務處理流程
6、任務處理完成后瞎暑,通知任務分配器(主任務節(jié)點)
7彤敛、主任務節(jié)點聚合流程
8、上一個任務分配了赌、子節(jié)點執(zhí)行完成臊泌、主任務節(jié)點聚合完成,則進行流轉到下一個任務揍拆,可能是該任務后續(xù)操作渠概,或者開始執(zhí)行其他主任務。
????在MapReduce中嫂拴,任務的執(zhí)行分為map和reduce階段播揪。在hdfs知道,hdfs有機架感知特性筒狠,故執(zhí)行任務的時候可以獲取最近的block進行處理猪狈,hdfs負責新數(shù)據(jù)的復制,從而處理的速度并不會變得很慢辩恼。