作者:周傲英
1 引言
已经不记得第一次看到或听到“大数据”这个词是在什么时候了,应该比2012年3月29日要早不少时日。2012年3月29日,前美国总统奥巴马的科技政策办公室(Office of Science and Technology Policy, OSTP)宣布了投资两亿美元的“大数据研究和发展计划”。也是在同一天,我国科学技术部发布的“‘十二五’国家科技计划信息技术领域2013年度备选项目征集指南”把大数据研究列在首位。目前,大数据的热度似乎还在继续攀升,广度的延伸更是超乎预期。2012年5月28日,每年一度的数据库审稿会暨战略研讨会在新疆大学召开,按照中国计算机学会数据库专家委员会(以下简称专委会)的安排,李建中老师和笔者代表专委会给新疆大学的师生做学术交流报告。笔者当时的报告题目是“大数据时代的若干数据管理和分析问题”,讨论的话题主要包括:大数据的分类及管理、新兴的开源数据管理工具以及硬件发展(特别是内存计算)对数据管理与分析技术的影响。李老师的报告是关于大数据计算的,从李老师那里笔者了解到国内的大数据热已经风起云涌,蔓延到各个领域和各个层面。听了李老师的报告,受到启发,产生了一种想从数据库学者的角度来诠释大数据研究的冲动,于是就主动提出要在2012年10月合肥召开的第29届中国数据库学术会议上作一个题为“从数据库观点看大数据研究”的大会报告。因为这次报告,随后笔者多次受到邀请在不同场合介绍自己的观点和认识,也有机会得到更多的指点。专委会指派李战怀、王国仁和笔者以相同的主题把观点整理出来,作为提交给中国计算机学会的年度发展报告。方粮教授在了解相关内容后,推荐笔者和各位老师将稿件发表在《计算机工程与科学》上[1]。
作为一个数据库学者,当突然意识到“大数据”已经变成人人都在说的一个热词的时候,感觉非常特别。首先是一种本能的抵触,数据库本来就是研究怎么管理数据的,为什么要提出一个新的词,这很像2008年那场著名的关于MapReduce的辩论上数据库学者的反应。然后就会反思为什么在数据库辉煌50多年之后还会再出现“大数据”,而且更加风靡,Michael Stonebraker在获得图灵奖以后的演讲中也说明了这种反思[2]。 2016年5月25日,贵阳数博会期间,杜小勇教授组织了“第一届大数据科学与工程国际会议(2016) (BDSE2016)”中的“大数据分析与管理”主题论坛,笔者在会上的发言题目是:“从管理和分析说起:感悟大数据”,一是为了契合杜教授主题论坛主题,二是想分享自己这么多年的思考或曰感悟。
从1985年本科毕业后开始读数据库方向的研究生算起,笔者从事数据库学习和研究已经30多年了,对数据库很有感情,也有较为深刻的认识。受Jim Gray提出的科学发现第四范式的启发,2007年开始申请“国家杰出青年科学基金”时,就把主攻研究方向定为“支持数据密集型计算的数据管理”,这样算来也有10年时间了。2012年6月,在SAP公司的资助下,笔者得到华东师范大学的支持,成立了“华东师范大学云计算与大数据研究中心”,主要目的是联合国内高校开展内存及数据库等新兴计算和应用环境下的数据管理技术和系统,云计算和大数据研究中心的根本宗旨就是践行大数据体现的协同创新精神,迄今也有近5年。在此基础上,遵照华东师范大学的要求,华东师范大学数据科学与工程研究院作为一个二级实体单位于2013年9月26日正式成立,以大数据为背景的数据科学与工程学院已于2016年9月26日宣布成立,开展数据科学与工程[3]这一交叉学科从本科到博士的人才培养。介绍这些,是想说明笔者有资格发表有关大数据的一些感悟。这里的思考和感悟主要围绕以下几个方面展开:大数据何以成为国家战略?为什么要重提数据库理念?IT发展范型有何改变?最后结合笔者在概念和系统方面的思考和实践说明笔者在践行大数据方面的相关理念。
2 大数据何以成为国家战略
大数据在世界范围内都很热,这是事实。 据《参考消息》2012年12月12日报道,在美国的2012年十大流行词评比中,“大数据”名列第二,排名第一的是“财政悬崖”,后者是2012年美国人最为关心的政治事件。2012年底笔者在新闻上读到一些政府为推动大数据产业的发展,要规划大数据产业园区,成立大数据局,当时还觉得似乎是反应过度,更没有想象到会出现贵阳数博会这样的场面。无论这种潮流何去何从,笔者可以分析一下出现如此局面的原因。
2.1 大数据全景图
一开始,对于“全民大数据”现象总觉得匪夷所思,认为大数据是很技术的一件事,应该是从事技术研发甚至是数据库研发的人才适合谈论这一话题。仔细想想, 大数据是和现实应用密切相关的,而信息时代的各种应用服务都涉及数据,所有关心应用的人谈论大数据都是合理的。也就是说“全民大数据”现象没什么值得大惊小怪的。笔者喜欢用一个倒三角来描述这种场景,如图1所示。
图1大数据全景图
倒三角分成3层,最上面一层也是最广泛的一层代表的就是应用,凡是和应用相关的人士都可以被纳入大数据全景之中。这一层从右到左颜色也从浅变深,想表达的意思是真正实现大数据理念也是从易到难。大数据之所以能成为流行词,深入人心,主要是因为在互联网企业中取得极大成功。早期的互联网企业,都是起步于在线娱乐游戏、搜索引擎或是网上购物。这些互联网应用的共同特点就是:其商业模式(或曰业务模式)都是自创的,没有受到线下现实社会的太多约束。换一句话来说,就是这些应用是虚拟世界中的应用,和现实世界关系不大,应用涉及的业务逻辑可以自行设定,涉及的战线比较短,需要的数据都是互联网企业能收集和掌握到的。在我国,百度、阿里巴巴、腾讯(BAT)起家的业务模式都是这种类型,百度是做搜索引擎起家的,阿里巴巴是做电商起家的,腾讯是做即时通信和在线娱乐起家的。BAT的成功振奋人心,也给人们带来无限的想象空间,但是要想在健康医疗和教育领域甚至社会治理等领域复制BAT的成功,困难程度远非预想。这既有战线长、数据孤立、难以形成闭环的原因,也有内生机制(也就是人们常说的互联网基因)的原因。BAT依靠其在虚拟世界的成功以及这种成功带来的资金、人才和管理方面的优势,强势进入现实世界的其他应用领域,这是当前的一种重要趋势。国内互联网企业称之为从线上到线下(online to offline,O2O),也就是利用互联网思维渗透到线下现实应用,带来的是跨界、颠覆和倒逼。
倒三角的最底下一层,代表大数据这个大家族中小众的那个群体,即IT。在互联网企业,对应的就是计算系统或计算平台。对作为信息服务业的互联网企业而言,虽然它们不是IT企业,但IT能力是企业的核心竞争力。用倒三角的最底层表示IT恰如其分,一个倒立的三角形是不是稳固,关键还是要看其IT能力够不够尖端,能不能很好地支撑上层的计算需求和应用需求。
倒三角的中间一层代表建模和算法。在互联网企业,随着用户规模的增长,与用户相关的交易数据和交互数据(合起来可以称为行为数据)呈指数级增长,如何利用好这些数据是衡量互联网企业赢利能力的关键。对这些数据进行实时分析来实现精准营销和风险控制,是其中的典型应用,说得直白一点,就是常见的在线广告和个人对个人(peer to peer,P2P)金融。与这个层面对应的专业人士主要包括数理统计、矩阵计算和数值优化等应用数学领域的专家。当然,他们最重要的作用就是基于其坚实的数学功底,深刻理解应用,并在底层的计算平台上把他们的知识变成算法予以实现。这些专家的重要性不言而喻,人们会称他们为“数据科学家”“首席科学家”。一个企业或是一个行业,随着应用的深入,这一层面会变得越来越重要,也就越来越厚。当下时髦的深度学习、人工智能也都是诞生于这一层面,是为了强调其重要性。
2.2 大数据热的由来
上文用倒三角形容大数据人员群体的全景。为了说明大数据为什么会变得那么热,首先来看看大数据这个倒三角的演化过程,如图2所示。
图2 大数据演化过程
图2为大数据的演化过程。在互联网出现的时候,原本没有大数据的说法,有的只是想象当中的应用,也就是企业家心目中的创新型的应用。拿马云来做例子,这个应用就是免费的eBay,或是说之后的阿里巴巴或淘宝。在最初的阶段,整个倒三角就是应用。为了实现企业家心目中的应用,要有IT专业人士搭建计算机系统和计算平台。在这个阶段,因为资金和技术都极其有限,只能用最廉价最省钱的方式完成任务,就阿里巴巴而言,应该是“十八罗汉”中的程序员用开源的软硬件技术完成了任务。这个阶段结束以后企业就可以上线了。随着用户的增加和收集的用户行为数据(包括交易数据和交互数据)的快速增长,下一步要做的工作就是精准营销或是风险控制,这是企业赢利和发展的关键所在,需要应用型数学家的介入。正因为其关键作用,人们用“大数据分析”“深度学习”“人工智能”描述这个过程,用“数据科学家”指代从事数据分析的人群。 整个演化过程可以分成3个阶段:第一个阶段是应用阶段,第二个阶段是IT阶段,第三个阶段是大数据阶段。尽管大数据阶段至关重要,但应用阶段的商业模式以及IT阶段的平台搭建更是决定性的。从这个演化过程不难看出,对大数据的理解和认识不能只停留在欣赏其表面,那样很容易使其神秘化和玄虚化,更需要了解其赖以存在的载体,即成功的业务模式和IT支撑环境。
大数据为什么会热起来?那是因为有了互联网。最早讨论类似大数据这样的概念应该是在数据库以前,这个观点在笔者翻译的《海量数据分析前沿》[4]有论述。20世纪40年代,世界第一台回旋加速器在美国伯克利建成运行之后,科学数据管理就成为一个极具挑战性的问题。Jim Gray生前几年一直在倡导科学观测和科学实验等科学大数据的研究,人们把这个总结成科学发现的“第四范型”[5]。但是,真正能让大数据深入人心、让人们喜闻乐见的原因,究其缘由,还是互联网。“互联网改变世界”,这是20多年前很多学者向听众介绍互联网时常说的一句话。当时并没有引起太多注意。 互联网改变世界的根本原因在于它改变了人与人之间的连接(people connection),并且通过注重用户体验(user experience)体现以用户为中心的理念。这两点是革命性的改变,连接的改变不单单是距离或时间的缩短,也不单单是常说的任何人(anyone)、任何时间(anytime)和任何地点(anywhere),形形色色的社交网络和媒体平台都提供了人与人建立连接的渠道。因为是在线连接,用户体验的改善也变成现实可行的。人们在线期间的显式或隐式的反馈为分析用户体验提供必要的基础,显式的反馈包括用户主动输入的评论或建议,隐式的反馈包括用户的在线日志(上网时间、地点和访问路径等)。收集到的海量用户数据反映了用户的方方面面,对这些数据进行协同过滤和深度学习等智能分析,就可以很清楚地了解用户的喜好和意图(所谓的用户画像),目的是进行精准营销(计算广告)和风险控制(如P2P金融)。
大数据的本质就是原本各自孤立的数据得以互相关联、融合。上文讨论的Web大数据是这样,传统的企业大数据也是一样,科学大数据更是如此。大数据之所以在这个时代成为一个热点,是因为互联网为数据的汇聚提供了平台和可能性。再用一个通俗的例子来说明,网上暴力“人肉搜索”就是大数据应用的典型。当一个人突然成为“网红”,通过社交媒体或其他在线媒体得到大家的关注,激发了大家的娱乐兴致,广大网民通过网络把原本分散在不同人手上的信息汇聚在一起,通过大家的添油加醋反复迭代的加工和处理,就会形成一波或长或短的娱乐浪潮。
作为一个从事数据库系统研究的学者,喜欢从大数据支撑系统的角度把大数据分成前面提到的三大类:Web大数据、决策(或商业智能(business intelligence, BI))大数据和科学大数据,因为支撑这3类大数据的系统有明显的差别。Web大数据出现最晚,也就十几年的时间,与有40多年历史、靠数据库系统支撑的决策大数据以及有更长历史、被科学和统计数据库管理(SSDBM)会议关注的科学大数据相比,它的受众(广大网民)最多,目标(赢利赚钱)也最简单。互联网企业特别注重用户体验,这有其内生动力,因为互联网经济本质上就是“眼球经济”“粉丝经济”或曰“人气经济”,它把“人与人连接”以及“用户体验”这两大革命性的法宝的功能发挥到极致。互联网企业的极大成功,再加上活生生、通俗易懂的例子,告诉了人们什么是“大数据”。
2.3 大数据国家战略
互联网企业是使大数据变得炙手可热的重要推手。除此之外,还有一些客观原因。从技术上来说,Web大数据有Hadoop这样的“明星”系统,开源的Hadoop形成了不同于传统模式的创新社区。 因为有了Hadoop开源社区的成功,信息技术的创新就突破了原先由跨国IT企业主导的垄断局面,形成了“大众创业、万众创新”的局面。这一点对我国特别有意义,有启示性的意义。在信息技术上我国企业一直受制于西方国家尤其是美国主导的跨国大企业,几十年来,这些企业采用“在低端怂恿盗版、在高端淘空人才”、釜底抽薪的策略,成功使得我国的信息化基础设施建设严重依赖于他们。导致的结果,不仅仅是我国付出了高额的成本,严重影响信息化建设的推进和广大人民群众对信息化成果的享受,更为重要的是,国家经济和社会安全存在重大隐患。近几年来,随着“维基泄密”和“棱镜门”事件的发生,逐渐深刻地认识到“没有网络安全就没有国家安全”这个基本的道理。基于成本和安全的考虑,我国提出了“技术领先、企业先进、自主可控、安全可靠”的新时期信息技术发展战略。
大数据时代信息技术的发展范型发生了根本性的变化,这一点在第4节还会展开讨论。这一发展范型的转变为我国在信息技术领域赶超世界先进水平提供了机会。传统的发展范型下,我国的信息技术发展受到了极大的制约,失去了发展的机遇。互联网企业的成功给我国带来启示,帮助人们打破一直以来对垄断性IT企业及其产品的迷信。在信息技术的发展道路上,跨越式发展和弯道超车是时常发生的现象。对于我国的IT专业人士而言,现在比历史上任何一个时期的机遇都要好,都要真实。垄断的跨国IT企业还沉浸在以前那种在中国屡试不爽取得巨大成功的商业模式中,而中国的应用对IT技术的需求却发生了巨大的变化。中国的互联网企业做出了重要的贡献。2013年,当阿里巴巴宣布其成功做到在IT架构中“去IOE”时,得到了广泛的关注和认可。去掉IBM的小型机、Oracle数据库和EMC的高端存储,代之以自己基于开源软件开发的系统,这是互联网企业在处理大数据时总结出来的经验,也代表了我国IT人的心声。
以上是从技术层面讨论了大数据之所以成为国家战略的原因。大数据对人们的意义不只是在技术层面。正如互联网是催热大数据的主要因素一样,互联网也是大数据成为国家战略的主因。前文说到,互联网的本质体现在连接人和用户体验两个方面。用户体验就是利用大数据进行用户行为分析和画像,是实实在在的大数据分析。互联网企业的成功就得益于其在用户体验方面的精益求精以及新颖的商业模式和讨巧的赢利方式。互联网经济的本质就是在各自营造的虚拟世界里聚集人气,等有了足够的人气再利用收集的数据精确分析用户行为,投其所好,注重用户体验,用“羊毛出在猪身上”的方式来盈利。人们起初把这种模式称为“流量变现”,等认识深刻一点以后,发现其背后真正的逻辑是“数据变现”。这种逻辑是早期互联网企业的共同逻辑,因为基本逻辑是一样的,他们的发展自然就会殊途同归。举人们熟悉的例子,百度、阿里巴巴、腾讯是我国互联网企业的成功代表,它们起步的时间差不多,但是聚焦的业务差别很大,分别是搜索引擎、电子商务和即时通信。可是,经过21世纪初以来的十几年的发展,三者业务却不知不觉地变得雷同,竞争也针锋相对。相信对2015年春节前后的支付宝和微信红包的大战还记忆犹新,原因为:支付是互联网的连接功能中最紧密的一种连接,抓住了一个用户的支付,就能更紧地把这个用户连在自己的平台上。对支付的竞争就是新一轮的用户之争、人气之争。业务的雷同,根本原因就是在线虚拟世界的“眼球经济”本质相近,蛋糕有限,把蛋糕做大,从线上走到线下是成功后的BAT的唯一出路,所以就出现了中国互联网世界特有的O2O这个概念。对起步于线上虚拟世界的互联网企业而言,线下的现实世界就是其大有作为的广阔天地。在这样的背景下,腾讯2012年提出的“互联网+”在2015年的两会上被赋予了更广泛的含义,成为国家层面的行动计划。按照以上思路来理解, “互联网+”行动计划的根本目标就是所有行业包括政府本身,效仿互联网企业的做法(或者说是遵循互联网思维),利用大数据从提升用户体验的角度提供产品或服务。在某种意义上而言,最近提出的供给侧结构性改革也遵循了同样的思路。
按照出现或提出的先后顺序,从“互联网”到“大数据”,再到“互联网+”和“大众创业、万众创新”,直到2015年提出的“供给侧结构性改革”,它们都是一脉相承的。供给侧结构性改革更着重的是需求侧,想方设法满足、释放、激发乃至创造需求是其核心。互联网企业在这方面做出了很好的榜样,它们是充分利用了大数据才得以做到这一点的。从这个意义上来说,“大数据”成为国家战略顺理成章。
3 重提数据库理念的原因
数据库概念的诞生迄今为止已经有50多年了,发生在计算机从最初纯粹的计算领域转到商业应用领域的20世纪60年代。数据库的诞生也是由应用来推动的,这与当前大数据概念诞生的情景非常相似。不同点在于数据库技术和系统成熟以后,出现了Oracle这样的大型企业,主导了数据库技术的市场生态构建,也影响着数据库技术的发展和进步。在大数据时代,代之出现的不再是类似Oracle这样的企业和生态,而是Hadoop这样的开源社区和生态。还有一点相同之处,数据库发展的原点或者说起点是文件系统,初学数据库课程时,第一章的主要内容就是比较数据库和文件系统的异同点。作为真正意义上的第一个大数据系统,奠定Hadoop基础的第一篇论文就是2003年发表的关于谷歌文件系统(GFS)的文章[6],而后才有2004年为方便非专业人士编程使用的MapReduce文章发表[7]。数据库和大数据出发的原点都是文件系统,这是一个重要的认识。认识到这一点的重要意义在于,在探索支持其他业务的数据管理技术时,可以参考数据库和当前大数据的经验,从原点的文件系统开始,在观念和实践上少走弯路。
把数据库和大数据放在一起来讨论,是试图站在更高的角度来看数据库和大数据。以前笔者讨论过如何站在数据库角度看大数据,也讨论过如何在大数据角度来看数据库。在这里,可以把“大数据”狭义地当作一个技术和系统,这样的话,可以把数据库和大数据放在同等的地位来比较和讨论。数据库是从文件系统这个原点出发的,走过了50多年,形成了数千亿美元的巨大技术市场。大数据也是从文件系统这个原点出发的,走过了10多年,形成了当前风靡一时的开源生态系统,促成了“万众创新”的局面。两者都是因为应用的推动而诞生,时下所面对的新型应用异彩纷呈,目不暇接。在“互联网+”行动计划和“大众创业、万众创新”的号召下,传统业务模式的再造和创新性业务模式的提出都对数据管理提出了不同于数据库或大数据的需求。也就是说,从原点文件系统出发,未来可以预期的是针对不同的应用,会有许多类似于RDBMS、Hadoop的系统诞生。从原点出发,360°的每个方向都可能走出一条路。要想理解怎么才能走出一条路,就应该深刻理解为什么数据库能取得如此大的成功。
3.1 数据库理念
数据库作为一类重要的系统软件,在计算机系统中具有举足轻重的作用,数据库也因而发展成一个重要的学科方向。按照国际上通用的学科分类方法,计算机科学这个学科可以进一步细分为4个分支:人工智能、程序设计语言、系统、理论计算机科学。系统包括各类软硬件系统和应用系统,是计算机学科的重要部分,体现了这一学科的重要特点。数据库作为系统分支中的一个重要方向,历经50多年发展,学科内涵日趋丰富,其中最核心、最区别于其他方向的内涵称之为“数据库理念(database philosophy)”,其基本含义就是真正研习数据库、能理解数据库精髓的人会不自觉地按照这种理念去思考问题、分析问题和解决问题。可以说这是数据库人的一个基本素质、一种习惯。在笔者看来,数据库理念就是两个字——“抽象”。50多年前产生数据库概念和系统,就是源自于“抽象”。对数据语义(data semantics)的抽象, Codd E F提出了关系数据模型;对业务逻辑(business logic)的抽象,Jim Gray完善了事务处理模型。纵观历史, 数据库就是因为关系模型、事务处理,再加上查询优化(系统实现、索引等)这三大成就,造就了数据库50多年的辉煌和数千亿美元的市场。
抽象本身就是概括和泛化,就是从具体到一般,抽取出事物的共同点。 数据库理念中的抽象可以归结成两个方面:语义抽象和业务抽象。语义抽象本质上指语义的抽取。在一般文件系统中的数据,其语义是完全混在数据的表示之中的,摆脱了数据的表示无法谈数据的含义。在关系数据库中,关系模型作为一个建模工具,要求在进行数据库设计的时候,把语义从数据的表示中完全剥离出来,数据的语义完全反映在关系模式上。用另外一句话来说就是内容和结构的分离,这也是所谓结构化数据的确切含义。相比之下,在从事多媒体研究的专业人士眼里,其更多面对的是所谓的非结构化数据,诸如信息检索、图像处理、自然语言处理等,他们能做到的就是特征选择或特征抽取,特征作为语义,但没法像数据库那样完全分离开来。在这个意义上来说,关系数据库的语义抽象是一个极端的例子。在 业务抽象方面,事务处理也是一个极端的例子,在关系数据库管理系统(relational database management system,RDBMS)早期的发展中,将记账、订票和银行转账等业务抽象成统一的事务处理。当然,随着应用的推广,应该根据对业务的理解进行不同层次的抽象。数据库以后出现的TPMonitor和事务中间件也是一种抽象,在Hadoop中,MapReduce本质上也是一种业务抽象。
3.2 大数据语境下的数据管理
抽象是数据库的基本理念,秉承这种理念来看数据管理技术和系统的发展脉络,可以站在更高层面理解当前的大数据热,也可以展望数据管理技术和系统的发展趋势。数据库是数据管理的“温饱”阶段,其信守的原则是“one size fits all”,之前的数据库人以及其他领域的人都接受了这个认识。将数据库看作数据管理的“温饱”阶段,就是因为人们认为所有有关数据管理的事情都要由数据库来解决。“大数据”概念的诞生,标志着数据管理进入“时尚”阶段,人们为了解决数据管理问题不再求助于数据库系统,开始研发适合自己的系统。如果说在数据库时期,解决数据管理问题需要“削足适履”来使用数据库系统,那么到了大数据时代,人们开始根据每个不同的应用度身定制自己的系统,也就是“量足制鞋”。随着Hadoop大数据系统的成功,数据库人开始意识到“one size doesn’t fit all”。
在经历短暂的迷茫和苦闷之后,数据库界很快提出了“one size fits a bunch”的独到见解。这一见解充分体现了数据库理念。度身定制一个系统是谷歌公司以Jeff Dean为首的技术人员为解决快速准确搜索问题而进行的,他们的文章[6,7]发表以后,Hadoop却出乎意料地出现、开源了,并且很快得到广泛的关注,人们开始改进和完善Hadoop,用它来解决更多其他的应用问题。这实际上就是走了“one size fits a bunch”的道路。为了能适用一捆(a bunch)应用,就要对应用进行抽象。基本的发展路径为:最初的系统是因为要满足具体的应用而设计研发的,成功应用以后可以看其他相似的应用是否可以使用这个系统。随着开源或更多人的加入,根据对相似应用的抽象,进一步改进和完善系统,这个过程是一个迭代的过程,也是一个从具体到一般的抽象过程。对于系统研发人员,不是数据库时代那样追求“one size fits all”。对于应用开发人员,在具体应用开发时也不需要“削足适履”,而是在开源社区里寻找合适的开源软件作为支撑系统的基础。
人们在谈到大数据时往往是在谈数据分析,是在讨论如何靠数据分析来分析用户行为,改善用户体验,也就是如何利用大数据做精准营销和风险控制。这一类的数据分析不追求百分之百的精确,往往是以排序或概率的形式呈现结果。当第一批成功的互联网公司经过十几年的发展,逐渐走向同质化、形成直接竞争的时候,其共同做法就是把“蛋糕”做大,从线上走到线下。与此同时,在“互联网+”行动计划的号召下,越来越多的传统业务会接受互联网和大数据思维,立足提升用户体验,创新业务模式,从线下走到线上,称之为反向的O2O。这两种O2O基本构成了“互联网+”的具体实践局面,其共同之处就是把传统的线下现实世界中涉及人、财、物交易的情形移到互联网上来实施。与典型的分析型的大数据应用不一样,财物的交易要做到绝对精确,要有类似数据库系统那样的恢复和容错机制,这就是互联网级的任务关键型(mission-critical)应用,或是说,面向互联网级应用的事务处理系统。举例来说,在竞争日趋激烈的形势下,金融、电信等服务行业都乐于采用类似“秒杀”这样的互联网化的促销手段。“秒杀”指的是在特定时刻推出一定量的优惠产品,通过媒体和广告宣传,吸引大量潜在客户进行抢购,从而在促销的同时达到宣传作用,进而带动其他产品销售。对于IT支撑系统的开发和运维人员而言,“抢票”“秒杀”等销售行为,由于其接入用户量巨大,为后端的票务管理、订单管理、物流以及支付等核心信息系统造成了短时超高负载。从用户规模看,这样的应用是“互联网级”的;从应用特征看,它们是核心或关键任务应用;从负载特征看,它们面临的是“现象级(phenomenal)”的负载。这一类系统在我国有很大的发展空间,阿里巴巴阳振坤博士领导开发OceanBase系统的初衷就是为了支撑“双十一”购物节超高频度的交易和支付。
我国的信息化程度和水平相比西方发达国家要落后一些,互联网的普及使得我国有绝佳的机遇在信息化推进方面实行跨越式发展,甚至实现超越。我国的人口基数以及近年来网民数量的剧增、新型信息服务的快速发展,对支撑互联网级任务关键型应用的系统的需求越来越迫切。“垂直化”是这些应用的一个重要特征,即事务处理、分析处理一体化,与应用逻辑形成闭环,如图3所示。对于金融欺诈检测、实时信用报告查询、电信故障报警等应用而言,传统的从事务系统向分析系统的批量导入、闲时导入方式不能满足应用的实时和高一致性需求。而这两点正是事务处理的关键。因此,实时数据注入也是互联网级应用的重要需求。
图3 支撑互联网级任务关键型应用的数据系统
3.3 关于开源软件的联想
上文讨论了支撑互联网级任务关键型应用的数据系统,几年前谷歌公司就发布了有关F1和Spanner系统的消息,但是都很简单,难以窥其全貌。虽然其系统是与在线广告有关的,但是由于涉及数据一致性和事务处理,对于支撑任务关键型应用还是很有价值的。笔者最近得知, 谷歌作为一个搜索引擎互联网公司已经开始招收大批传统的数据库学者和专家加盟,说明事务处理等传统数据库概念和技术在互联网环境下重新引起了关注。现实世界的应用需要数据库,虚拟世界的应用又在以极快的速度和现实世界接轨融合,在新的应用环境中,数据库也同样被需要。随着我国“互联网+”行动计划的推进,对这类系统的需求也就越来越迫切。
在开源社区里,类似Hadoop和Spark的分析软件琳琅满目,国内的同行也使用得得心应手。但如果没有开源软件,国内专家是否有勇气做自己的开源系统,营造出一个良好的开源文化和生态,这个问题至关重要。开源是新一轮IT创新最大的特点,也是我国IT界难得的机遇。如果没有在开源文化和开源生态方面有所进步,注定会错过这一轮的发展机遇。虽然“大众创业、万众创新”提供了良好的舆论和政策环境,但真正理解并且付诸实践则完全是另一回事。由此笔者联想到“小偷和强盗”的场景。
“小偷和强盗”场景是这样的。20世纪90年代,中美两国围绕加入WTO展开了多次知识产权谈判,软件盗版和专利保护成为争执的焦点,我国的贸易谈判代表处于被动局面,被推到风口浪尖。1991年11月21日,时任副总理的吴仪前往华盛顿与美国代表团展开新一轮谈判,尚未落座,就遇到了美国贸易副代表沃夫的挑衅,沃夫说,中国人盗版,是小偷,他这次是要来和小偷谈判的。吴仪副总理在沃夫话音未落之时就回敬,“我们也曾经遇到过强盗,我们是来和强盗谈判的”。
2013年,笔者受邀担任中国大数据技术大会(BDTC 2013)程序委员会主席,全程参加了12月5日和6日两天的大会。直接的感受就是,与会代表热情很高,与会者都是购票入场,两天的会议有超过2 000人参会,场场爆满,这与学术界的很多活动形成鲜明对比。这次参会给笔者耳目一新的感觉,也引发一些思考。在准备大会最后的发言时,笔者的眼前浮现出“小偷和强盗”的场景。笔者当时发言的大致意思是:这实际上是一个Hadoop用户大会(尽管当时请了Spark的Ion Stoica来演讲),只是因为Hadoop是开源的,没有盟主。包括来自BAT的大多数报告都在说明如何将Hadoop用得好、用得有效,系统的节点很多,数据量很大,服务的人群很大,名列世界第一。这些都是成功的,值得肯定的。可是,很少或者说几乎没有听到介绍如何开发新的功能回馈到Hadoop开源社区中去。笔者认为,只有那样才能赢得尊重和钦佩,而不只是仅仅被认可。如果只是想从开源的“池子”里获取想要的免费开源软件,而没想到要贡献自己的代码和软件,这无疑还是一个“小偷”,或者说还是小偷心态。小偷越偷越弱,强盗越抢越强。很多规则是由强盗制定的。今日的开源与最早的开源似乎有很大的不同,开源背后可能有更加强大的商业模式。如何争取在开源世界的话语权,营造自己的开源文化和开源生态是一个值得深刻思考的问题。
4 笔者的认识和实践
与以往不同,最近这十几年信息技术的发展都是围绕数据展开的,这在以前是很难想象的。以前的进步大多是以硬件的速度提升或体系结构的创新为标志,没有更多地关注应用,没有把满足用户的需求作为根本动力。这也许昭示了信息技术发展范型的转变。本节将讨论对IT发展范型转变的认识,秉承上文提到的数据库理念,结合当前的区块链技术热点,介绍笔者的一些认识和系统研发实践。
4.1 IT发展范型的转变
传统的IT企业分成3类:硬件制造商、软件生产商和系统集成商。产业互动的基本模式就是系统集成商作为乙方为应用单位(甲方)提供解决方案和采购清单,甲方按照乙方的要求购买硬件和软件产品,乙方按照软件工程的瀑布模型根据时间节点要求为甲方开发应用系统。乙方作为解决方案提供商,实质上就是把甲方购买的系统集成起来,用以满足甲方提出的信息化需求。这是人们熟悉的模式,也是专业人士一直习惯的模式。这种甲方乙方的方式有很多弊端,包括建设周期长、成本高,且这种模式只是甲方乙方的一种博弈,系统建设的真正目的和系统的最终用户没有被重视。
互联网时代,很少会有互联网企业按照这种甲方乙方的模式开发它们的信息系统。首先,要清楚一点,互联网企业不是IT企业,它只是一般的信息服务企业,因为它既不生产和销售硬件软件产品,也不提供信息系统解决方案。可是,人们有时候会很自然地把它们归入IT企业,那是因为IT对于互联网企业极为重要,表面上给人以IT企业的感觉,IT能力是互联网企业的核心竞争力。互联网企业的兴起将IT发展范型带入了一个新的阶段。 现在实行的IT发展范型是:应用驱动、度身定制、融会贯通、开源系统。这种范型带来了深刻的变化,包括技术路径和行业理念方面的变化。伴随着互联网企业的兴起,人们也充分认识到,这十几年以来,作为非IT企业的互联网企业推动了IT的发展,而不是像以往那样由IT企业提出概念,推出产品,进而推动技术和应用进步。云计算和大数据无疑是近十几年以来IT领域最重要的概念,这两个概念都不是IT企业推出和推动的,反而是亚马逊公司和谷歌公司来主导或推动的,这体现了IT领域应用驱动创新的事实。
应用驱动创新是IT创新的基本特征,这种驱动不是单向的。业务和技术的进步是相辅相成、互相促进的关系。以神州专车为例,从传统的意义上来说,神州专车的信息平台是一个管理信息系统,是为司机和乘客服务的。实际上,这也沿袭了管理信息系统的理念,后台被称为客服,司机使用的称为4G端,乘客使用的为应用。从互联网的角度来看,这个平台支撑的是一个典型的互联网应用,利用各种优惠吸引用户下载应用,利用移动互联网和位置信息进行服务预订和自动派单,利用大数据分析设计各种激励机制,调动司机积极性和提升用户体验。调研发现,平台系统升级频繁,体现了“按需服务”的思想。在这样的平台上,司机、乘客和管理团队都成为促进系统完善的动力。业务的发展和技术的进步互相促进,形成迭代,也就形成一个创新的正向循环。从技术创新来看,开源的技术生态的建设客观上为万众创新提供了基础,IT的创新由以前IT垄断企业主导的模式变成了由现实应用开发人员来推动。其中的根本原因是,互联网企业取得的极大成功,特别是其在IT领域的创新和开源,打破了长期以来形成的垄断和迷信。这告诉人们应该去崇尚创新能力,而非基于已有的IT产品做简单的拼接和集成,应该立足现实应用,勇于根据需求度身定制,实现自己的系统。
4.2 分享型数据库
在大数据战略和“互联网+”行动计划的推动过程中,共享经济或分享经济(sharing economy)又成为一个热门话题。为分享经济业务模式提供运营支撑的信息技术自然是一个值得关注的问题。前文也提到过,数据库理念的核心就是抽象。如果能针对分享经济的各种模式抽象出共性的有关数据的概念和技术,是否就可以有一个被称为“ 分享型数据库(sharing database)”的概念,这也是在这里想阐释的。
互联网经济的发展轨迹可以分成3个阶段:粉丝经济、智慧经济、分享经济。粉丝经济阶段就是前面说的眼球经济阶段,主要做法就是流量变现,主要手段就是在线广告和服务或产品推荐。 智慧经济阶段,实际上就是大数据阶段,利用大数据分析做精准营销和互联网金融,智慧就体现在对数据的驾驭上。当前我国的互联网经济处于 分享经济的预备阶段。2015年以来,分享经济成为政府、企业和学者关心的重点问题之一。这也很容易理解,分享经济的一个核心思想是盘活资源存量,在不增加资源消耗的前提下提高使用率和有效性,符合生态文明建设的宗旨。政府一直以来孜孜以求的简政放权也和分享经济倡导和依赖的“去中心”“去中介”思路如出一辙。从这两年我国关于网约车的行政规定和政策出台的过程,能切身体会分享经济的强势启动。国际上,优步(Uber)、空中食宿(Airbnb)等分享经济模式也进入一个爆发发展的时期,为人们观念的更新和我国的相关行业发展提供了有价值的参考。
时下来谈论分享经济, 区块链(blockchain)与比特币(BitCoin)也是绕不开的话题。区块链就是一个分布式账本,本质上是一个去中心化的P2P分布式数据库。近来,比特币因为其底层的区块链技术再度成为热点,只是人们这次关心的焦点落在底层的技术上。区块链这个P2P分布式数据库,就像传统意义上的记载所有交易记录的账本,因为其去中心化、无界性、顽健性、无需信任、低成本等特点,迎合了当前分享经济的潮流,成为后互联网时代受到追捧的技术和理念。
众所周知,数字化、城市化和全球化是当今世界的三大趋势,它们相互影响,相互增强,正在重塑世界,其中数字化最具颠覆性。数字化可以彻底改变传统行业的业务模式,在中国,以BAT为代表的互联网企业已经扮演这样的角色。在数字化进程中,区块链可能会是下一个如此角色的扮演者。它不仅仅会影响金融服务,还会影响物联网和分享经济的发展。区块链技术让人们可以交换类似于比特币、股权凭证、合约、证券等虚拟货币,也能为Uber、Airbnb等分享经济业务模式提供更好的支持。从这个意义上来说,区块链是全方位的,几乎和互联网一样重要,可以为我国的“互联网+”行动计划和“供给侧改革”提供理念和技术支持。
互联网带来的变化业已显现。互联网改变了人们生产生活的方方面面,更重要的是带来了人们观念上的深刻改变,中国大地上如火如荼的“互联网+”和“分享经济”就是这种观念变化的具体体现。在分享经济时代,因为涉及财物,与传统的搜索和推荐等互联网信息服务相比,新的应用更像任务关键型应用,所以底层需要类似数据库那样的基础支撑系统。实际上,金融应用正是50多年前催生数据库系统的重要驱动力。 在新的应用和技术语境下,“分享型数据库”也许是一个值得考虑的概念。一是,它要支持关键任务应用,必须具备顽健性和一致性; 二是,它主要用来支持分享经济业务模式的实现; 三是,它本身也是通过分享经济的方式予以实现。当然,还可以通过对区块链及其代表的技术和理念的深入理解和实践,赋予“分享数据库”更丰富和具体的内涵。众所周知,数据库理念就是抽象。如果把比特币看成区块链技术的一个应用案例,区块链就可以看作一种共性的技术,是一种抽象。如果再把区块链当成一个具体案例,那么背后共性或是抽象的概念,就可以称之为分享型数据库。
4.3 大数据实时注入和分析系统:Ginkgo
数据处理的时效性直接影响了数据处理的价值,随着数据集规模的不断增大,数据处理的时间也在不断增长。针对大数据集,如何有效缩短数据处理的时延是一个挑战性的问题,同时也有来自应用系统的实际需求。 开源大数据分析系统Gingko与既有系统相比,具有实时注入和实时查询的特点,可大幅减少数据处理的周期,提高数据处理的响应速度,进而有效提升面向大数据处理的实际价值。Ginkgo的系统架构如图4所示。
图4 Ginkgo的系统架构
Ginkgo采用内存计算架构,充分利用高速访问内存的特性,同时在数据处理逻辑的多个层面上通过并行化提高响应速度:充分利用分区并行、流水线并行、操作内并行和独立并行,高并发执行任务;利用LLVM技术编译代码,提高操作运行效率;采用弹性流水线技术,可以根据负载和资源,动态伸缩并行度,充分利用资源提高运行效率;运行时任务调度模块能够感知系统负载,调度合适的任务,高效地实现任务之间的独立并行。
Ginkgo具备实时查询处理功能的同时,还支持数据源新数据的实时注入。区别于数据流系统,Ginkgo不仅支持对数据的在线处理,而且可将这些数据持久化存储。实时注入基于事务处理控制方式,设计并实现以下一系列功能:针对实时数据注入对应的追加型事务,采用面向元数据的集中式事务处理策略,实现事务型数据注入;非阻塞分布式数据注入框架,将传统的集中式单机数据注入转变为分布式数据注入,充分利用分布式系统的特点,避免单机的单点故障和性能瓶颈;数据注入过程中实现了读写分离和写写分离,有效提高并行处理效率。
4.4 面向关键任务应用的可伸缩事务处理系统:Cedar
随着“互联网+”的发展和普及,在互联网企业向零售、订票、电信、交通运输物流、金融等传统领域延伸的同时,传统领域也藉由互联网实现反向O2O(线下到线上)。金融、电信等行业大量采用互联网化的促销手段,例如“抢票”和“秒杀”。近年的发展表明这种现象将越来越普遍。随之而来的问题是,一方面现有系统升级的“向上扩展(scaling up)”方式由于升级代价巨大、只升不降的特点,不适合这些应用;另一方面,原有数据管理系统和事务处理系统的架构和实现技术并未能够充分利用多核CPU、大容量内存、固态存储、新型存储介质、高速网络等硬件以及发展迅速的集群构建技术,无法有力支撑应用的新需要。笔者自2013年开始面向金融、电信、零售和服务等行业的关键任务应用需要,研究支持可扩展事务处理的数据库系统架构与实现方法,在开源OceanBase 0.4.2的基础上,设计实现了支持高通量、高性能、可扩展事务处理的开源系统Cedar,其版本演化如图5所示,并在金融、零售服务、教育领域的多个系统中进行了应用验证。Cedar的系统架构如图6所示。
图5 Cedar的版本演化
图6 可伸缩事务处理系统Cedar系统架构
4.5 基于设计思维的企业社交网络服务:Talent Network
随着互联网服务日益丰富,传统IT企业面临着技术提升、管理变革、服务转型等一系列的新挑战。如何提升员工能力、整合团队,不仅是人力资源管理的问题,也对大型企业IT部门的技术支持部门提出了新挑战。自2015年6月起,华东师范大学的研究团队与Infosys研究院一起,基于企业海量的内部项目技术文档、员工档案、会议和消息通信等管理记录, 构建了一个新型的企业社交网络服务—— Talent Network。这一系统不仅服务企业超过16万名员工,提供传统的用户档案浏览、社交关系构建、消息通信等社交网络服务,还为每一个用户提供技术专家查找和引见、社交路径推荐等功能,为企业管理人员提供了团队建设建议、团队分析等功能。作为一个新型企业内部服务系统,Talent Network从企业转型的切身需要出发,从用户角度进行设计,通过简洁精美的界面,隐藏复杂的算法和分析模型,实现了技术研发与企业应用的完美结合。
5 结束语
大数据依然很热,但大数据与应用密切相关,本文分析了产生“大数据”的历史和现实背景,说明了大数据之所以成为国家战略的原因。回顾数据库的发展历史,提出了对数据库理念的认识,讨论了数据库的辉煌成就在大数据时代带给人们的启示。互联网的发展改变了信息技术的发展范型。“应用驱动创新”成为IT领域创新的重要特点。当前形势下,走创新之路就要立足现实应用中的问题,解放思想,破除迷信,融入开源社区,采用开放结构,应用和技术协同发展。
本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。