1. 程式人生 > >通過調研開源基準測試集,解讀大資料的應用現狀和開源未來

通過調研開源基準測試集,解讀大資料的應用現狀和開源未來

 這篇綜述論文解讀了 2006 大資料系統興起以來代表性應用和開源基準測試集。近年來,隨著大資料系統的快速發展,各式各樣的開源基準測試集被開發出來,以評測和分析大資料系統並促進其技術改進。然而,迄今為止,還沒有就這些基準測試集進行系統調研。因此,本文對當前最前沿的開源大資料基準測試集進行全面總結,闡述其歷史、現狀並展望下一步研究方向。大資料開源基準測試集

1. 大資料系統及開源基準測試簡介

大資料系統通常被分為三個陣營,如圖 1 所示:

(1)Hadoop 相關係統;

(2)資料庫管理系統 (DBMSs) 和 NoSQL 資料庫;

(3)針對圖資料、流資料和複雜科學資料的特殊處理需要的專用系統。

圖 1. 大資料系統分類與總述

總結歸納了當前流行的開源基準測試集,圖 2 顯示了這些基準測試集的詞雲圖,其中詞的大小和流行度成比例。

圖 2. 開源大資料基準的詞云云

2. 大資料基準測試分類及發展歷史

大資料基準測試集的類別:

(1)微基準測試集。這類基準測試集被用於評估單個系統元件或特定系統行為(或程式碼的功能);

(2)端到端基準測試集。這類基準測試集的目的是使用典型應用場景評估整個系統,每個場景都對應一個工作負載的集合。

(3)基準測試集套件是不同的微基準測試集或端到端基準測試集的組合,這些套件的目標是提供全面的基準測試解決方案。

發展歷史:大資料基準測試是一個活躍的研究領域,許多基準測試集在最初發布之後仍在發展,圖 3 顯示了它們的初始釋出年份。整理了一份適合2018年學習的大資料資料需要的加群QQ群:834325294 註明CSDN既可免費獲取

圖 3. 大資料基準測試集釋出時間軸

3. 工作負載生成技術

工作負載實現技術:我們將大資料工作負載劃分為三類:

(1)I / O 操作。這些操作在輸入資料或檔案上執行 (例如,讀、寫、移動資料或新建、刪除檔案)。

(2)演算法操作。當作為一種演算法實現時,一個工作負載由一個或多個對輸入資料的獨立操作組成。

(3)基本操作 (EO)。這些操作要麼是標準的 SQL 操作符 [102],要麼是具有類似語法的操作符(如 Pig Latin)。圖 4 顯示了代表性負載和操作的詞雲圖。

圖 4. 代表性大資料工作負載的詞雲圖

工作負載提交技術:我們將本文回顧的基準測試集的提交策略分成三類:

(1)預先指定。在許多基準測試集中,工作負載的輸入資料、提交速率和順序都是在執行前指定的。

(2)引數控制。這類基準測試集允許使用者使用引數控制工作負載的執行。

(3)真實日誌驅動。通過使用這種提交策略,基準測試集可以根據真實世界的日誌來真實地復現工作負載。

開放性挑戰:已有的大資料基準並不能完全符合以上三個準則:(1)相關性。鑑別被測系統的典型行為是實現高度相關性負載的先決條件。(2)可移植性。我們首先從軟體系統(即軟體棧)的角度討論這個準則。(3)伸縮性。為了評估不同規模的系統,基準測試集應該能夠調整工作負載的規模,同時保證其提交和混合的真實性。

4. 輸入資料生成技術

大資料基準測試中的資料生成器:

(1)現有資料集:許多大基準測試提供固定大小的資料集作為其工作負載的輸入;

(2)基於合成分佈的資料生成器;

(3)基於真實資料的資料生成器;

(4)混合資料生成器。

開放性挑戰:考慮大資料的資料量和速度,以及不同的資料型別和來源(資料種類),此處有兩個具有挑戰性的關鍵問題:第一個問題是現有的基準測試集可以構建模型來提取某些資料型別(如表格,文字和圖資料)的真實資料集的特徵,但是很少關注其他資料型別,如流、圖、視訊和科學資料。第二個同時也是更具挑戰性的問題是如何評估產生的合成數據的真實性水平。

5. 評估中的指標和效能引數

評估中的指標和效能引數:

(1)通用效能指標包括響應時間、吞吐量、可靠性、可用性;

(2)體系結構指標包括執行週期劃分、處理器計算強度;

(3)價格和能耗指標包括價效比指標、能耗指標。

大資料系統性能引數:

(1)系統配置引數。大資料系統中大量軟體棧和多種程式語言的使用會帶來大量的配置引數。

(2)資源分配引數。當資料中心中部署大資料系統時,計算和網路資源由不同系統的工作負載共享。