大数据管理系统评测基准的挑战与研究进展
钱卫宁,夏 帆,周敏奇,金澈清,周傲英
华东师范大学数据科学与工程研究院 上海 200062
摘要:数据库评测基准在数据库发展历史中的作用不可替代,而大数据环境中传统评测基准不敷应用。因此,从评测基准3要素,即数据、负载、度量体系入手,研究具有高仿真性、可适配性、可测量性的大数据管理系统评测基准,对大数据管理系统的研发和应用系统选型至关重要。基于此,在简要分析评测基准的基本要素和大数据管理系统发展过程的基础上,重点分析大数据管理系统的基准评测需求与挑战,然后通过社交媒体分析型查询评测基准BSMA,探讨了面向应用的大数据管理系统基准评测的设计和实现问题。
关键词:大数据管理系统;评测基准;数据生成;负载生成;性能度量体系
Challenges and Progress of Big Data
Management System Benchmarks
Qian Weining, Xia Fan, Zhou Minqi, Jin Cheqing, Zhou Aoying
Institute for Data Science and Engineering, East China Normal University, Shanghai 200062, China
Abstract: Database benchmarking has stimulated the development of data management systems and technologies. In big data environments, benchmarking should be revisited. Therefore, research on benchmarks for big data management systems is a key problem for big data research and applications. Benchmark design can be achieved from three different perspectives, i.e. data, workload, and performance measurements. After the brief introduction to these three elements and the progress of big data management system research, the requirements and challenges to benchmarking big data management systems were analyzed. Through the introduction to a benchmark for analytical queries over social media data, named as BSMA, the issues of design and implementation of a benchmark for big data management systems were discussed.
Key words: big data management system, benchmark, data generation, workload generation, performance measurement
1 引言
数据库管理系统(DBMS)厂商间的激烈竞争造就了一个数千亿美元的市场。数据库基准评测(databasebenchmarking)确保了竞争的公平有序,从而引导了行业的健康发展。数据库评测基准是指一套用于评测、比较不同DBMS性能的规范,其所生成的性能指标值能够客观、全面地比较各个DBMS的性能差距[1]。
通常,新的数据库理论或数据管理技术被提出之后,会迅速诞生一批原型或商用系统。但技术上的差异常导致它们的性能表现不尽相同,从而引发系统开发商之间的争议。技术层面的争论和竞争促进了行业的发展;而诸多非技术因素的介入,则会破坏良性竞争。1983年发布的“威斯康星基准”[2],消弥了自关系型数据库管理系统(RDBMS)出现后纷争的性能口水战,促进了各DBMS厂商优化系统,并最终在常用负载(workload)下取得相近的性能。威斯康星基准的巨大成功以及以威斯康星大学DeWittD J教授和图灵奖获得者Gray J为代表的一批学者对数据库基准评测的适时推动,有效地保障了20世纪80年代开始的30多年的数据库行业的健康发展。
随着“大数据”成为应用热点,越来越多的应用环境中,数据、应用和系统体现出“3V”的特性[3],即量大(volume)、多样(variety)、快速变化(velocity):数据同时具备“3V”的特性,即数据规模大、变化速度和增长速度快,且包含多源、异构和非结构化数据;应用中包含大量作用于大数据的多样化的负载,且很多负载要求在快速变化的数据上获得实时的结果;系统则需要同时适应数据与应用,在不同的接口层次上提供对大数据的多样化的管理和处理功能。
针对新兴的大数据应用环境,在以Hadoop为代表的海量数据处理技术日趋成熟的同时,一批新型大数据管理系统(bigdata management system,BDMS)积极涌现,以解决大数据管理与处理中的各种问题。
新型的数据、应用环境和系统决定了现有评测基准无法产生具有仿真能力的数据,不能反映应用需求,无法公平、有效地评测系统。在包括数据生成、负载生成、度量选取、评测基准架构与评测方法等在内的基准评测的多个方面,都需要研究、开发新的技术,以更真实地反映系统在典型应用环境中的表现。评测基准是对大数据应用环境中数据管理任务的规范化与定义,对大数据系统的研发具有指导意义。
基准制定是一个漫长的过程。RDBMS的基准评测经过30多年的发展,仍在不断完善。而影响力较大的早期大数据评测基准CALDA提出至今不过4年[4]。目前的相关评测基准在应用抽象、评测内容与方法、应用程度上都仍在初级阶段。可以预见,未来的5~10年评测基准将和BDMS的研发共同高速发展[5]。
另一方面,由于我国用户分布、商业模式、政策法规的特点,应用环境具有一定的特殊性。这种特殊性体现在数据、负载特性上。国外数据库厂商因对我国国情的不了解甚至是有意抵触,很难在短时间内研发出适合我国需求的系统和应用。面向具有特色的应用,制定评测基准,有助于引领大数据技术和系统的研发,为解决我国所面临的最急迫的大数据管理问题做出贡献,同时促进国内大数据系统的研发,提振国内大数据行业的发展。
本文将在简要分析评测基准的基本要素和大数据管理系统发展过程的基础上,重点分析大数据管理系统的基准评测需求与挑战,然后通过社交媒体分析型查询评测基准(benchmarkof social media analysis,BSMA),探讨面向应用的大数据管理系统基准评测的设计、实现问题。
2 评测基准的基本要素
从宏观角度看,评测基准的3要素是数据、负载和度量体系,下面分别进行介绍。
● 数据:不同应用的数据具有不同的静态和动态特征,体现在结构、规模、数据分布、变化速率等多个方面。传统基准通常只采用固定数据结构和数据分布下的数据生成方法产生高仿真数据。而如何准确刻画大数据静态和动态特征,如何在特征已知或未知的情况下,高效地生成测试所需的海量数据是大数据管理系统基准评测所需要解决的问题。
● 负载:负载是作用于数据的访问和查询、更新、分析任务。大数据管理系统评测基准必须能够产生反映应用需求的多样化的负载(variety)。和数据一样,评测基准的负载必须在静态和动态特征上与应用具有相似性,即对于评价指标而言,模拟负载能够反映应用的需求。具有良好适配性的负载生成理论和方法是大数据管理系统基准评测的第二个要素。
● 度量体系:度量体系指对于性能进行评价的指标集合。指标可以是单一的,也可以是多维的。BDMS应用环境不同于传统DBMS。例如,新型硬件要求在评测时考虑非传统的性能度量,如忙时数据更新量(面向集群化的大内存系统)、热点数据更新频率等;开放的运行环境要求评测能够反映系统受干扰时的性能;分析型负载则将性能度量和结果的精确程度绑在一起。此外,性价比、能耗等因素进一步增加了BDMS度量体系制定的难度。
3 大数据管理系统及其评测基准需求
3.1 大数据管理系统的分类
大数据管理系统通常指那些基于集群环境,利用大容量内存、高速网络,支撑海量数据存储、索引、更新、查询、检索、分析和挖掘的数据管理系统。谷歌公司的GFS、MapReduce实现以及BigTable系统可以认为是最早出现的有代表性的大数据管理系统。而随着开源系统Hadoop的出现和相关开源生态圈的发展以及BerkeleyData Analytics Stack系列工具的快速发展,一大批系统和工具都可被归于BDMS的范畴,如图1所示[6]。这些系统的功能、接口层次、架构、实现技术、面向应用和所依赖的底层硬件各不相同,如何客观、公正地比较它们在不同应用场景下的性能,无论是对于系统开发者还是应用开发和系统选型人员来说,都是一个难题。这也是BDMS基准评测对于指导系统研发、系统选型,营造良好技术竞争环境的意义所在。
图1 大数据管理系统及它们之间的关系
3.2 大数据管理系统基准评测需求
BDMS评测基准首先需要具备大数据建模与高仿真的数据生成的能力。具体而言,包括以下需求。
● 大数据静态和动态特征的刻画:对现实应用场景中的真实数据进行动态和静态特性的刻画,是形成数据生成理论的前提。数据的静态特征包括数据结构、数据分布、精确性以及时序关系等。在成熟的应用领域,数据静态特征往往已经有模型进行描述。但大数据的动态性(velocity)特征难以用单一模型进行刻画。对数据的静态和动态特性进行参数化的刻画是高仿真数据生成的前提。
● 高仿真的数据生成方法:大数据应用的特点决定了需要采用应用相关的数据生成方法。同时,大数据的复杂性和动态性决定了对数据特征的刻画无法由领域专家完成,而需要通过统计和机器学习自动进行。
● 动态数据高效持续生成:大数据不断变化、持续更新。因此,评测基准需要具备采用并行数据生成、流式数据生成等技术,仿真真实的海量、快速变化的动态数据的能力。
其次,BDMS评测基准还需要具备能够满足多场景需求的综合负载生成能力,具体介绍如下。
● 负载特性刻画与建模:常见负载包括数据访问、数据检索与查询、数据更新、批处理、迭代运算、聚集计算等,它们的处理代价各不相同。应用中的负载常常是复合的,且负载的分布随时间而变化。同时,负载作用于不同的数据对象(负载参数(argument)),其处理代价也是不同的。而且负载参数的分布也是动态、多样的。具备丰富、灵活的负载特性刻画能力,是准确模拟应用负载的前提。
● BDMS原语与操作模式的抽象:BDMS的访问接口具有多样性。在不同层次的BDMS服务上,分别定义兼容多种系统的负载描述,是实现BDMS基准评测的前提之一。这一需求也是BDMS评测基准与传统数据库管理系统评测基准的一项重要区别。
● 可适配的负载自动生成方法与系统框架:应用的负载各不相同。为每个应用定制负载生成器,成本高、效率低,不能满足同一数据集上共生多种应用的BDMS基准评测需要。因此,给定负载特性刻画,生成不同接口层面的代表性负载和相应负载参数,是另一项重要的BDMS基准评测需求。
第三,负载相关的度量体系与测量方法对于BDMS评测基准至关重要。
● BDMS度量的基本特征与度量体系:BDMS系统的性能评价包括多项非传统的度量,包括数据分析的实时性、系统的弹性能力,即环境变化时的自动管理能力、精度与性能的复合度量、能耗和能效比等。因此,需要制定可重复、可核实的新度量体系。这又是一项显著不同于传统数据库管理系统评测基准的需求。
● 影响度量可测量性的不确定因素的量化与相关性分析能力:多种不确定因素会影响最终的评测结果。云计算、多租户、虚拟机环境都可能放大这种影响,造成评测结果的不客观、不可重复等问题。因此,需要对影响可测量性的因素进行量化和相关性分析,并进一步修正度量体系,以保证评测结果的客观和全面。
● 新的测量方法学:基准评测要求其过程和结果具有可解释性、可重复性、可审计性。测量方法要求对这些特定现象进行准确记录和描述。另一方面,大数据应用的数据和负载常具有非稳态、爆发性特征,即在特定时刻数据或负载量剧增。BDMS基准评测方法必须具有可伸缩性,使得对爆发性的数据和负载,评测过程和结果仍有意义。此外,评测的结果还必须通过公开的方式报告评测环境、评测过程和评测结果。
3.3 大数据管理系统基准评测的挑战
大数据管理系统的一个重要特点是“同类适用(onesize fits a bunch)”,即一个系统所针对的是具有相似特点的一类(bunch)应用,而不是所有应用。它不同于传统数据库管理系统的“一体适用(onesize fits all)”特点[7]。这也是不同BDMS之间的差异明显大于传统数据库管理系统间差异的主要原因。系统间的显著差异为基准评测制造了障碍。为了应对这一情况,BDMS评测基准也应具有“同类适用”的特点,如图2所示。
图2 BDMS评测基准的“同类适用”特点
具体而言,评测基准需要满足高仿真性、可适配性以及可测量性。
● 高仿真性,即生成的数据和负载在对于性能度量有明确影响的特征上具有高仿真性。
● 可适配性,即通过参数定制,基准评测套件可适配于不同领域,以对应BDMS系统的“同类适用”特点。可定制、可适配的评测基准对于降低评测成本具有重要意义,这是BDMS评测所特有的问题,也是难点所在。
● 可测量性,即基准评测结果在开放、动态应用环境中仍有意义,开放、动态的大数据应用环境向评测结果的可解释性、可重复性、可审计性、公平性提出了挑战。这一问题需要通过对BDMS进行更细致的建模以及大量的实验和实验结果分析加以解决。
BDMS评测基准还需要满足我国特有应用特点的需要。例如,在“双十·一”促销、“春运”抢票、优质金融理财产品发售等应用中,后台系统都会遭遇短时间的超高峰值负载压力。一方面,这是传统零售、运输、金融等行业“互联网化”的必然结果;另一方面,我国人口的巨大基数导致了此类负载压力远大于国外同类应用。如何模拟这类峰值(spike)场景,并进行准确的、有推广意义的评测,是一个重要的研究问题。此外,欺诈检测、情分析等应用由于与文化、国情紧密相关,因此在我国此类应用也具有特殊的负载。BDMS评测基准的研究与制定还需要反映这些特殊应用的需要。