㈠ 什么是大数据时代
大数据时代
(巨量资料(IT行业术语))
编辑
最早提出“大数据”时代到来的是全球知名咨询公司麦肯锡,麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。” “大数据”在物理学、生物学、环境生态学等领域以及军事、金融、通讯等行业存在已有时日,却因为近年来互联网和信息行业的发展而引起人们关注。
中文名
大数据时代
外文名
Big data
提出者
麦肯锡
类 属
科技名词
目录
1 产生背景
2 影响
▪ 大数据
▪ 大数据的精髓
▪ 数据价值
▪ 可视化
3 特征
4 案例分析
5 产业崛起
6 提供依据
7 应对措施
产生背景
编辑
进入2012年,大数据(big data)一词越来越多地被提及,人们用它来描述和定义信息爆炸时代产生的海量数
大数据时代来临
据,并命名与之相关的技术发展与创新。它已经上过《纽约时报》《华尔街日报》的专栏封面,进入美国白宫官网的新闻,现身在国内一些互联网主题的讲座沙龙中,甚至被嗅觉灵敏的国金证券、国泰君安、银河证券等写进了投资推荐报告。[1]
数据正在迅速膨胀并变大,它决定着企业的未来发展,虽然很多企业可能并没有意识到数据爆炸性增长带来问题的隐患,但是随着时间的推移,人们将越来越多的意识到数据对企业的重要性。
正如《纽约时报》2012年2月的一篇专栏中所称,“大数据”时代已经降临,在商业、经济及其他领域中,决策将日益基于数据和分析而作出,而并非基于经验和直觉。
哈佛大学社会学教授加里·金说:“这是一场革命,庞大的数据资源使得各个领域开始了量化进程,无论学术界、商界还是政府,所有领域都将开始这种进程。”[2]
影响
编辑
大数据
现在的社会是一个高速发展的社会,科技发达,信息流通,人们之间的交流越来越密切,生活也越来越方便,大数据就是这个高科技时代的产物。[3]
随着云时代的来临,大数据(Big data)也吸引了越来越多的关注。大数据(Big data)通常用来形容一个公司创造的大量非结构化和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapRece一样的框架来向数十、数百或甚至数千的电脑分配工作。[2]
在现今的社会,大数据的应用越来越彰显他的优势,它占领的领域也越来越大,电子商务、O2O、物流配送等,各种利用大数据进行发展的领域正在协助企业不断地发展新业务,创新运营模式。有了大数据这个概念,对于消费者行为的判断,产品销售量的预测,精确的营销范围以及存货的补给已经得到全面的改善与优化。[4]
“大数据”在互联网行业指的是这样一种现象:互联网公司在日常运营中生成、累积的用户网络行为数据。这些数据的规模是如此庞大,以至于不能用G或T来衡量。
大数据到底有多大?一组名为“互联网上一天”的数据告诉我们,一天之中,互联网产生的全部内容可以刻满1.68亿张DVD;发出的邮件有2940亿封之多(相当于美国两年的纸质信件数量);发出的社区帖子达200万个(相当于《时代》杂志770年的文字量);卖出的手机为37.8万台,高于全球每天出生的婴儿数量37.1万……[1]
截止到2012年,数据量已经从TB(1024GB=1TB)级别跃升到PB(1024TB=1PB)、EB(1024PB=1EB)乃至ZB(1024EB=1ZB)级别。国际数据公司(IDC)的研究结果表明,2008年全球产生的数据量为0.49ZB,2009年的数据量为0.8ZB,2010年增长为1.2ZB,2011年的数量更是高达1.82ZB,相当于全球每人产生200GB以上的数据。而到2012年为止,人类生产的所有印刷材料的数据量是200PB,全人类历史上说过的所有话的数据量大约是5EB。IBM的研究称,整个人类文明所获得的全部数据中,有90%是过去两年内产生的。而到了2020年,全世界所产生的数据规模将达到今天的44倍。[5] 每一天,全世界会上传超过5亿张图片,每分钟就有20小时时长的视频被分享。然而,即使是人们每天创造的全部信息——包括语音通话、电子邮件和信息在内的各种通信,以及上传的全部图片、视频与音乐,其信息量也无法匹及每一天所创造出的关于人们自身的数字信息量。
这样的趋势会持续下去。我们现在还处于所谓“物联网”的最初级阶段,而随着技术成熟,我们的设备、交通工具和迅速发展的“可穿戴”科技将能互相连接与沟通。科技的进步已经使创造、捕捉和管理信息的成本降至2005年的六分之一,而从2005年起,用在硬件、软件、人才及服务之上的商业投资也增长了整整50%,达到了4000亿美元。[5]
大数据的精髓
大数据带给我们的三个颠覆性观念转变:是全部数据,而不是随机采样;是大体方向,而不是精确制导;是相关关系,而不是因果关系。[6]
A.不是随机样本,而是全体数据:在大数据时代,我们可以分析更多的数据,有时候甚至可以处理和某个特别现象相关的所有数据,而不再依赖于随机采样(随机采样,以前我们通常把这看成是理所应当的限制,但高性能的数字技术让我们意识到,这其实是一种人为限制);
B.不是精确性,而是混杂性:研究数据如此之多,以至于我们不再热衷于追求精确度;之前需要分析的数据很少,所以我们必须尽可能精确地量化我们的记录,随着规模的扩大,对精确度的痴迷将减弱;拥有了大数据,我们不再需要对一个现象刨根问底,只要掌握了大体的发展方向即可,适当忽略微观层面上的精确度,会让我们在宏观层面拥有更好的洞察力;
C.不是因果关系,而是相关关系:我们不再热衷于找因果关系,寻找因果关系是人类长久以来的习惯,在大数据时代,我们无须再紧盯事物之间的因果关系,而应该寻找事物之间的相关关系;相关关系也许不能准确地告诉我们某件事情为何会发生,但是它会提醒我们这件事情正在发生。
数据价值
大数据时代,什么最贵?
十年前,葛大爷曾说过,“21世纪什么最贵?”——“人才”,深以为然。只是,十年后的今天,大数据时代也带来了身价不断翻番的各种数据。由于急速拓展的网络带宽以及各种穿戴设备所带来的大量数据,数据的增长从未停歇,甚至呈井喷式增长。[7]
一分钟内,微博推特上新发的数据量超过10万;社交网络“脸谱”的浏览量超过600万……
这些庞大数字,意味着什么?
它意味着,一种全新的致富手段也许就摆在面前,它的价值堪比石油和黄金。
事实上,当你仍然在把微博等社交平台当作抒情或者发议论的工具时,华尔街的敛财高手们却正在挖掘这些互联网的“数据财富”,先人一步用其预判市场走势,而且取得了不俗的收益。
让我们一起来看看——他们是怎么做的。
这些数据都能干啥。具体有六大价值:
●1、华尔街根据民众情绪抛售股票;
●2、对冲基金依据购物网站的顾客评论,分析企业产品销售状况;
●3、银行根据求职网站的岗位数量,推断就业率;
●4、投资机构搜集并分析上市企业声明,从中寻找破产的蛛丝马迹;
●5、美国疾病控制和预防中心依据网民搜索,分析全球范围内流感等病疫的传播状况;
●6、美国总统奥巴马的竞选团队依据选民的微博,实时分析选民对总统竞选人的喜好。[1]
可视化
“数据是新的石油。”亚马逊前任首席科学家Andreas Weigend说。Instagram以10亿美元出售之时,成立于1881年的世界最大影像产品及服务商柯达正申请破产。
大数据是如此重要,以至于其获取、储存、搜索、共享、分析,乃至可视化地呈现,都成为了当前重要的研究课题[1] 。
“当时时变幻的、海量的数据出现在眼前,是怎样一幅壮观的景象?在后台注视着这一切,会不会有接近上帝俯视人间星火的感觉?”
这个问题我曾请教过刘建国,中国着名的搜索引擎专家。刘曾主持开发过国内第一个大规模中英文搜索引擎系统“天网”。
要知道,刘建国曾任至网络的首席技术官,在这样一家每天需应对网民各种搜索请求1.7亿次(2013年约为8.77亿次)的网站中,如果只是在后台静静端坐,可能片刻都不能安心吧。网络果然在提供搜索服务之外,逐渐增添了网络指数,后又建立了基于网民搜索数据的重要产品“贴吧”及网络统计产品等。
刘建国没有直接回答这个问题,他想了很久,似乎陷入了回忆,嘴角的笑容含着诡秘。
倒是有公司已经在大数据中有接近上帝俯视的感觉,美国洛杉矶就有企业宣称,他们将全球夜景的历史数据建立模型,在过滤掉波动之后,做出了投资房地产和消费的研究报告。
在数据可视化呈现方面,我最新接收到的故事是,一位在美国思科物流部门工作的朋友,很聪明的印度裔小伙子,被Facebook高价挖角,进入其数据研究小组。他后来惊讶地发现,里面全是来自物流企业、供应链方面的技术人员和专家,“Facebook想知道,能不能用物流的角度和流程的方式,分析用户的路径和行为。”
特征
编辑
数据量大(Volume)
第一个特征是数据量大。大数据的起始计量单位至少是P(1000个T)、E(100万个T)或Z(10亿个T)。
类型繁多(Variety)
第二个特征是数据类型繁多。包括网络日志、音频、视频、图片、地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。
价值密度低(Value)
第三个特征是数据价值密度相对较低。如随着物联网的广泛应用,信息感知无处不在,信息海量,但价值密度较低,如何通过强大的机器算法更迅速地完成数据的价值“提纯”,是大数据时代亟待解决的难题。
速度快、时效高(Velocity)
第四个特征是处理速度快,时效性要求高。这是大数据区分于传统数据挖掘最显着的特征。
既有的技术架构和路线,已经无法高效处理如此海量的数据,而对于相关组织来说,如果投入巨大采集的信息无法通过及时处理反馈有效信息,那将是得不偿失的。可以说,大数据时代对人类的数据驾驭能力提出了新的挑战,也为人们获得更为深刻、全面的洞察能力提供了前所未有的空间与潜力。[2]
案例分析
编辑
个案一
你开心他就买你焦虑他就抛[2]
华尔街“德温特资本市场”公司首席执行官保罗·霍廷每天的工作之一,就是利用电脑程序分析全球3.4亿微博账户的留言,进而判断民众情绪,再以“1”到“50”进行打分。根据打分结果,霍廷再决定如何处理手中数以百万美元计的股票。
霍廷的判断原则很简单:如果所有人似乎都高兴,那就买入;如果大家的焦虑情绪上升,那就抛售。
这一招收效显着——当年第一季度,霍廷的公司获得了7%的收益率。
个案二
国际商用机器公司(IBM)估测,这些“数据”值钱的地方主要在于时效。对于片刻便能定输赢的华尔街,这一时效至关重要。曾经,华尔街2%的企业搜集微博等平台的“非正式”数据;如今,接近半数企业采用了这种手段。
●“社会流动”创业公司在“大数据”行业生机勃勃,和微博推特是合作伙伴。它分析数据,告诉广告商什么是正确的时间,谁是正确的用户,什么是应该发表的正确内容,备受广告商热爱。
●通过乔希·詹姆斯的Omniture(着名的网页流量分析工具)公司,你可以知道有多少人访问你的网站,以及他们呆了多长时间——这些数据对于任何企业来说都至关重要。詹姆斯把公司卖掉,进账18亿美元。
●微软专家吉拉德喜欢把这些“大数据”结果可视化:他把客户请到办公室,将包含这些公司的数据图谱展现出来——有些是普通的时间轴,有些像蒲公英,有些则是铺满整个画面的泡泡,泡泡中显示这些客户的粉丝正在谈论什么话题。
●“脸谱”数据分析师杰弗逊的工作就是搭建数据分析模型,弄清楚用户点击广告的动机和方式。
处理和分析工具
用于分析大数据的工具主要有开源与商用两个生态圈。
开源大数据生态圈:
1、Hadoop HDFS、HadoopMapRece, HBase、Hive 渐次诞生,早期Hadoop生态圈逐步形成。
2、. Hypertable是另类。它存在于Hadoop生态圈之外,但也曾经有一些用户。
3、NoSQL,membase、MongoDb
商用大数据生态圈:
1、一体机数据库/数据仓库:IBM PureData(Netezza), OracleExadata, SAP Hana等等。
2、数据仓库:TeradataAsterData, EMC GreenPlum, HPVertica 等等。
3、数据集市:QlikView、 Tableau 、 以及国内的Yonghong Data Mart 。
产业崛起
编辑
越来越多的政府、企业等机构开始意识到数据正在成为组织最重要的资产,数据分析能力正在成为组织的核心竞争力。具体有以下三大案例:
1、2012年3月22日,奥巴马政府宣布投资2亿美元拉动大数据相关产业发展,将“大数据战略”上升为国家意志。奥巴马政府将数据定义为“未来的新石油”,并表示一个国家拥有数据的规模、活性及解释运用的能力将成为综合国力的重要组成部分,未来,对数据的占有和控制甚至将成为陆权、海权、空权之外的另一种国家核心资产。
2、联合国也在2012年发布了大数据政务白皮书,指出大数据对于联合国和各国政府来说是一个历史性的机遇,人们如今可以使用极为丰富的数据资源,来对社会经济进行前所未有的实时分析,帮助政府更好地响应社会和经济运行。
3、而最为积极的还是众多的IT企业。麦肯锡在一份名为《大数据,是下一轮创新、竞争和生产力的前沿》的专题研究报告中提出,“对于企业来说,海量数据的运用将成为未来竞争和增长的基础”,该报告在业界引起广泛反响。
IBM则提出,上一个十年,他们抛弃了PC,成功转向了软件和服务,而这次将远离服务与咨询,更多地专注于因大数据分析软件而带来的全新业务增长点。IBM执行总裁罗睿兰认为,“数据将成为一切行业当中决定胜负的根本因素,最终数据将成为人类至关重要的自然资源。”
在国内,网络已经致力于开发自己的大数据处理和存储系统;腾讯也提出2013年已经到了数据化运营的黄金时期,如何整合这些数据成为未来的关键任务。
事实上,自2009年以来,有关“大数据” 主题的并购案层出不穷,且并购数量和规模呈逐步上升的态势。其中,Oracle对Sun、惠普对Autonomy两大并购案总金额高达176亿美元,大数据的产业价值由此可见一斑。[1-2]
提供依据
编辑
大数据是信息通信技术发展积累至今,按照自身技术发展逻辑,从提高生产效率向更高级智能阶段的自然生长。无处不在的信息感知和采集终端为我们采集了海量的数据,而以云计算为代表的计算技术的不断进步,为我们提供了强大的计算能力,这就围绕个人以及组织的行为构建起了一个与物质世界相平行的数字世界[1-2] 。
大数据虽然孕育于信息通信技术的日渐普遍和成熟,但它对社会经济生活产生的影响绝不限于技术层面,更本质上,它是为我们看待世界提供了一种全新的方法,即决策行为将日益基于数据分析做出,而不是像过去更多凭借经验和直觉做出。
事实上,大数据的影响并不仅仅限于信息通信产业,而是正在“吞噬”和重构很多传统行业,广泛运用数据分析手段管理和优化运营的公司其实质都是一个数据公司。麦当劳、肯德基以及苹果公司等旗舰专卖店的位置都是建立在数据分析基础之上的精准选址。而在零售业中,数据分析的技术与手段更是得到广泛的应用,传统企业如沃尔玛通过数据挖掘重塑并优化供应链,新崛起的电商如卓越亚马逊、淘宝等则通过对海量数据的掌握和分析,为用户提供更加专业化和个性化的服务。
最让人吃惊的例子是,社交媒体监测平台DataSift监测了Facebook(脸谱) IPO当天Twitter上的情感倾向与Facebook股价波动的关联。在Facebook开盘前Twitter上的情感逐渐转向负面,25分钟之后Facebook的股价便开始下跌。而当Twitter上的情感转向正面时,Facebook股价在8分钟之后也开始了回弹。最终当股市接近收盘、Twitter上的情感转向负面时,10分钟后Facebook的股价又开始下跌。最终的结论是:Twitter上每一次情感倾向的转向都会影响Facebook股价的波动。
这仅仅只是基于社交网络产生的大数据“预见未来”的众多案例之一,此外还有谷歌通过网民搜索行为预测流感爆发等例子。不仅在商业方面,大数据在社会建设方面的作为同样令人惊叹,智能电网、智慧交通、智慧医疗、智慧环保、智慧城市等的蓬勃兴起,都与大数据技术与应用的发展息息相关。
“大数据”可能带来的巨大价值正渐渐被人们认可,它通过技术的创新与发展,以及数据的全面感知、收集、分析、共享,为人们提供了一种全新的看待世界的方法。更多地基于事实与数据做出决策,这样的思维方式,可以预见,将推动一些习惯于靠“差不多”运行的社会发生巨大变革。
应对措施
编辑
一个好的企业应该未雨绸缪,从现在开始就应该着手准备,为企业的后期的数据收集和分析做好准备,企业可以从下面六个方面着手,这样当面临铺天盖地的大数据的时候,以确保企业能够快速发展,具体为下面六点。
目标
几乎每个组织都可能有源源不断的数据需要收集,无论是社交网络还是车间传感器设备,而且每个组织都有大量的数据需要处理,IT人员需要了解自己企业运营过程中都产生了什么数据,以自己的数据为基准,确定数据的范围。
准则
虽然每个企业都会产生大量数据,而且互不相同、多种多样的,这就需要企业IT人员在现在开始收集确认什么数据是企业业务需要的,找到最能反映企业业务情况的数据。
重新评估
大数据需要在服务器和存储设施中进行收集,并且大多数的企业信息管理体系结构将会发生重要大变化,IT经理则需要准备扩大他们的系统,以解决数据的不断扩大,IT经理要了解公司现有IT设施的情况,以组建处理大数据的设施为导向,避免一些不必要的设备的购买。
重视大数据技术
大数据是最近几年才兴起的词语,而并不是所有的IT人员对大数据都非常了解,例如如今的Hadoop,MapRece,NoSQL等技术都是2013年刚兴起的技术,企业IT人员要多关注这方面的技术和工具,以确保将来能够面对大数据的时候做出正确的决定。
培训企业的员工
大多数企业最缺乏的是人才,而当大数据到临的时候,企业将会缺少这方面的采集收集分析方面的人才,对于一些公司,特别是那种人比较少的公司,工作人员面临大数据将是一种挑战,企业要在平时的时候多对员工进行这方面的培训,以确保在大数据到来时,员工也能适应相关的工作。
培养三种能力
Teradata大中华区首席执行官辛儿伦对新浪科技表示,随着大数据时代的到来,企业应该在内部培养三种能力。第一,整合企业数据的能力;第二,探索数据背后价值和制定精确行动纲领的能力;第三,进行精确快速实时行动的能力。
做到上面的几点,当大数据时代来临的时候,面临大量数据将不是束手无策,而是成竹在胸,而从数据中得到的好处也将促进企业快速发展。
望采纳,谢谢
㈡ 华为大数据解决方案是什么
大数据解决方案的逻辑层
逻辑层提供了一种组织您的组件的方式。这些层提供了一种方法来组织执行特定功能的组件。这些层只是逻辑层;这并不意味着支持每层的功能在独立的机器或独立的进程上运行。大数据解决方案通常由以下逻辑层组成:
1、大数据来源
2、数据改动 (massaging) 和存储层
3、分析层
4、使用层
结束语
对开发人员而言,层提供了一种对大数据解决方案必须执行的功能进行分类的途径,为组织建议必需执行这些功能所需的代码。但是,对于想要从大数据获取洞察的业务用户,考虑大数据需求和范围通常会有所帮助。原子模式解决了访问、处理、存储和使用大数据的机制,为业务用户提供了一种解决需求和范围的途径。下一篇文章将介绍用于此用途的原子模式。
㈢ 如何通过雪球查询股票之前的变动状况
一. 雪球公司介绍
雪球 聪明的投资者都在这里。
web 1.0:新闻资讯,股价信息,K线图
web 2.0:SNS 订阅,分享,聊天
web 3.0:移动 APP,交易闭环
雪球现在员工数还不到100,其中技术人员占一半。去年9月C轮融资4kw刀。我们现在的技术栈由下列组件组成:Java,Scala,Akka,Finagle,Nodejs,Docker ,Hadoop。我们当前是租用IDC机房自建私有云,正在往“公私混合云”方向发展。
在雪球上,用户可以获取沪深港美2w+股票的新闻信息,股价变化情况,也可以获取债券,期货,基金,比特币,信托,理财,私募等等理财产品的各类信息,也可以关注雪球用户建立的百万组合,订阅它们的实时调仓信息,还可以关注雪球大V。雪球当前有百万日活跃用户,每天有4亿的API调用。App Store 财务免费榜第 18 名。历史上曾排到财务第二,总免费榜第 19。
二. 雪球当前总体架构
作为一个典型的移动互联网创业公司,雪球的总体架构也是非常典型的设计:
最上层是三个端:web端,android端和iOS端。流量比例大约为 2:4:4 。web3.0 的交易功能,在 web 端并不提供。
接入层以及下面的几个层,都在我们的自建机房内部。雪球当前只部署了一个机房,还属于单机房时代。正在进行“私有云+公有云混合部署”方案推进过程中。
我们当前使用 nodejs 作为 web 端模板引擎。nodejs 模块与android 和 ios 的 app 模块一起属于大前端团队负责。
再往下是位于 nginx 后面的 api 模块。跟 linkedin 的 leo 和微博的 v4 一样,雪球也有一个遗留的大一统系统,名字就叫 snowball 。最初,所有的逻辑都在 snowball 中实现的。后来慢慢的拆出去了很多 rpc 服务,再后来慢慢的拆出去了一些 http api 做成了独立业务,但即便如此,snowball 仍然是雪球系统中最大的一个部署单元。
在需要性能的地方,我们使用 netty 搭建了一些独立的接口,比如 quoto server,是用来提供开盘期间每秒一次的股价查询服务,单机 qps 5w+,这个一会再细说;而 IM 服务,起初设计里是用来提供聊天服务,而现在,它最大的用途是提供一个可靠的 push 通道,提供 5w/s 的消息下发容量,这个也一会再细说。
雪球的服务化拆分及治理采用 twitter 开源的 finagle rpc 框架,并在上面进行了一些二次开发和定制。定制的功能主要集中在 access log 增强,和 fail fast,fail over 策略及降级开关等。 finagle 的实现比较复杂,debug 和二次开发的门槛较高,团队内部对此也进行了一些讨论。
雪球的业务比较复杂,在服务层中,大致可以分为几类:第一类是web1.0,2.0 及基础服务,我们称为社区,包括用户,帖子,新闻,股价,搜索等等,类比对象就是新浪财经门户+微博;第二类是组合及推荐,主要提供股票投资策略的展示和建议,类比对象是美国的motif;第三类是通道,类似股市中的“支付宝”,接入多家券商,提供瞬间开户,一键下单等等各种方便操作的功能。
雪球的业务实现中,包含很多异步计算逻辑,比如搜索建索引,比如股票涨跌停发通知,比如组合收益计算等等,为此,我们设计了一个独立的 Thread/Task 模块,方便管理所有的后台计算任务。但随着这些 task 越来越多,逻辑差异越来越大,一个统一的模块并不是总是最佳的方案,所以,我们又把它拆成了两大类:流式的,和批量式的。
雪球的推荐体系包括组合推荐“买什么”和个性化推荐。我们最近正在重新梳理我们的大数据体系,这个感兴趣的话可以单聊。
最下面是基础设施层。雪球基础设施层包括:redis,mysql,mq,zk,hdfs,以及容器 docker。
线上服务之外,我们的开发及后台设施也很典型:gitlab开发,jenkins打包,zabbix 监控系统向 openfalcon 迁移,redimine向confluence迁移,jira,以及内部开发的 skiing 后台管理系统。
** 三. 雪球架构优化历程**
首先描述一下标题中的“股市动荡”定语修饰词吧:
上证指数从年初的3000点半年时间涨到了5000多,6月12号达到最高点5200点,然后就急转直下,最大单日跌幅 8.48%,一路跌回4000点以下。最近一周都在3900多徘徊。
3月最后一周,A股开户 166万户,超过历史最高纪录 2007年5月第二周165万户。
4月份,证监会宣布A股支持单用户开设多账户。
6月底,证金公司代表国家队入场救市。
7月份,证监会宣布严打场外配资。
中国好声音广告第一晚,带来超过平时峰值200倍的注册量
挑战:小 VS 大:
小:小公司的体量,团队小,机器规模小
大:堪比大公司的业务线数量,业务复杂度,瞬间峰值冲击
雪球的业务线 = 1个新浪财经 + 1 个微博 + 1 个 motif + 1 个大智慧/同花顺。由于基数小,API调用瞬间峰值大约为平时峰值的 30+ 倍。
挑战:快速增长,移动互联网 + 金融,风口,A股大盘剧烈波动。
首先,在app端,在我们核心业务从 web2.0 sns 向 3.0 移动交易闭环进化的过程中,我们开发了一个自己的 hybrid 框架:本地原生框架,加离线 h5 页面,以此来支撑我们的快速业务迭代。当前,雪球前端可以做到 2 周一个版本,且同时并行推进 3 个版本:一个在 app store 等待审核上线,一个在内测或公测,一个在开发。我们的前端架构师孟祥宇在今年的 wot 上有一个关于这方面的详细分享,有兴趣的可以稍后再深入了解。
雪球App实践—构建灵活、可靠的Hybrid框架 http://wot.51cto.com/2015mobile/ http://down.51cto.com/data/2080769
另外,为了保障服务的可用性,我们做了一系列的“端到端服务质量监控”。感兴趣的可以搜索我今年4月份在环信SM meetup上做的分享《移动时代端到端的稳定性保障》。其中在 app 端,我们采用了一种代价最小的数据传输方案:对用户的网络流量,电池等额外消耗几乎为0
每个请求里带上前一个请求的结果
succ or fail : 1 char
失败原因:0 - 1 char
请求接口编号: 1 char
请求耗时:2 - 3 char
其它:网络制式,etc
炒股的人大多都会盯盘:即在开盘期间,开着一个web页面或者app,实时的看股价的上下跳动。说到“实时”,美股港股当前都是流式的数据推送,但国内的A股,基本上都是每隔一段时间给出一份系统中所有股票现价的一个快照。这个时间间隔,理论上是3秒,实际上一般都在5秒左右。 交了钱签了合同,雪球作为合作方就可以从交易所下属的数据公司那里拿到数据了,然后提供给自己的用户使用。
刚才介绍总体架构图的时候有提到 quote server ,说到这是需要性能的地方。
业务场景是这样的,雪球上个人主页,开盘期间,每秒轮询一次当前用户关注的股票价格变动情况。在内部,所有的组合收益计算,每隔一段时间需要获取一下当前所有股票的实时价格。起初同时在线用户不多,这个接口就是一个部署在 snowball 中的普通接口,股价信息被实时写入 redis ,读取的时候就从 redis 中读。后来,A股大涨,snowball 抗不住了。于是我们就做了一个典型的优化:独立 server + 本地内存存储。开盘期间每次数据更新后,数据接收组件主动去更新 quote server 内存中的数据。 后续进一步优化方案是将这个接口以及相关的处理逻辑都迁移到公有云上去。
对于那些不盯盘的人,最实用的功能就是股价提醒了。在雪球上,你除了可以关注用户,还可以关注股票。如果你关注的某只股票涨了或跌了,我们都可以非常及时的通知你。雪球上热门股票拥有超过 50w 粉丝(招商银行,苏宁云商)粉丝可以设置:当这支股票涨幅或跌幅超过 x%(默认7%)时提醒我。曾经连续3天,每天超过1000股跌停,证监会开了一个会,于是接下来2天超过1000股涨停
原来做法:
股票涨(跌)x%,扫一遍粉丝列表,过滤出所有符合条件的粉丝,推送消息
新做法:
预先建立索引,开盘期间载入内存
1%:uid1,uid2
2%:uid3,uid4,uid5
3%:uid6
问题:有时候嫌太及时了:频繁跌停,打开跌停,再跌停,再打开。。。的时候
内部线上记录:
4台机器。
单条消息延时 99% 小于 30秒。
下一步优化目标:99% 小于 10 秒
IM 系统最初的设计目标是为雪球上的用户提供一个聊天的功能:
送达率第一
雪球IM:Netty + 自定义网络协议
Akka : 每个在线client一个actor
推模式:client 在线情况下使用推模式
多端同步:单账号多端可登录,并保持各种状态同步
移动互联网时代,除了微信qq以外的所有IM,都转型成了推送通道,核心指标变成了瞬间峰值性能。原有架构很多地方都不太合适了。
优化:
分配更多资源:推送账号actor池
精简业务逻辑:重复消息只存id,实时提醒内容不推历史设备,不更新非活跃设备的session列表等等
本地缓存:拉黑等无法精简的业务逻辑迁移到本地缓存
优化代码:异步加密存储,去除不合理的 akka 使用
akka这个解释一下:akka 有一个自己的 log adapter,内部使用一个 actor 来处理所有的 log event stream 。当瞬间峰值到来的时候,这个 event stream 一下子就堵了上百万条 log ,导致 gc 颠簸非常严重。最后的解决办法是,绕过 akka 的 log adapter,直接使用 logback 的 appender
线上记录:5w/s (主动限速)的推送持续 3 分钟,p99 性能指标无明显变化
7月10号我们在中国好声音上做了3期广告。在广告播出之前,我们针对广告可能带来的对系统的冲击进行了压力测试,主要是新用户注册模块,当时预估广告播出期间2小时新注册100万
压测发现 DB 成为瓶颈:
昵称检测 cache miss > 40%
昵称禁用词 where like 模糊查询
手机号是否注册 cache miss > 80%
注册新用户:5 insert
优化:
redis store:昵称,手机号
本地存储:昵称禁用词
业务流程优化:DB insert 操作同步改异步
下一步优化计划:
将 sns 系统中所有的上行操作都改成类似的异步模式
接口调用时中只更新缓存,而且主动设置5分钟过期,然后写一个消息到 mq 队列,队列处理程序拿到消息再做其它耗时操作。
为了支持失败重试,需要将主要的资源操作步骤都做成幂等。
前置模块HA:
合作方合规要求:业务单元部署到合作方内网,用户的敏感数据不允许离开进程内存
业务本身要求:业务单元本身为有状态服务,业务单元高可用
解决方案:
使用 Hazelcast In-Memory Data Grid 的 replication map 在多个 jvm 实例之间做数据同步。
java 启动参数加上 -XX:+DisableAttachMechanism -XX:-UsePerfData,禁止 jstack,jmap 等等 jdk 工具连接
关于前置模块,其实还有很多很奇葩的故事,鉴于时间关系,这里就不展开讲了。以后有机会可以当笑话给大家讲。
组合净值计算性能优化:
一支股票可能在超过20万个组合里(南车北车中车,暴风科技)
离线计算,存储计算后的结果
股价3秒变一次,涉及到这支股票的所有组合理论上也需要每 3 秒重新计算一次
大家可能会问,为什么不用户请求时,实时计算呢?这是因为“组合净值”中还包括分红送配,分股,送股,拆股,合股,现金,红利等等,业务太过复杂,开发初期经常需要调整计算逻辑,所以就设计成后台离线计算模式了。当前正在改造,将分红送配逻辑做成离线计算,股价组成的净值实时计算。接口请求是,将实时计算部分和离线计算部分合并成最终结果。
实际上,我们的计算逻辑是比较低效的:循环遍历所有的组合,对每个组合,获取所有的价值数据,然后计算。完成一遍循环后,立即开始下一轮循环。
优化:
分级:活跃用户的活跃组合,其它组合。
批量:拉取当前所有股票的现价到 JVM 内存里,这一轮的所有组合计算都用这一份股价快照。
关于这个话题的更详细内容,感兴趣的可以参考雪球组合业务总监张岩枫在今年的 arch summit 深圳大会上的分享:构建高可用的雪球投资组合系统技术实践 http://sz2015.archsummit.com/speakers/201825
最后,我们还做了一些通用的架构和性能优化,包括jdk升级到8,开发了一个基于 zookeeper 的 config center 和开关降级系统
四. 聊聊关于架构优化的一些总结和感想
在各种场合经常听说的架构优化,一般都是优化某一个具体的业务模块,将性能优化到极致。而在雪球,我们做的架构优化更多的是从问题出发,解决实际问题,解决到可以接受的程度即可。可能大家看起来会觉得很凌乱,而且每个事情单独拎出来好像都不是什么大事。
我们在对一个大服务做架构优化时,一般是往深入的本质进行挖掘;当我们面对一堆架构各异的小服务时,“架构优化”的含义其实是有一些不一样的。大部分时候,我们并不需要(也没有办法)深入到小服务的最底层进行优化,而是去掉或者优化原来明显不合理的地方就可以了。
在快速迭代的创业公司,我们可能不会针对某一个服务做很完善的架构设计和代码实现,当出现各种问题时,也不会去追求极致的优化,而是以解决瓶颈问题为先。
即使我们经历过一回将 snowball 拆分服务化的过程,但当我们重新上一个新的业务时,我们依然选择将它做成一个大一统的服务。只是这一次,我们会提前定义好每个模块的 service 接口,为以后可能的服务化铺好路。
在创业公司里,重写是不能接受的;大的重构,从时间和人力投入上看,一般也是无法承担的。而“裱糊匠”式做法,哪里有性能问题就加机器,加缓存,加数据库,有可用性问题就加重试,加log,出故障就加流程,加测试,这也不是雪球团队工作方式。我们一般都采用最小改动的方式,即,准确定义问题,定位问题根源,找到问题本质,制定最佳方案,以最小的改动代价,将问题解决到可接受的范围内。
我们现在正在所有的地方强推3个数据指标:qps,p99,error rate。每个技术人员对自己负责的服务,一定要有最基本的数据指标意识。数字,是发现问题,定位根源,找到本质的最重要的依赖条件。没有之一。
我们的原则:保持技术栈的一致性和简单性,有节制的尝试新技术,保持所有线上服务依赖的技术可控,简单来说,能 hold 住。
能用cache的地方绝不用db,能异步的地方,绝不同步。俗称的:吃一堑,长一智。
特事特办:业务在发展,需求在变化,实现方式也需要跟着变化。简单的来说:遗留系统的优化,最佳方案就是砍需求,呵呵。
㈣ 大数据在未来发展怎么样啊
大数据行业主要上市公司:易华录(300212)、美亚柏科(300188)、海量数据(603138)、同有科技(300302)、海康威视(002415)、依米康(300249)、常山北明(000158)、思特奇(300608)、科创信息(300730)、神州泰岳(300002)、蓝色光标(300058)等
本文核心数据:大数据应用领域分布 互联网大数据、金融大数据、政府大数据市场规模 应用场景等
应用领域分布:互联网、政府、金融为大数据主要应用领域
从具体行业应用来看,互联网、政府、金融和电信引领大数据融合产业发展,合计规模占比为77.6%。互联网、金融和电信三个行业由于信息化水平高,研发力量雄厚,在业务数字化转型方面处于领先地位;政府大数据成为近年来政府信息化建设的关键环节,与政府数据整合与开放共享、民生服务、社会治理、市场监管相关的应用需求持续火热。此外,工业大数据和健康医疗大数据作为新兴领域,数据量大、产业链延展性高,未来市场增长潜力大。
注:金融大数据市场规模为前瞻根据中国大数据市场规模与金融大数据所占市场份额数据测算所得,仅供参考。