本篇文章5286字,读完约13分钟
据本科技报报道,中国最具影响力、规模最大的大数据行业技术盛会——中国大数据技术大会( bdtc )在北京世纪金源酒店开幕。
百度大数据首席架构师林仕鼎从大数据系统架构师的角度,共享了应用驱动、软件定义的数据中心计算。 大数据的两个典型应用是面向客户的服务和各大搜索引擎,其首要优势是数据解决技术比面向客户的服务技术占了更大的比例。 第二,数据规模比以前大得多。 三是通过快速迭代进行创新。 随着对大数据系统的更深入了解,林仕鼎认为大数据需要新的硬件架构,整个数据中心都是计算机,软硬件共同创新。
百度大数据首席设计师林仕鼎
以下是演讲的实录。
百度的大数据系统有两个典型的应用。
第一个是面向客户的服务,主要包含logic、cache、data等技术,大部分应用程序都部署在mysql、nosql上。 这个应用程序的优点是,每次客户询问时,可能都要求这个逻辑比较好。 这个好处是一台电脑不需要访问很多数据。 客户可能有突发性的成长。 也就是说,高峰期到来,这个系统的压力会变大。
另一个典型的应用是各大搜索引擎,一般有几个部分。 我们想从互联网上爬那个数据,下车放入大的网页库,挖掘和分解网页库,去掉哪个作弊的网页,找出每个网页的全部值进行监视,然后进入大表格 这里有几个不同。 客户询问后,会访问大列表,但每次的访问基本上都是访问所有机器。 此外,之后的解决将不间断地进行。 我们把网页更新抓在网页库里分解。 中间有很大的存储,慢慢地迅速发展成更实时的结构。 我希望更新后的更改能够迅速反馈到客户那里,就像谷歌制作的系统一样。
这两个应用都有优点。 首先,更多的工作负载将转移到离线数据解析。 Baidu是一家在后台解决机器而不是客户服务设备的企业。 我们关注的是如何让顾客保存utc并访问utc。 不一定是和钱有关的交易。 顾客逻辑等事业。 我们逐渐转向大量的数据解决,数据解决从大规模变得越来越复杂和实时。
其次,随着整个行业和数据越来越受到重视,各公司的数据量不断增加,这是我们新应用的好处。 今天的数据量大概是1000pb,每天解决100pb以上的数据,页数近万亿章,中文和其他语言的页面,每天我们响应请求的数量也是百亿的水平。 我们的这个要求和普通顾客的pv不同。 每次查询都是后面的这些机器,放在大排桌子上的机器需要访问一次,每天生成tb的日志。 这样的数据量比普通企业高1~2位数。
第三个应用程序的优点是整个网络的服务是以迭代的方式开发的。 很多情况下,我们不能从一开始就制作功能。 我需要不断地进行实验来找出哪个方法比较好。 这个实验需要在线完成。 我们利用一些客户让他做实验。 例如,我们有两种算法a和b。 我不知道哪个好。 在线调查下不太清楚哪个好。 另外,我们界面的改版,只要让顾客评价就知道哪个好。 我们将大量的在线分析和在线实验结合起来,在线需要很多数据,只有用大量的在线数据解决才能生成。 这个速度也很重要,如何更快地将客户在线生成的数据与在线数据结合,并推送到网上。 这带来了很多问题。 例如,如果发现同样的功能实际上在线上跑了几个版本,那么我如何逻辑管理多个版本的程序,如何向他们分配资源,如何导流,以及分配数据是个大问题。
例如,各大搜索引擎的迭代除了基本的web库存储外,还需要基于web库分解的数据进行特色训练的平台。 客户查询时,我们可能会分配不同的小客户做cn。 这个cn有不同的策略和算法。 大多数情况下,需要总量的数据。 做实验需要全部表格的数据。 这个实验必须根据结果迅速分解。 对于一般的客户产品,实际上也需要持续的重复。 我们可以从一个产品的创意到其原型,等系统化后再发货。 运营过程必须根据客户的招聘更迅速地进行调整。 其中需要很多技术支持。 从想法出发,需要观察你的想法。 未必需要制作这个产品。 你可以事先验证。 pm可能需要你的想法。 我该怎么办? 你能用最快的方法取出样机吗? 我们可以更快地明确和测试这个产品的功能。 这是典型的网络产品所需的迭代过程。
针对这样的问题,数据中心运用的模型是云计算、大规模存储,我们制作了很多系统。 然后有了大规模的计算,现在是基于实时数据的分析和解决。 由于有能够支持多租户环境的虚拟机,因此可以更频繁地迁移以前的应用程序。 也做了app engine。 总体来说,为了解决scalability的问题,我们制作了这些功能,这足够吗? 大家可能不止这些。 就像我们制造了很多存储一样,最初我们给所有东西都制造了系统。 系统变大以后,我们发现很多问题都是共性的。 存储系统需要解决与你的数据组织和接口无关的这些技术。 所以我们想说的是,开始整合这些系统,重新设计这套系统,一套系统支持不同数据的结构,几个接口。 这是我们统一的系统,而且我们想利用内存来加快这个实时数据解决的数据结构。 这样,我们就需要很大的流量来平衡应用,有看起来很高很矛盾的诉求,用一点点的技术组合来实现矛盾的诉求。 我们也进行数据访问,不仅保存数据,还统一传输。 在计算方面,从批处理到增量更实时的解决引擎,进行了混合式的计算。 我们做了这么多,够了吧? 这里又有问题了。
第一个问题是,当所有的快速交货都诉诸下面的基础设施时,你让我迅速拿到生意,让我开展生意。 我的意思是,我提出这个指控的时候最好马上拿到这个资源。 对一个业务来说是好事,但对底层基础设施所需的诉求不同,有时需要硬盘大等多种诉求和快速交货。 你怎么处理这个矛盾? 首先,我们说必须改变以前流传下来的预算模式。 我们还有事业线在出这个预算。 我们必须进行这个审查。 每年进行几次预算审查。 如果你们有几十万台大数据中心,你会发现每年的预算很多,很复杂,基本上不能胜任工作。 而且每个预算提出来的时候,他都希望我得到必要的资源,但这是不可能实现的事件。 指控越多样,意味着你各量的pc越少,也就是说越需要定制,就越不能交货。 提供能力我们改变了这个计算模式,从按需预算变成了定期扩展。 我们通过over provisioning,利用系统冗余的资源,满足业务突发的控诉和多样化的控诉。 你事先准备好这样的资源一定很明确。 来自业务线的指控不明确。 我们怎么才能实现这个呢,你要做资源调配就必须是标准化的诉求。 对上面的应用来说最重要的能力是进行快速迭代,拿到资源后可以进行实验,升级其版本。 但是,我们要想更迅速地进行这个迭代,除了我们现在提供的这些功能之外,实际上还需要很多东西。 一个是需要更好的资源调度,需要一个解决容错和扩展问题的平台。 这实际上并不简单。 我们做了很久,整个行业也做了很久,但实际上这不太容易。 我们下面有一个平台。 上面的生意还得解决。 我需要向你暴露模块之间的关系。 有必要提取数据。 前面逻辑部分是无状态的。 在这种情况下,我可以在发生错误时制定时间表,并在通信量变大时进行扩展。 这需要重新构建你的结构,而且下面的系统需要更好的错误监视和调度能力。 对于应用程序来说,需要更好的部署能力。 这个部署能力在大型系统中,实际上是很多复杂的事件。 我们典型的在线服务可能包含数百个模块。 我们引进时,我们引进了一个系统,它有许多模块之间的依赖关系,每个模块有多个版本,如果要进行多个版本的迭代,我们就会发现,那时业务必须保存多个版本的数量 系统如何帮助维持服务之间的拓扑关系是一个需要处理的问题。 我们一旦有了一套环境,你可能就得扩展多个环境。
第二个问题:我们每个人都有可能经历灰度的过程。 从5%到10%到90%到100%,需要在这个过程中解决。 这个行业很少进行这项研究。 首先,资源应该是灵活的,基站的互联网和机器,这真的可以灵活扩展。 你需要快速迭代,对服务运营的诉求,对这种服务运营的诉求,你也需要支持这样灵活的扩展。 说到系统的灵活性,我们应该在各自的上面提供这样的端到端的统一。 这些能力加在一起,才是真正灵活的平台。 根据多年的电子商务经验,如果没有更好的预算模型、更好的硬件系统体系结构,将会成为巨大的瓶颈。 处理资源问题,处理功能,对上面的业务来说,实际上最经典需要解决的问题是需要快速迭代、快速升级,其中需要很多环境的支持。 并且,有人指控在运用中收集大量数据,分析数据。 所有这些都必须整合到我们整个平台上。 只有做这些,才能真正成为灵活的平台。 我们需要什么来处理这个问题? 我们在考虑这个数据中心系统是什么。 你如何升级自己的基础设施并使其标准化,在标准化下应对应用程序多样化的诉求? 我们需要拿出什么样的资源。 现在的机器每一个节点都是cpu、内存、硬盘、sid,当我们插入那么多机器的时候,整个基站和数据中心都是单位,我们可以取出哪些资源。 cpu,内存,硬盘都拿出来了,今后我们会有很多灵活性。 我们可以重构成一个机器。 这意味着我们需要定义数据中心的系统。 这个人对于独立的人来说就像原来的体系结构一样,我们把这些原来的体系结构组成了一个组织的体系结构。
另外,这上面需要操作系统。 这有助于更好地安排资源,更好地部署整个版本的管理。 这是整个操作系统所需的功能。 disaggregation向后移动每个节点的处理器和电源,然后下一步可能向后移动互联网。 这是一种没有物理机的方法,不会改变整个系统的dis聚合。 其次是直接连接内部的机器节点,但现在有了这样的技术。 一台机器可以接入另一台机器的一台设备。 再一次我们把它们彻底重组,我们可以通过disaggregation出来,然后形成必要的机器。 这样,就可以用标准化的系统交互标准来满足应用程序多样性的诉求。
我们需要机器的管理。 这可以帮助我们部署和发布。 此时,需要更改应用程序的体系结构。 我们需要依靠关系抽取来系统管理所有应用程序的服务。 这是叫pis的服务。 之后,一点点的应用程序服务变大,可能会有一点点的数据。 这个数据同样在前一阶段进行管理。 我们迁移和扩展应用程序时可以是无状态的,并且很容易扩展。 关于应用程序的多个版本,也需要进行软件包的管理。 通过系统统一管理所有依赖软件的环境,可以构建多样化的环境,构建多个版本的环境。 上面还构建了兼容的系统,即使该系统本身运行,也会生成大量数据。 这些数据观察有助于指导系统的优化。 这已经做了一点工作。 我们大大改善了磁盘。 现在可以将磁盘误报的错误率降低80%。 在此基础上,通过对设备的cpu存储器的采用状况、互联网通信状况、模块与模块之间的通信状况、数据收集进行分解、异常检测、异常检测和错误处理进行连接,可以发现该系统中存在的问题,防止错误的发生
第三个问题是,我们今天说的大数据不仅规模大,更重要的是其他好处。 第一,需要大数据管理和解决能力。 第二个特征多样,数据来自多个来源,其形态不同,需要多模式的管理能力,需要管理视频,管理视频的特征,管理图像语音的特征,更好地分析和查询其特征的服务。 我们需要有相关的分解能力。 如果数据来自多个来源,为了挖掘你需要的东西,必须再分解一个来自多个来源的数据。 另一个数据在不断变化,除了大规模的数据解决能力外,还需要智能的数据挖掘算法。
多媒体分解、nop、广告等,中间在数据解决和管理方面包括大数据仓库和平台,然后是技术架构、软件架构软件包、实时数据计算、硬件的 据此,可以构建高级大数据系统,例如通过分布式存储和计算部署大数据。 我们初步解决后,可以放入机器学习算法,用引擎连接客户。 标记有助于我们的学习。 现在,云包就是这个概念。 有了这样的系统,就可以支持判断、推荐、智能交通这一点app。 实时存储和计算不仅需要执行哪些功能,还需要构建高级系统。 我们需要分散的构造。 要生成实时分析数据,请务必放入内存。 请将数据放入内存,直接在上面构建分布式数据进行解决。
说我们建立了这么长的软件上的架构还不够,很多问题还不能处理,比如我们做了迭代,大家都知道它是psp的模型,所有节点都需要你把数据加满 的基本系统瓶颈在最后的交互数据中。 这些东西不仅仅是我们的软件制造很多模型,更重要的是新的硬件体系结构需要它的支持。 以电源效益、数据移动和解决为中心,还引入了新的存储、通信、计算体系结构、异构化、arm、gpu、fpga等技术。
我们现在要做新的cray。 这台cray机器里有很多线。 随着今天有了越来越多的数据,我们还是要以数据交互为中心,并且这种需求与其他服务共享基础设施,成为真正的大系统,提高凝聚性、元器件池、标准化的交付,满足应用层差异的诉求 用软件界面的方法隐藏异构性。 目前我们正在进行的事件是应用驱动、软件定义、系统整体集成等新的软硬件一体化的集成方案。 在此,我想向硬件企业提出几点建议:一是应该尽量简化硬件。 胜者的可控性、拆分控制逻辑应该放在更重要的位置,硬件应该收集尽可能多的数据,通过历史统计、当前状态、数据观察进行越来越多的优化和智能。 谢谢你!
来源:成都新闻网
标题:“百度大数据首席架构师林仕鼎介绍百度大数据”
地址:http://www.cdsdcc.com/cdkjsh/19427.html