199IT數(shù)據(jù)中心微信賬戶:i199IT
數(shù)據(jù)庫(kù)評(píng)測(cè)基準(zhǔn)在數(shù)據(jù)庫(kù)發(fā)展歷史中的作用不可替代,而大數(shù)據(jù)環(huán)境中傳統(tǒng)評(píng)測(cè)基準(zhǔn)不敷應(yīng)用。因此,從評(píng)測(cè)基準(zhǔn)3要素,即數(shù)據(jù)、負(fù)載、度量體系入手,研究具有高仿真性、可適配性、可測(cè)量性的大數(shù)據(jù)管理系統(tǒng)評(píng)測(cè)基準(zhǔn),對(duì)大數(shù)據(jù)管理系統(tǒng)的研發(fā)和應(yīng)用系統(tǒng)選型至關(guān)重要?;诖?,在簡(jiǎn)要分析評(píng)測(cè)基準(zhǔn)的基本要素和大數(shù)據(jù)管理系統(tǒng)發(fā)展過(guò)程的基礎(chǔ)上,重點(diǎn)分析大數(shù)據(jù)管理系統(tǒng)的基準(zhǔn)評(píng)測(cè)需求與挑戰(zhàn),然后通過(guò)社交媒體分析型查詢?cè)u(píng)測(cè)基準(zhǔn)BSMA,探討了面向應(yīng)用的大數(shù)據(jù)管理系統(tǒng)基準(zhǔn)評(píng)測(cè)的設(shè)計(jì)和實(shí)現(xiàn)問(wèn)題。
關(guān)鍵詞:大數(shù)據(jù)管理系統(tǒng);評(píng)測(cè)基準(zhǔn);數(shù)據(jù)生成;負(fù)載生成;性能度量體系
1 引言
數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)廠商間的激烈競(jìng)爭(zhēng)造就了一個(gè)數(shù)千億美元的市場(chǎng)。數(shù)據(jù)庫(kù)基準(zhǔn)評(píng)測(cè)(databasebenchmarking)確保了競(jìng)爭(zhēng)的公平有序,從而引導(dǎo)了行業(yè)的健康發(fā)展。數(shù)據(jù)庫(kù)評(píng)測(cè)基準(zhǔn)是指一套用于評(píng)測(cè)、比較不同DBMS性能的規(guī)范,其所生成的性能指標(biāo)值能夠客觀、全面地比較各個(gè)DBMS的性能差距[1]。
通常,新的數(shù)據(jù)庫(kù)理論或數(shù)據(jù)管理技術(shù)被提出之后,會(huì)迅速誕生一批原型或商用系統(tǒng)。但技術(shù)上的差異常導(dǎo)致它們的性能表現(xiàn)不盡相同,從而引發(fā)系統(tǒng)開(kāi)發(fā)商之間的爭(zhēng)議。技術(shù)層面的爭(zhēng)論和競(jìng)爭(zhēng)促進(jìn)了行業(yè)的發(fā)展;而諸多非技術(shù)因素的介入,則會(huì)破壞良性競(jìng)爭(zhēng)。1983年發(fā)布的“威斯康星基準(zhǔn)”[2],消彌了自關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)出現(xiàn)后紛爭(zhēng)的性能口水戰(zhàn),促進(jìn)了各DBMS廠商優(yōu)化系統(tǒng),并最終在常用負(fù)載(workload)下取得相近的性能。威斯康星基準(zhǔn)的巨大成功以及以威斯康星大學(xué)DeWittD J教授和圖靈獎(jiǎng)獲得者Gray J為代表的一批學(xué)者對(duì)數(shù)據(jù)庫(kù)基準(zhǔn)評(píng)測(cè)的適時(shí)推動(dòng),有效地保障了20世紀(jì)80年代開(kāi)始的30多年的數(shù)據(jù)庫(kù)行業(yè)的健康發(fā)展。
隨著“大數(shù)據(jù)”成為應(yīng)用熱點(diǎn),越來(lái)越多的應(yīng)用環(huán)境中,數(shù)據(jù)、應(yīng)用和系統(tǒng)體現(xiàn)出“3V”的特性[3],即量大(volume)、多樣(variety)、快速變化(velocity):數(shù)據(jù)同時(shí)具備“3V”的特性,即數(shù)據(jù)規(guī)模大、變化速度和增長(zhǎng)速度快,且包含多源、異構(gòu)和非結(jié)構(gòu)化數(shù)據(jù);應(yīng)用中包含大量作用于大數(shù)據(jù)的多樣化的負(fù)載,且很多負(fù)載要求在快速變化的數(shù)據(jù)上獲得實(shí)時(shí)的結(jié)果;系統(tǒng)則需要同時(shí)適應(yīng)數(shù)據(jù)與應(yīng)用,在不同的接口層次上提供對(duì)大數(shù)據(jù)的多樣化的管理和處理功能。
針對(duì)新興的大數(shù)據(jù)應(yīng)用環(huán)境,在以Hadoop為代表的海量數(shù)據(jù)處理技術(shù)日趨成熟的同時(shí),一批新型大數(shù)據(jù)管理系統(tǒng)(bigdata management system,BDMS)積極涌現(xiàn),以解決大數(shù)據(jù)管理與處理中的各種問(wèn)題。
新型的數(shù)據(jù)、應(yīng)用環(huán)境和系統(tǒng)決定了現(xiàn)有評(píng)測(cè)基準(zhǔn)無(wú)法產(chǎn)生具有仿真能力的數(shù)據(jù),不能反映應(yīng)用需求,無(wú)法公平、有效地評(píng)測(cè)系統(tǒng)。在包括數(shù)據(jù)生成、負(fù)載生成、度量選取、評(píng)測(cè)基準(zhǔn)架構(gòu)與評(píng)測(cè)方法等在內(nèi)的基準(zhǔn)評(píng)測(cè)的多個(gè)方面,都需要研究、開(kāi)發(fā)新的技術(shù),以更真實(shí)地反映系統(tǒng)在典型應(yīng)用環(huán)境中的表現(xiàn)。評(píng)測(cè)基準(zhǔn)是對(duì)大數(shù)據(jù)應(yīng)用環(huán)境中數(shù)據(jù)管理任務(wù)的規(guī)范化與定義,對(duì)大數(shù)據(jù)系統(tǒng)的研發(fā)具有指導(dǎo)意義。
基準(zhǔn)制定是一個(gè)漫長(zhǎng)的過(guò)程。RDBMS的基準(zhǔn)評(píng)測(cè)經(jīng)過(guò)30多年的發(fā)展,仍在不斷完善。而影響力較大的早期大數(shù)據(jù)評(píng)測(cè)基準(zhǔn)CALDA提出至今不過(guò)4年[4]。目前的相關(guān)評(píng)測(cè)基準(zhǔn)在應(yīng)用抽象、評(píng)測(cè)內(nèi)容與方法、應(yīng)用程度上都仍在初級(jí)階段。可以預(yù)見(jiàn),未來(lái)的5~10年評(píng)測(cè)基準(zhǔn)將和BDMS的研發(fā)共同高速發(fā)展[5]。
另一方面,由于我國(guó)用戶分布、商業(yè)模式、政策法規(guī)的特點(diǎn),應(yīng)用環(huán)境具有一定的特殊性。這種特殊性體現(xiàn)在數(shù)據(jù)、負(fù)載特性上。國(guó)外數(shù)據(jù)庫(kù)廠商因?qū)ξ覈?guó)國(guó)情的不了解甚至是有意抵觸,很難在短時(shí)間內(nèi)研發(fā)出適合我國(guó)需求的系統(tǒng)和應(yīng)用。面向具有特色的應(yīng)用,制定評(píng)測(cè)基準(zhǔn),有助于引領(lǐng)大數(shù)據(jù)技術(shù)和系統(tǒng)的研發(fā),為解決我國(guó)所面臨的最急迫的大數(shù)據(jù)管理問(wèn)題做出貢獻(xiàn),同時(shí)促進(jìn)國(guó)內(nèi)大數(shù)據(jù)系統(tǒng)的研發(fā),提振國(guó)內(nèi)大數(shù)據(jù)行業(yè)的發(fā)展。
本文將在簡(jiǎn)要分析評(píng)測(cè)基準(zhǔn)的基本要素和大數(shù)據(jù)管理系統(tǒng)發(fā)展過(guò)程的基礎(chǔ)上,重點(diǎn)分析大數(shù)據(jù)管理系統(tǒng)的基準(zhǔn)評(píng)測(cè)需求與挑戰(zhàn),然后通過(guò)社交媒體分析型查詢?cè)u(píng)測(cè)基準(zhǔn)(benchmarkof social media analysis,BSMA),探討面向應(yīng)用的大數(shù)據(jù)管理系統(tǒng)基準(zhǔn)評(píng)測(cè)的設(shè)計(jì)、實(shí)現(xiàn)問(wèn)題。
2 評(píng)測(cè)基準(zhǔn)的基本要素
從宏觀角度看,評(píng)測(cè)基準(zhǔn)的3要素是數(shù)據(jù)、負(fù)載和度量體系,下面分別進(jìn)行介紹。
數(shù)據(jù):不同應(yīng)用的數(shù)據(jù)具有不同的靜態(tài)和動(dòng)態(tài)特征,體現(xiàn)在結(jié)構(gòu)、規(guī)模、數(shù)據(jù)分布、變化速率等多個(gè)方面。傳統(tǒng)基準(zhǔn)通常只采用固定數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分布下的數(shù)據(jù)生成方法產(chǎn)生高仿真數(shù)據(jù)。而如何準(zhǔn)確刻畫(huà)大數(shù)據(jù)靜態(tài)和動(dòng)態(tài)特征,如何在特征已知或未知的情況下,高效地生成測(cè)試所需的海量數(shù)據(jù)是大數(shù)據(jù)管理系統(tǒng)基準(zhǔn)評(píng)測(cè)所需要解決的問(wèn)題。
負(fù)載:負(fù)載是作用于數(shù)據(jù)的訪問(wèn)和查詢、更新、分析任務(wù)。大數(shù)據(jù)管理系統(tǒng)評(píng)測(cè)基準(zhǔn)必須能夠產(chǎn)生反映應(yīng)用需求的多樣化的負(fù)載(variety)。和數(shù)據(jù)一樣,評(píng)測(cè)基準(zhǔn)的負(fù)載必須在靜態(tài)和動(dòng)態(tài)特征上與應(yīng)用具有相似性,即對(duì)于評(píng)價(jià)指標(biāo)而言,模擬負(fù)載能夠反映應(yīng)用的需求。具有良好適配性的負(fù)載生成理論和方法是大數(shù)據(jù)管理系統(tǒng)基準(zhǔn)評(píng)測(cè)的第二個(gè)要素。
度量體系:度量體系指對(duì)于性能進(jìn)行評(píng)價(jià)的指標(biāo)集合。指標(biāo)可以是單一的,也可以是多維的。BDMS應(yīng)用環(huán)境不同于傳統(tǒng)DBMS。例如,新型硬件要求在評(píng)測(cè)時(shí)考慮非傳統(tǒng)的性能度量,如忙時(shí)數(shù)據(jù)更新量(面向集群化的大內(nèi)存系統(tǒng))、熱點(diǎn)數(shù)據(jù)更新頻率等;開(kāi)放的運(yùn)行環(huán)境要求評(píng)測(cè)能夠反映系統(tǒng)受干擾時(shí)的性能;分析型負(fù)載則將性能度量和結(jié)果的精確程度綁在一起。此外,性價(jià)比、能耗等因素進(jìn)一步增加了BDMS度量體系制定的難度。
3 大數(shù)據(jù)管理系統(tǒng)及其評(píng)測(cè)基準(zhǔn)需求
3.1 大數(shù)據(jù)管理系統(tǒng)的分類(lèi)
大數(shù)據(jù)管理系統(tǒng)通常指那些基于集群環(huán)境,利用大容量?jī)?nèi)存、高速網(wǎng)絡(luò),支撐海量數(shù)據(jù)存儲(chǔ)、索引、更新、查詢、檢索、分析和挖掘的數(shù)據(jù)管理系統(tǒng)。谷歌公司的GFS、MapReduce實(shí)現(xiàn)以及BigTable系統(tǒng)可以認(rèn)為是最早出現(xiàn)的有代表性的大數(shù)據(jù)管理系統(tǒng)。而隨著開(kāi)源系統(tǒng)Hadoop的出現(xiàn)和相關(guān)開(kāi)源生態(tài)圈的發(fā)展以及BerkeleyData Analytics Stack系列工具的快速發(fā)展,一大批系統(tǒng)和工具都可被歸于BDMS的范疇,如圖1所示[6]。這些系統(tǒng)的功能、接口層次、架構(gòu)、實(shí)現(xiàn)技術(shù)、面向應(yīng)用和所依賴的底層硬件各不相同,如何客觀、公正地比較它們?cè)诓煌瑧?yīng)用場(chǎng)景下的性能,無(wú)論是對(duì)于系統(tǒng)開(kāi)發(fā)者還是應(yīng)用開(kāi)發(fā)和系統(tǒng)選型人員來(lái)說(shuō),都是一個(gè)難題。這也是BDMS基準(zhǔn)評(píng)測(cè)對(duì)于指導(dǎo)系統(tǒng)研發(fā)、系統(tǒng)選型,營(yíng)造良好技術(shù)競(jìng)爭(zhēng)環(huán)境的意義所在。
圖1 大數(shù)據(jù)管理系統(tǒng)及它們之間的關(guān)系
3.2 大數(shù)據(jù)管理系統(tǒng)基準(zhǔn)評(píng)測(cè)需求
BDMS評(píng)測(cè)基準(zhǔn)首先需要具備大數(shù)據(jù)建模與高仿真的數(shù)據(jù)生成的能力。具體而言,包括以下需求。
大數(shù)據(jù)靜態(tài)和動(dòng)態(tài)特征的刻畫(huà):對(duì)現(xiàn)實(shí)應(yīng)用場(chǎng)景中的真實(shí)數(shù)據(jù)進(jìn)行動(dòng)態(tài)和靜態(tài)特性的刻畫(huà),是形成數(shù)據(jù)生成理論的前提。數(shù)據(jù)的靜態(tài)特征包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)分布、精確性以及時(shí)序關(guān)系等。在成熟的應(yīng)用領(lǐng)域,數(shù)據(jù)靜態(tài)特征往往已經(jīng)有模型進(jìn)行描述。但大數(shù)據(jù)的動(dòng)態(tài)性(velocity)特征難以用單一模型進(jìn)行刻畫(huà)。對(duì)數(shù)據(jù)的靜態(tài)和動(dòng)態(tài)特性進(jìn)行參數(shù)化的刻畫(huà)是高仿真數(shù)據(jù)生成的前提。
高仿真的數(shù)據(jù)生成方法:大數(shù)據(jù)應(yīng)用的特點(diǎn)決定了需要采用應(yīng)用相關(guān)的數(shù)據(jù)生成方法。同時(shí),大數(shù)據(jù)的復(fù)雜性和動(dòng)態(tài)性決定了對(duì)數(shù)據(jù)特征的刻畫(huà)無(wú)法由領(lǐng)域?qū)<彝瓿?,而需要通過(guò)統(tǒng)計(jì)和機(jī)器學(xué)習(xí)自動(dòng)進(jìn)行。
動(dòng)態(tài)數(shù)據(jù)高效持續(xù)生成:大數(shù)據(jù)不斷變化、持續(xù)更新。因此,評(píng)測(cè)基準(zhǔn)需要具備采用并行數(shù)據(jù)生成、流式數(shù)據(jù)生成等技術(shù),仿真真實(shí)的海量、快速變化的動(dòng)態(tài)數(shù)據(jù)的能力。
其次,BDMS評(píng)測(cè)基準(zhǔn)還需要具備能夠滿足多場(chǎng)景需求的綜合負(fù)載生成能力,具體介紹如下。
負(fù)載特性刻畫(huà)與建模:常見(jiàn)負(fù)載包括數(shù)據(jù)訪問(wèn)、數(shù)據(jù)檢索與查詢、數(shù)據(jù)更新、批處理、迭代運(yùn)算、聚集計(jì)算等,它們的處理代價(jià)各不相同。應(yīng)用中的負(fù)載常常是復(fù)合的,且負(fù)載的分布隨時(shí)間而變化。同時(shí),負(fù)載作用于不同的數(shù)據(jù)對(duì)象(負(fù)載參數(shù)(argument)),其處理代價(jià)也是不同的。而且負(fù)載參數(shù)的分布也是動(dòng)態(tài)、多樣的。具備豐富、靈活的負(fù)載特性刻畫(huà)能力,是準(zhǔn)確模擬應(yīng)用負(fù)載的前提。
BDMS原語(yǔ)與操作模式的抽象:BDMS的訪問(wèn)接口具有多樣性。在不同層次的BDMS服務(wù)上,分別定義兼容多種系統(tǒng)的負(fù)載描述,是實(shí)現(xiàn)BDMS基準(zhǔn)評(píng)測(cè)的前提之一。這一需求也是BDMS評(píng)測(cè)基準(zhǔn)與傳統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)評(píng)測(cè)基準(zhǔn)的一項(xiàng)重要區(qū)別。
可適配的負(fù)載自動(dòng)生成方法與系統(tǒng)框架:應(yīng)用的負(fù)載各不相同。為每個(gè)應(yīng)用定制負(fù)載生成器,成本高、效率低,不能滿足同一數(shù)據(jù)集上共生多種應(yīng)用的BDMS基準(zhǔn)評(píng)測(cè)需要。因此,給定負(fù)載特性刻畫(huà),生成不同接口層面的代表性負(fù)載和相應(yīng)負(fù)載參數(shù),是另一項(xiàng)重要的BDMS基準(zhǔn)評(píng)測(cè)需求。
第三,負(fù)載相關(guān)的度量體系與測(cè)量方法對(duì)于BDMS評(píng)測(cè)基準(zhǔn)至關(guān)重要。
BDMS度量的基本特征與度量體系:BDMS系統(tǒng)的性能評(píng)價(jià)包括多項(xiàng)非傳統(tǒng)的度量,包括數(shù)據(jù)分析的實(shí)時(shí)性、系統(tǒng)的彈性能力,即環(huán)境變化時(shí)的自動(dòng)管理能力、精度與性能的復(fù)合度量、能耗和能效比等。因此,需要制定可重復(fù)、可核實(shí)的新度量體系。這又是一項(xiàng)顯著不同于傳統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)評(píng)測(cè)基準(zhǔn)的需求。
影響度量可測(cè)量性的不確定因素的量化與相關(guān)性分析能力:多種不確定因素會(huì)影響最終的評(píng)測(cè)結(jié)果。云計(jì)算、多租戶、虛擬機(jī)環(huán)境都可能放大這種影響,造成評(píng)測(cè)結(jié)果的不客觀、不可重復(fù)等問(wèn)題。因此,需要對(duì)影響可測(cè)量性的因素進(jìn)行量化和相關(guān)性分析,并進(jìn)一步修正度量體系,以保證評(píng)測(cè)結(jié)果的客觀和全面。
新的測(cè)量方法學(xué):基準(zhǔn)評(píng)測(cè)要求其過(guò)程和結(jié)果具有可解釋性、可重復(fù)性、可審計(jì)性。測(cè)量方法要求對(duì)這些特定現(xiàn)象進(jìn)行準(zhǔn)確記錄和描述。另一方面,大數(shù)據(jù)應(yīng)用的數(shù)據(jù)和負(fù)載常具有非穩(wěn)態(tài)、爆發(fā)性特征,即在特定時(shí)刻數(shù)據(jù)或負(fù)載量劇增。BDMS基準(zhǔn)評(píng)測(cè)方法必須具有可伸縮性,使得對(duì)爆發(fā)性的數(shù)據(jù)和負(fù)載,評(píng)測(cè)過(guò)程和結(jié)果仍有意義。此外,評(píng)測(cè)的結(jié)果還必須通過(guò)公開(kāi)的方式報(bào)告評(píng)測(cè)環(huán)境、評(píng)測(cè)過(guò)程和評(píng)測(cè)結(jié)果。
3.3 大數(shù)據(jù)管理系統(tǒng)基準(zhǔn)評(píng)測(cè)的挑戰(zhàn)
大數(shù)據(jù)管理系統(tǒng)的一個(gè)重要特點(diǎn)是“同類(lèi)適用(onesize fits a bunch)”,即一個(gè)系統(tǒng)所針對(duì)的是具有相似特點(diǎn)的一類(lèi)(bunch)應(yīng)用,而不是所有應(yīng)用。它不同于傳統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)的“一體適用(onesize fits all)”特點(diǎn)[7]。這也是不同BDMS之間的差異明顯大于傳統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)間差異的主要原因。系統(tǒng)間的顯著差異為基準(zhǔn)評(píng)測(cè)制造了障礙。為了應(yīng)對(duì)這一情況,BDMS評(píng)測(cè)基準(zhǔn)也應(yīng)具有“同類(lèi)適用”的特點(diǎn),如圖2所示。
圖2 BDMS評(píng)測(cè)基準(zhǔn)的“同類(lèi)適用”特點(diǎn)
具體而言,評(píng)測(cè)基準(zhǔn)需要滿足高仿真性、可適配性以及可測(cè)量性。
高仿真性,即生成的數(shù)據(jù)和負(fù)載在對(duì)于性能度量有明確影響的特征上具有高仿真性。
可適配性,即通過(guò)參數(shù)定制,基準(zhǔn)評(píng)測(cè)套件可適配于不同領(lǐng)域,以對(duì)應(yīng)BDMS系統(tǒng)的“同類(lèi)適用”特點(diǎn)??啥ㄖ?、可適配的評(píng)測(cè)基準(zhǔn)對(duì)于降低評(píng)測(cè)成本具有重要意義,這是BDMS評(píng)測(cè)所特有的問(wèn)題,也是難點(diǎn)所在。
可測(cè)量性,即基準(zhǔn)評(píng)測(cè)結(jié)果在開(kāi)放、動(dòng)態(tài)應(yīng)用環(huán)境中仍有意義,開(kāi)放、動(dòng)態(tài)的大數(shù)據(jù)應(yīng)用環(huán)境向評(píng)測(cè)結(jié)果的可解釋性、可重復(fù)性、可審計(jì)性、公平性提出了挑戰(zhàn)。這一問(wèn)題需要通過(guò)對(duì)BDMS進(jìn)行更細(xì)致的建模以及大量的實(shí)驗(yàn)和實(shí)驗(yàn)結(jié)果分析加以解決。
4 BSMA:面向社交媒體數(shù)據(jù)分析型查詢的基準(zhǔn)評(píng)測(cè)
4.1 BSMA框架
BSMA是一個(gè)社交媒體數(shù)據(jù)分析型查詢?cè)u(píng)測(cè)基準(zhǔn)[8,9],它包含了社交媒體數(shù)據(jù)的形式化描述規(guī)范和一個(gè)真實(shí)的社交媒體數(shù)據(jù)集,定義了24個(gè)測(cè)試查詢,提供了評(píng)測(cè)系統(tǒng)查詢性能的工具以及用于產(chǎn)生社交媒體時(shí)間軸(timeline)的數(shù)據(jù)生成器BSMA-Gen[10]。BSMA的系統(tǒng)結(jié)構(gòu)如圖3所示[9],BSMA所針對(duì)的數(shù)據(jù)定義如圖4所示[9]。其自帶的真實(shí)數(shù)據(jù)集和數(shù)據(jù)生成器所產(chǎn)生的模擬數(shù)據(jù)都符合這一數(shù)據(jù)定義。
圖3 BSMA框架
圖4 BSMA數(shù)據(jù)定義
社交媒體數(shù)據(jù)分析具有典型的大數(shù)據(jù)應(yīng)用的特征:
首先,社交媒體數(shù)據(jù)并非傳統(tǒng)的關(guān)系數(shù)據(jù),具有時(shí)序數(shù)據(jù)、文本和多媒體數(shù)據(jù)、圖數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)的多重特征;
其次,社交媒體數(shù)據(jù)量大、更新速度快;
第三,社交媒體數(shù)據(jù)分析通常分析任務(wù)復(fù)雜、具有較高的實(shí)時(shí)性要求。
BSMA的研究是BDMS評(píng)測(cè)基準(zhǔn)研究的一項(xiàng)初期工作,從中可以體現(xiàn)研究問(wèn)題和難點(diǎn)所在。
4.2 數(shù)據(jù)生成
為了完成模擬社交媒體時(shí)間線的生成任務(wù),BSMA-Gen完成2個(gè)基本工作:模擬真實(shí)的社交媒體數(shù)據(jù)分布和高效產(chǎn)生時(shí)間線[10]。
BSMA-Gen產(chǎn)生時(shí)間軸,即消息數(shù)據(jù)流,每一條消息可表示為一個(gè)元組:m= 。其中t是信息發(fā)布的時(shí)間,c是內(nèi)容,u是發(fā)布者,f是一個(gè)指向源消息的指針。當(dāng)該消息是原始消息時(shí),f為null;而當(dāng)該消息為轉(zhuǎn)發(fā)消息時(shí),f指向被轉(zhuǎn)發(fā)的消息(此消息也可能是轉(zhuǎn)發(fā)的)?,F(xiàn)在的生成器版本產(chǎn)生的數(shù)據(jù)只包含結(jié)構(gòu)信息t、u、f,并不包含內(nèi)容信息c。
BSMA-Gen將每個(gè)用戶發(fā)布信息的過(guò)程模擬成非齊次泊松過(guò)程(nonhomogeneousPoisson process),從而可根據(jù)不同配置參數(shù)產(chǎn)生帶有相應(yīng)分布的社交媒體時(shí)間軸數(shù)據(jù)。
社交媒體時(shí)間線中的元組間轉(zhuǎn)發(fā)相關(guān)性隨著時(shí)間間隔變大而衰減。BSMA-Gen采用衰退函數(shù)模擬這一關(guān)系,并通過(guò)維護(hù)歷史元組緩沖池和待產(chǎn)生元組緩沖池實(shí)現(xiàn)了元素的流式產(chǎn)生。同時(shí),為了進(jìn)一步加快時(shí)間線的產(chǎn)生速度,BSMA-Gen采用主從(master-slave)結(jié)構(gòu),由主節(jié)點(diǎn)進(jìn)行發(fā)布者社交網(wǎng)絡(luò)劃分。每個(gè)從節(jié)點(diǎn)負(fù)責(zé)一個(gè)分區(qū)中所有發(fā)布者所發(fā)布的消息組成的部分時(shí)間線的生成。當(dāng)一個(gè)從節(jié)點(diǎn)需要從其他分區(qū)獲取發(fā)布者和社交網(wǎng)絡(luò)信息以確定一個(gè)元素的f指針時(shí),該元素的輸出會(huì)被推遲,以等待遠(yuǎn)程從節(jié)點(diǎn)的信息到來(lái)。采用這種異步傳輸、延時(shí)生成的策略,每個(gè)元素的生成都不需要等待網(wǎng)絡(luò)通信。實(shí)驗(yàn)表明,BSMA-Gen可以確保生成的時(shí)間線在轉(zhuǎn)發(fā)結(jié)構(gòu)、時(shí)序分布、用戶消息數(shù)等方面符合預(yù)先給定的分布和參數(shù),且吞吐率(即單位時(shí)間生成的元素?cái)?shù))與從節(jié)點(diǎn)個(gè)數(shù)呈線性增長(zhǎng)關(guān)系。
4.3 負(fù)載
BSMA提供了24個(gè)典型社交媒體數(shù)據(jù)分析型查詢負(fù)載。每個(gè)負(fù)載反映了一種或多種社交媒體數(shù)據(jù)分析的特性。BSMA負(fù)載主要覆蓋了以下3類(lèi)查詢特性。
社交網(wǎng)絡(luò)查詢(socialnetwork query,SNQ):社交網(wǎng)絡(luò)的查詢圍繞消息發(fā)布者的關(guān)系展開(kāi)。它的目標(biāo)是查詢社交網(wǎng)絡(luò)的某個(gè)特定模式或子圖。
時(shí)間線查詢(timelinequery,TQ):在社交媒體中,時(shí)間線(timeline)是指以時(shí)間逆序排列的消息序列,序列中消息的條數(shù)即時(shí)間線的長(zhǎng)度。時(shí)間線廣義上可分全局時(shí)間線(globaltimeline)和局部時(shí)間線(local timeline)兩種,全局時(shí)間線中的消息來(lái)自社交媒體中的任意用戶,而局部時(shí)間線則限制了用戶范圍。時(shí)間線查詢的本質(zhì)是對(duì)于時(shí)間序列的查詢。
熱點(diǎn)查詢(hotspotquery,HQ):熱點(diǎn)是指在某個(gè)特定的時(shí)間線內(nèi)消息中滿足某些過(guò)濾條件且統(tǒng)計(jì)值最大的某類(lèi)元素的集合。由于社交媒體中數(shù)據(jù)的統(tǒng)計(jì)值分布常符合冪律(power-law)分布,對(duì)熱點(diǎn)的查詢?cè)谶M(jìn)行數(shù)據(jù)連接(join)和聚集(aggregation)計(jì)算時(shí)往往需要遠(yuǎn)超出查詢其他元素的存儲(chǔ)和計(jì)算開(kāi)銷(xiāo)。
處理這些負(fù)載可能需要對(duì)兩個(gè)大的集合(關(guān)系)進(jìn)行連接操作、對(duì)大集合進(jìn)行多屬性查詢或?qū)Υ蠹线M(jìn)行聚集計(jì)算,而這些操作的處理通常是耗時(shí)、耗存儲(chǔ)資源的。因此,這些負(fù)載能夠測(cè)試數(shù)據(jù)管理系統(tǒng)在社交媒體數(shù)據(jù)分析這一特定應(yīng)用中的性能表現(xiàn)。
4.4 評(píng)測(cè)指標(biāo)與評(píng)測(cè)方法
BSMA使用以下3個(gè)性能評(píng)判指標(biāo)。對(duì)于24個(gè)典型負(fù)載的組合,計(jì)算出這3個(gè)指標(biāo)的值,以此來(lái)衡量查詢處理性能。當(dāng)然,查詢執(zhí)行的正確性是性能度量的基本前提。
吞吐率指標(biāo):吞吐率指單位時(shí)間內(nèi)完成的查詢數(shù)。在這里,吞吐率指標(biāo)度量的是在不同線程數(shù)設(shè)置下能達(dá)到的吞吐率最高值,這個(gè)值越高意味著性能越好。
延時(shí)指標(biāo):延時(shí)指一個(gè)查詢從發(fā)起請(qǐng)求到返回結(jié)果所需的時(shí)間。在這里,延時(shí)指標(biāo)度量的是在不同線程數(shù)設(shè)置下所達(dá)到的次高吞吐率下(即系統(tǒng)未過(guò)載時(shí))的查詢延時(shí),這個(gè)值越低意味著性能越好。
擴(kuò)展性指標(biāo):擴(kuò)展性指隨著吞吐率的提高系統(tǒng)維持延時(shí)的能力。在這里,擴(kuò)展性指標(biāo)度量的是用最小二乘法擬合多個(gè)數(shù)據(jù)點(diǎn)的直線斜率。這些數(shù)據(jù)點(diǎn)對(duì)應(yīng)不同線程數(shù)設(shè)置下的吞吐量(橫坐標(biāo))和延時(shí)(縱坐標(biāo)),擬合直線越平滑意味著擴(kuò)展性越好。
5 相關(guān)工作
數(shù)據(jù)庫(kù)評(píng)測(cè)基準(zhǔn)研究在關(guān)系數(shù)據(jù)管理和非關(guān)系型數(shù)據(jù)管理方面均取得較大進(jìn)展。針對(duì)大數(shù)據(jù)管理領(lǐng)域的基準(zhǔn)評(píng)測(cè)工作則剛起步。圖5概要地展示了數(shù)據(jù)管理系統(tǒng)評(píng)測(cè)基準(zhǔn)的發(fā)展過(guò)程[11]。
圖5 數(shù)據(jù)管理系統(tǒng)評(píng)測(cè)基準(zhǔn)的發(fā)展
5.1 面向關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)評(píng)測(cè)基準(zhǔn)
早期數(shù)據(jù)庫(kù)評(píng)測(cè)基準(zhǔn)主要針對(duì)RDBMS,相關(guān)研究持續(xù)至今。事務(wù)處理委員會(huì)(TPC)是事實(shí)上的工業(yè)化標(biāo)準(zhǔn)組織,已經(jīng)提出多個(gè)基準(zhǔn)來(lái)評(píng)測(cè)RDBMS[12]?,F(xiàn)有RDBMS評(píng)測(cè)基準(zhǔn)可被劃分為3類(lèi):面向聯(lián)機(jī)事務(wù)處理(OLTP)、面向聯(lián)機(jī)分析處理(OLAP)以及同時(shí)支持OLAP和OLTP的評(píng)測(cè)基準(zhǔn)。
面向OLTP的基準(zhǔn):面向OLTP的基準(zhǔn)評(píng)測(cè)包括威斯康星基準(zhǔn)[2]、DebitCredit[13]、AS3AP[14]、TPC-C和TPC-E等。其中,TPC-C和TPC-E目前仍在使用。它們分別仿真?zhèn)}庫(kù)訂單管理應(yīng)用和證券交易應(yīng)用。
面向OLAP的基準(zhǔn):此類(lèi)基準(zhǔn)的負(fù)載包含大量聚集查詢,包括SetQuery[15]、SSB[16]、TPC-H和TPC-DS等。其中TPC-H和TPC-DS目前仍在使用,分別模擬商務(wù)采購(gòu)應(yīng)用和決策支持應(yīng)用。
同時(shí)支持OLAP和OLTP的基準(zhǔn):部分新興數(shù)據(jù)管理技術(shù)支持同時(shí)具有OLAP和OLTP需求的應(yīng)用。CH-Benchmark基準(zhǔn)有效融合了TPC-C和TPC-H兩個(gè)基準(zhǔn),同時(shí)支持OLAP和OLTP評(píng)測(cè)。CBTR則提供了OLAP/OLTP復(fù)合負(fù)載[17]。
5.2 面向非關(guān)系型數(shù)據(jù)的基準(zhǔn)設(shè)計(jì)
數(shù)據(jù)管理技術(shù)發(fā)展的過(guò)程是不斷地將非結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化,納入DBMS,從而降低管理成本、提高利用效率的過(guò)程。針對(duì)各種非關(guān)系型數(shù)據(jù),有不同的基準(zhǔn)對(duì)相關(guān)技術(shù)和系統(tǒng)進(jìn)行評(píng)測(cè),見(jiàn)表1。
5.3 面向大數(shù)據(jù)管理技術(shù)的基準(zhǔn)
不同的BDMS的功能和接口各不相同。當(dāng)前的BDMS基準(zhǔn)評(píng)測(cè)研究工作從以下3個(gè)方面展開(kāi)。
評(píng)測(cè)MapReduce功能的基準(zhǔn):MapReduce是大數(shù)據(jù)處理中最常用的編程模式(paradigm)。此類(lèi)基準(zhǔn)主要評(píng)測(cè)MapReduce實(shí)現(xiàn)的性能。面向特定功能的此類(lèi)基準(zhǔn)包括:模擬TPC-H的MRBench[33]、評(píng)測(cè)HDFS文件系統(tǒng)的TestDFSIO[34]、Hadoop自帶的Sort[34]和用于測(cè)試Pig的PigMix[35]等。此外,一些基準(zhǔn)可同時(shí)評(píng)測(cè)多種功能,如評(píng)測(cè)Hadoop整體性能的GridMix、混合功能基準(zhǔn)IntelHiBench以及涵蓋了常用數(shù)據(jù)挖掘和數(shù)據(jù)倉(cāng)庫(kù)操作的CloudRank-D[36]。
BDMS基準(zhǔn)評(píng)測(cè):CALDA基準(zhǔn)可比較不同BDMS的性能[4]。YCSB[37]及其擴(kuò)展YCSB++[38]可從性能和可擴(kuò)展性兩個(gè)層面評(píng)測(cè)云服務(wù)系統(tǒng)。Floratou等人對(duì)面向文檔的NoSQL系統(tǒng)、面向決策支持的系統(tǒng)以及商用的DBMS進(jìn)行了性能評(píng)測(cè)[39]。Rabl等人則比較了6種開(kāi)源數(shù)據(jù)存儲(chǔ)系統(tǒng)在不同負(fù)載下的性能[40]。
面向應(yīng)用的大數(shù)據(jù)基準(zhǔn)評(píng)測(cè):BigBench是一種面向商品零售業(yè)的基準(zhǔn),擴(kuò)展了TPC-DS[41]。LinkBench是一個(gè)由Facebook提出,基于真實(shí)社交網(wǎng)絡(luò)應(yīng)用的大規(guī)模圖數(shù)據(jù)評(píng)測(cè)基準(zhǔn)[42]。而LDBC則是由歐盟資助的鏈接數(shù)據(jù)管理基準(zhǔn)評(píng)測(cè)組織,并已發(fā)布多個(gè)評(píng)測(cè)基準(zhǔn)[43]。
5.4 國(guó)內(nèi)的相關(guān)工作
針對(duì)新型計(jì)算機(jī)系統(tǒng)的基準(zhǔn)評(píng)測(cè)、新型DBMS的性能測(cè)試、新型數(shù)據(jù)庫(kù)基準(zhǔn)評(píng)測(cè)等問(wèn)題,國(guó)內(nèi)學(xué)者也開(kāi)展了廣泛而深入的研究。
在新型計(jì)算機(jī)系統(tǒng)的基準(zhǔn)評(píng)測(cè)方面,中國(guó)科學(xué)院計(jì)算技術(shù)研究所提出了ICTBench,包含面向數(shù)據(jù)倉(cāng)庫(kù)負(fù)載的DCBench[44,45]、面向BDMS的BigDataBench[46,47]和面向云計(jì)算系統(tǒng)的CloudRank[36]3個(gè)部分。中國(guó)人民大學(xué)孟小峰等人提出了CloudBM基準(zhǔn)來(lái)評(píng)測(cè)云數(shù)據(jù)管理系統(tǒng)[48]。清華大學(xué)鄭緯民等人利用代表性的基準(zhǔn)測(cè)試對(duì)NAS存儲(chǔ)系統(tǒng)進(jìn)行了研究、比較和分析[49]。
大數(shù)據(jù)應(yīng)用中廣泛使用了包括內(nèi)存數(shù)據(jù)庫(kù)、NoSQL/NewSQL系統(tǒng)在內(nèi)的大量新型DBMS。中國(guó)人民大學(xué)王珊等人利用TPC-H評(píng)測(cè)了多款內(nèi)存數(shù)據(jù)庫(kù)的性能[50];杜小勇等人使用TPC-DS基準(zhǔn),在100個(gè)節(jié)點(diǎn)的集群上,對(duì)5種主流的開(kāi)源BDMS進(jìn)行了全面深入的測(cè)試與分析,并在2013年的中國(guó)大數(shù)據(jù)技術(shù)大會(huì)上報(bào)告。華東師范大學(xué)金澈清等人提出了MemTest,以評(píng)測(cè)內(nèi)存DBMS的主要性能特性[51]。清華大學(xué)王建民團(tuán)隊(duì)在NoSQL數(shù)據(jù)庫(kù)基礎(chǔ)上,實(shí)現(xiàn)了MOLAP引擎,并使用TPC-DC基準(zhǔn)進(jìn)行了測(cè)試[52]。此外,他們?cè)贠LAP系統(tǒng)的性能測(cè)試[53]、DBMS性能測(cè)試[54]等方面做了重要的基礎(chǔ)性工作。上海交通大學(xué)使用BigDataBench來(lái)評(píng)測(cè)數(shù)據(jù)中心上的資源共享策略[55];西安交通大學(xué)則使用這一基準(zhǔn)來(lái)診斷大數(shù)據(jù)系統(tǒng)中的性能瓶頸[56]。
在BDMS的評(píng)測(cè)基準(zhǔn)開(kāi)發(fā)方面,BigDataBench包含了6個(gè)應(yīng)用場(chǎng)景的數(shù)據(jù)集合和19類(lèi)負(fù)載[46,47]。華東師范大學(xué)提出了一種面向社交媒體數(shù)據(jù)分析型查詢處理的評(píng)測(cè)基準(zhǔn)BSMA[8,9];提出了一種并行社交媒體數(shù)據(jù)生成方法,以仿真微博等社交媒體數(shù)據(jù)[10]。周敏奇等人則設(shè)計(jì)了一種更為通用的可擴(kuò)展的高仿真數(shù)據(jù)生成器框架[57]。而清華大學(xué)則針對(duì)工作流數(shù)據(jù)管理系統(tǒng)的負(fù)載生成開(kāi)展了研究[58]。
6 結(jié)束語(yǔ)
在“大數(shù)據(jù)”熱潮下,大數(shù)據(jù)管理系統(tǒng)的研發(fā)和應(yīng)用進(jìn)展迅速,而相應(yīng)的評(píng)測(cè)基準(zhǔn)理論和方法研究則剛剛起步。針對(duì)大數(shù)據(jù)應(yīng)用,特別是我國(guó)金融、電信、電子商務(wù)等具有鮮明應(yīng)用特點(diǎn)的大數(shù)據(jù)應(yīng)用的特點(diǎn),遵循“同類(lèi)適用”原則,從數(shù)據(jù)生成、負(fù)載生成、性能指標(biāo)體系和測(cè)量方法這3個(gè)角度入手,解決應(yīng)用環(huán)境適配和仿真、科學(xué)和公平評(píng)測(cè)、評(píng)測(cè)結(jié)果比較與分析等問(wèn)題,是大數(shù)據(jù)管理系統(tǒng)評(píng)測(cè)基準(zhǔn)研究的重要問(wèn)題?,F(xiàn)有的工作從應(yīng)用和系統(tǒng)建模、數(shù)據(jù)仿真、數(shù)據(jù)和負(fù)載的高效生成、多維度性能指標(biāo)設(shè)計(jì)等角度開(kāi)展了研究。但對(duì)于設(shè)計(jì)和實(shí)現(xiàn)具有良好仿真能力、高適配能力的評(píng)測(cè)基準(zhǔn)而言,非結(jié)構(gòu)化數(shù)據(jù)仿真、超高負(fù)載環(huán)境模擬與評(píng)測(cè)方法、兼顧分析效果和性能的度量指標(biāo)、開(kāi)放環(huán)境下的性能評(píng)測(cè)和評(píng)測(cè)結(jié)果分析等問(wèn)題仍是具有挑戰(zhàn)性的研究問(wèn)題。
作者,錢(qián)衛(wèi)寧、夏帆、周敏奇、金澈清、周傲英,華東師范大學(xué)數(shù)據(jù)科學(xué)與工程研究院