社会焦点

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

字号+ 作者: 来源: 2017-05-27

Tera 设计的性能优化 郑然表示,Tera 设计的性能优化,是百度在做设计过程中总结出来的,实用性较强。 第一个经验是需要考虑对分布式文件系统友好。Tera 的数据持久化在分布式文件系统上,必须考虑对其友好的使用。

  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% 左右的读性能。

戳 阅读原文,了解更多~

相关阅读:

  • tera还有人玩吗
  • 微服务架构与实践pdf
  • 百度应用商店
  • tera元素和祭祀哪个好
  • tera为什么停运
  • 数据库架构设计
  • tera神域之战
  • tera台服官网
  • 百度云搜索引擎
  • 北京百度搜索优化
  • tera 升级补丁
  • tera005磁力链接
  • 相关推荐:

  • 华为史上最美操作系统,你绝对不能错过的EMUI5.0
  • 国产操作系统典范:deepin操作系统
  • 娱乐办公两不误!这个笔记本能把屏幕拔下来写字
  • 斗鱼响应新规加强监管,坚持打造优质精品直播
  • SpaceX 火箭爆炸原因确定:液态氧过冷成了固态
  • 华为Mate9中国版真机秀 你绝对没发现它有两种版本
  • 99%的人都不知道的微信高效使用术?
  • 乐视网一周蒸发88亿元 贾跃亭反思节奏发展过快
  • 似乎已经战胜传统渠道的小米 今年为什么被OPPO、vivo 打败?
  • 优雅商务风,性能一鸣惊人—TCL 950体验评测
  • 转载请注明出处。


    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章