业界动态
百度万亿量级数据库Tera架构应用、设计与实践全攻略
2024-10-31 17:59

信息技术发展突飞猛进,网络数据呈现爆炸之势,搜索引擎的实时性面临巨大挑战。百度搜索引擎每天处理着数万亿次的链接分析和数百亿次的互联网资源采集。作为百度搜索引擎的核心数据库Tera,是如何支撑万亿量级的实时数据处理呢

百度万亿量级数据库Tera架构应用、设计与实践全攻略

在5月20日百度开发者中心主办、极客邦科技承办的71期百度技术沙龙上,百度网页搜索基础架构技术经理齐志宏和资深工程师郑然,为大家免费放送了大型分布式表格系统Tera在百度搜索引擎中的应用、以及Tera架构设计与实践的全攻略。

Tera在百度搜索引擎中的应用

在讲解Tera的应用之前,百度网页搜索基础架构技术经理齐志宏首先介绍了百度搜索架构,百度搜索引擎的作用是连接人与信息、连接人与服务,信息抓取、索引构建、检索系统构成了搜索引擎最经典的三大板块。


互联网上的信息是如何通过搜索引擎最终展示给用户的?首先,网页被搜索引擎发现,通过抓取进入搜索引擎;然后,有价值的网页经过筛选,进行正排计算和倒排计算,完成索引构建;最后,通过检索系统将最终的结果呈现给用户。

伴随互联网信息爆发式的增长,百度搜索架构也在逐渐向实时化方向演进,在介绍完搜索架构之后,齐志宏从链接存储、索引筛选、用户行为分析三个场景切入,详细讲解了Tera在实时搜索架构中的应用。

齐志宏先为大家解释什么是Tera:一种大型分布式表格存储系统,具有高性能、可伸缩等存储特点,最初的设计是为了管理万亿量级的超链和网页信息。Tera在架构演进中到底扮演了怎样的核心角色呢

首先来看存储链接。百度推出的Spider 3.0系统是基于Tera的实时架构,以Tera为核心,承载了链接库、网页库的存储,将原有基于MapReduce的批量计算转变为基于Tera的实时计算,实现每秒亿级的数据随机读写、每天处理万亿量级的链接操作,信息抓取模块(即Spider)进入了实时处理时代。


第二个是索引筛选。索引筛选的核心作用是让有价值的信息进入索引。Tera架构作为数据存储中心,存储了包含网页库、去重库、结果库在内的所有中间数据和最终结果,通过流式计算的方式完成页面特征拼接、页面价值计算、网页去重以及索引排序等核心操作的实时化改造。网页从抓取到筛选完成的整个过程,实现了从天级变到分钟级甚至秒级的飞跃。


最后一个是用户行为分析。用户行为分析在搜索效果改进和搜索引擎的评价等方面,都具有重要价值。基于Tera的实时用户行为数据流,将用户数据的时效性推向新高度。实时数据产出的延迟可降至秒级,突发时效性识别、用户意图分析、产品迭代评估等多个维度均可实时获取用户数据,进行实时分析,对时效性和用户体验有很大的提升。


总体上,Tera支撑了着搜索引擎大规模的实时数据读写,将批量、全量计算转变为增量、实时的数据计算,极大的提升了搜索引擎的实时数据处理能力,Tera是百度搜索引擎从批量处理迈向实时计算的架构基础。

Tera大型分布式表格系统的设计与实践

Tera完成了百度搜索向万亿级数据实时搜索的跃进,成为炙手可热的数据库系统,那么,如何做好Tera架构的设计与实践成为开发者最为关心的问题。百度网页搜索基础架构资深工程师郑然在演讲过程中,围绕背景、数据模型、架构与设计、高可用实践以及性能优化等方面,详细讲解了Tera设计和实践过程。

郑然表示,百度搜索引擎面临三大业务特点(1)数据量大,PB到百PB这样的量级(2)离线处理过程中,以站点等前缀方式访问数据是普遍的需求(3)数据类型不固定。这样的业务特点决定着Tera设计和实践的过程。

Tera设计的数据模型

Tera的数据模型有以下几个特点,首先它是Key-Value模型,再深入一层,它是典型的BigTable模型,同时,一个非常重要的特点就是全局有序。这几个特点结合在一起,就是Tera数据模型的设计目标。


Tera设计的系统架构

Tera系统主要由Tabletserver、Master和ClientSDK三部分构成, 数据持久化到底层的分布式文件系统中。其中Tabletserver是核心服务器,承载着所有的数据管理与访问;Master是系统的仲裁者,负责表格的创建、Schema更新与负载均衡;ClientSDK包含供管理员使用的命令行工具Teracli和给用户使用的SDK。

