写点什么

百度技术沙龙第 2 期回顾:分布式与服务扩展(含演示文档下载)

  • 2010-05-19
  • 本文字数:1634 字

    阅读完需:约 5 分钟

在百度技术沙龙第 2 期(5 月 15 日)的活动上,我们邀请到了百度分布式高级工程师马如悦以及 FreeWheel 的核心系统技术总监王迪分别分享了关于分布式以及服务扩展两个话题,本文将对他们的演讲内容进行一下简单的总结,并为大家提供了演示文档的下载

为 Hadoop 的发展贡献自己的力量

在马如悦的演讲中,他主要介绍了百度的大规模数据存储、数据分析以及数据索引,主要包括以下内容点:

  • 大规模数据存储
    • Lustre 和 HDFS
    • 系统结构
    • HDFS 优势、不足
  • 大规模数据分析
    • MPI 和 MapReduce
    • MapReduce 概念模型、实现模型
    • MapReduce-Hadoop 实现
  • 大规模数据索引
    • MySQL 和 HBase 对比
    • HBase 详解
  • 在以上三方面百度遇到的问题、对策和原则

其中,马如悦提到,百度现在要处理的数据量非常庞大:存储 20PB+ 数据,每日新增数据 10TB+,每天处理的数据 1PB+,每天提交 10K+ 次作业。现在使用的文件系统是 HDFS,数据存储是 HBase,有超过 2K 台服务器节点,每个节点为 2*4 core。现在遇到的一个棘手问题便是 namenode 的瓶颈问题:因为要存储大量的(小)文件,使 namenode 的压力非常大,他们刚刚采购了 48GB 的内存,但是这 48GB 的内存,预计只能坚持到今年年底,到时候,可能会采购 96GB 的内存来紧急应对这个问题。所以百度在 namenode 的分布式方面,进行了很多研究。马如悦建议大家:

如果对这方面感兴趣的话,可以参考 Linux 2.6.34 中的 Ceph 文件系统,它就是一个基于 PB 规模的分布式文件系统。

最后,马如悦提到了百度目前正在重点研究 / 解决的几个问题 / 方向,他建议如果大家想对 Hadoop 做出一些成绩的话,这几个方向也是现在的热点:

  • HDFS namenode 的分布式改进
  • HDFS datanode 的读写异步化
  • MapReduce 的 jobtracker 的分布式改进
  • MapReduce 的新作业和任务调度器
  • MapReduce 的 Hadoop C++ 扩展框架

有读者对 Hadoop C++ 的扩展非常感兴趣,马如悦对此阐述了一下百度 Hadoop 的使用方式:

我们会定期在 Hadoop 的官方版本上找到一个稳定版本,然后进行自定义开发。过一段时间,当我们发现官方的版本如果增加了很多新增加的功能,比我们好很多,我们再开一个新的分支,把我们的功能移上去。我们的工程师在开发 Hadoop 的 C++ 扩展,我们大概是在 0.19 版分出来的,至今我们发现 chunk 版本仍然跑不过百度自己的版本,所以我们不会去做移植。HCE 在我们的版本上开发的,所以如果转移到 chunk 上,会有些难度,需要做一些调整,这会花费一些时间。上周我们工程师刚完成了一个版本,马上就可以为大家贡献出一个链接去试用。

以数据驱动为中心

王迪是 FreeWheel 核心系统的技术总监,从 07 年 FreeWheel 创立起,他全程参与到其广告核心系统的架构设计,也见证了 FreeWheel 从最初的的只有 20 台广告服务器、日均几十万的访问量、不到 1G/ 天的日志量,发展到现在拥有 60 台广告服务器、日均广告请求 5000 万次、日志处理服务器 8 台、日均 4 小时处理日志 200G 这么一个规模。3 年之间,流量增长 20 倍。他主要谈到了以下的一些经验和原则:

  • 应用服务扩展
    • 无状态应用服务
    • 复制与多层次 Cache
  • 数据仓库扩展
    • De-normalization/Pivot
    • Roll up/Data Availability
    • Benchmarking 与查询优化
    • Split-Loading/Sharding
  • 运营原则
    • 50% 运行负载上限 & N+1 Data Center
    • 监控和响应
    • 多阶段部署

很多具体的实践方法,都是针对他们具体的商业模式以及实际工作中摸索出来的,它不一定是“最好”的,但却是最适合的,比如对系统的负载当达到 50% 的时候,就是一个优化和扩容的信号了;再比如,以自动化回归测试为核心,但并未使用 TDD 单元测试,等等等等。

在提问环节,有读者对如何在回归测试中组织测试用例很感兴趣,王迪解释到:

比如我们有 700 个测试用例,需要 QA 做一些数据,可以用 SQL 文件的方式存在本地,然后把请求和预期也同样以文件的方式存在本地,然后在框架运行的时候,把它们载入到数据库当中,然后再服务结束后,再从数据库中取出来。

演讲资料下载

本次百度技术沙龙的演讲资料现在已经可以下载

相关内容

百度技术沙龙(第 1 期)活动总结演讲资料下载

2010-05-19 03:517478

评论

发布
暂无评论
发现更多内容

如何在`created`生命周期钩子中使用`sessionStorage`实现缓存

Chihiro

缓存 Vue 3

汽车之家 v5.1 到 v7.5 超详细 TiDB 版本升级实践,性能稳定性双提升!

TiDB 社区干货传送门

版本升级

喜报!博睿数据案例获经观传媒“2024年度数字转型创新案例”!

博睿数据

可观测性 数字化转型 经观

KeyShot 2024.3 for mac(3D渲染和动画制作软件) 中文版系统要求

Rose

DevOps如何实现持续交付

Chihiro

#DevOps

5次登上HackerNews首页,我们怎么做开源运营

小猿姐

开源 Kubernetes 云原生

面向 Data+AI 的新一代智能数仓平台

阿里云大数据AI技术

大数据 Serverless 数据仓库 SaaS MaxCompute

英特尔至强6加持,以1台服务器抵7台性能

E科讯

DuckDB x TiDB -- 将 MongoDB 数据导入 TiDB

TiDB 社区干货传送门

迁移

QGIS开发框架的特点

北京木奇移动技术有限公司

软件外包公司 GIS开发 QGIS开发

关于 “DevOps 实践的深入剖析:从持续集成到持续交付” 相关内容的详细

Chihiro

#DevOps

【纯干货】手把手教你测试1688代采下单系统(附真实操作案例)

代码忍者

1688代采集运系统

NLLB 与 ChatGPT 双向优化:探索翻译模型与语言模型在小语种应用的融合策略

vivo互联网技术

人工智能 大语言模型 LORA微调

DeepSeek 正重构人形机器人和具身大模型赛道!

机器人头条

科技 大模型 人形机器人 具身智能 DeepSeek

缺陷分析方法简介

天翼云开发者社区

测试发开 测试方法 缺陷分析

DuckDB x TiDB -- 使用 DuckDB 唤醒 CSV 文件

TiDB 社区干货传送门

迁移

QCon 是一个在软件开发领域具有广泛影响力的技术盛会,以下为你详细介绍:

Chihiro

Qcon

持续交付的优势有哪些

Chihiro

#DevOps

CST均匀头模型和天线SAR比吸收率仿真案例

思茂信息

cst cst电磁仿真 CST软件

新架构 TiCDC 简介

TiDB 社区干货传送门

53倍性能提升!TiDB 全局索引如何优化分区表查询?

TiDB 社区干货传送门

性能测评 新版本/特性解读 OLTP 场景实践

【GreatSQL优化器-13】直方图

GreatSQL

Plaid | 数据库切换历程:从 AWS Aurora MySQL 到 TiDB 的迁移之旅

TiDB 社区干货传送门

迁移

适合小型企业的库存管理工具推荐(含免费、开源)

NocoBase

开源 低代码 无代码 库存管理 小企业发展

QGIS 的性能优化

北京木奇移动技术有限公司

软件外包公司 GIS开发 QGIS开发

DeepSeek + 焱融存储:王炸组合重构企业 AI 核心竞争力

焱融科技

高性能存储 AI存储 DeepSeek 焱融存储

tidb 4.0.13 VS 7.5.5,基准测试结果有点意外

TiDB 社区干货传送门

性能测评 7.x 实践

【观测先锋·制造业卓越可观测建设案例】 中顺洁柔—基于Bonree ONE实现AI大模型高级一体化可观测运维监控解决方案

博睿数据

可观测性 AI 人工智能 DeepSeek

百度技术沙龙第2期回顾:分布式与服务扩展(含演示文档下载)_架构_刘申_InfoQ精选文章