表格被按RowKey全局排序,并横向切分成多个Tablet,每个Tablet负责服务RowKey的一个区间,表格又被纵向且分为多个LocalityGroup,一个Tablet的多个LocalityGroup在物理上单独存储,可以选择不同的存储介质,用以优化访问效率。

Tera的高可用实践

Tera的高可用性比较关键,直接影响整个系统的服务质量,其实现方式包括两个方面:Tablet Server可用性以及负载均衡。

Tera设计的性能优化

郑然表示,Tera设计的性能优化,是百度在做设计过程中总结出来的,实用性较强。

第一个经验是需要考虑对分布式文件系统友好。Tera的数据持久化在分布式文件系统上,必须考虑对其友好的使用。根据LevelDb的特点,数据首先要持久化在WAL上,确保异常情况下不丢数据,所以写WAL的延迟和吞吐直接决定了用户写请求的延迟和吞吐。然而分布式文件系统需要写多个数据副本,在某些副本异常情况下,如果依赖分布式文件系统层面去自动恢复的话,可能大幅增加延迟。Tera针对写WAL异常情况,采用关闭旧文件创建新文件的方法,规避分布式文件系统的短板。同时WAL持久化成功才能保证用户数据不丢,所以WAL写完之后必须sync强制数据落盘,而sst文件不强制要求每次写请求落盘,从而减少对分布式文件系统的压力。

第二个经验是关于SSD的运用。SATA的随机读能力很差,虽然LevelDb做了很多优化,但是仍然无法突破硬件瓶颈,SSD的价格现在是越来越便宜,但成本依然比SATA高。Tera的数据全部持久化在SATA上,仅把SSD作为Cache使用,这是平衡性能和成本的一种途径。

第三个经验是异步逻辑设计。Tera里面所有可能阻塞的逻辑都是异步的,异步逻辑可以很好提高性能,另外客户端缓存Tablet位置信息,因为tablet位置信息通常情况下变化的也不频繁,同时扩展了LevelDb的BloomFilter机制,可以提升20%左右的读性能。

出处:http://www.infoq.com/cn/news/2017/05/database-baidu-Tera

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。


    以上就是本篇文章【百度万亿量级数据库Tera架构应用、设计与实践全攻略】的全部内容了,欢迎阅览 ! 文章地址:http://lianchengexpo.xrbh.cn/news/11177.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 迅博思语资讯移动站 http://lianchengexpo.xrbh.cn/mobile/ , 查看更多   
最新新闻
刘畊宏直播2小时收入120万,打赏的榜一大哥都是什么人?
说起最近这段时间直播界最火的网红明星,非“健身达人”刘畊宏莫属,从今年4月初开始,全国各地都有人因疫情被封控,而刘畊宏的
国家要普涨工资,地方正狂卷就业,让大家挣钱最重要
最近,有一个重要的文件和每个人的“钱袋子”息息相关。那就是《中共中央、国务院关于实施就业优先战略促进高质量充分就业的意见
实探债务危机中的柔宇科技:生产基地半小时只看到3个人,手机业务已停摆
2023年是折叠屏手机爆发年,诸多柔性屏供应商、手机厂商吃到红利。然而面对这样的好光景,柔宇科技却只剩一片残局。曾经凭借柔性
今日头条iphone最新版特色
今日头条ios2021最新版是专为苹果手机用户打造的头条新闻资讯应用,打开今日头条,即可知道今天发生了哪些大事,还有最新的娱乐
一张床垫用N年,弹簧早就疲软了,撑不住儿童发育的脊梁,赶紧换!
你家孩子睡的弹簧床垫陪伴TA多少年了?尤其是弹簧床垫,通常睡上3~5年的儿童床垫,金属弹簧就会呈现不同程度的疲软,这将严重影
增长黑客,创业公司用户增长的秘籍
增长黑客读了范冰的《增长黑客》,启发太多。正如作者在前言中所说,确实是处处均是干货,书里脉络清晰,是本难得的好书。增长黑
实用的高考化学考试答题思路与技巧
高考的化学考试答题要联系所学习的知识,找到知识与问题之间的结合点,确定解题的方案,这才是解题的关键。下面是小编为大家整理
小红书情人节营销指南
│前言│小红书作为女生的口袋百科指南,提供了各种各样的节日攻略内容,同时引导着用户去享受更好的生活,而在即将到来的214情
云南SEO优化如何让描述中出现地址呢?
在搜索引擎优化(SEO)的世界中,整合关键信息,如地址,到网页描述中是提升网站在搜索引擎结果页面上的可见性和点击率的关键策
实用贴!海关统计数据查询攻略
海关统计数据查询攻略为便于社会公众查询和使用海关进出口货物贸易统计数据(以下简称海关统计数据),特编制本查询攻略。一定期
本企业新闻
推荐企业新闻

点击拨打: