AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

百度技术沙龙第 49 期回顾:大规模分布式存储(含资料下载)

  • 2014-04-29
  • 本文字数:1912 字

    阅读完需:约 6 分钟

2014 年 4 月 19 日,在由 @百度主办、 @InfoQ 负责策划组织和实施的第 49 期百度技术沙龙活动上,来自百度运维部 MFS 组技术负责人程一仕,和目前负责整个搜狐云服务的后端存储和数据库系统的开发和运营陈伟,各自分享了其在大规模分布式存储的实战经验。他们的话题涉及“MooseFS 和 redis 在海量存储下的架构改进和性能提升”和“高性能 NoSQL 系统 BladeCube 的设计与优化”这两个方面,本文将对讲师各自的分享做简单的回顾,同时提供相关资料的下载。

主题一:MooseFS 和 redis 在海量存储下的架构改进和性能提升(下载讲稿

程一仕通过对MooseFS 的单点master 的架构升级,来提升系统的性能和扩展性,进而支撑百度的众多业务。他使用redis 的代理中间层构建高可用的分布式redis 集群来满足产品的低延迟,大数据量的业务需求。这两个系统广泛应用于百度商业产品体系,LBS 产品体系,数据库文件热备等在线业务,并支撑大量关键服务。

在线应用数据

“MosseFS 和redis 大家都比较了解,因为很大的技术架构方面我讲的比较少。先介绍一下应用数据,存储量大概是10PB 以上,比如说大家用百度影音,它主要应用的场景还是在商务系统,包括凤巢的报表,文件的数量大概是3 亿左右,我们大概有20 个群左右的数量,单个集群的规模大概可以到1000 左右。”

中心化节点的设计和问题

master 的功能

  • 客户端对元数据的访问和变更请求
  • chunkserver 之间的数据容量调整
  • 元数据的存储和持久化
  • 集群健康状态的维护

master 的局限和隐患

  • 性能瓶颈
  • 单点故障(single point of failure)

主从架构扩展性能瓶颈

“我们做的第一个改进就是开发一个 Shadow master,我不保证它的同步是一致的。大家对存储了解一点的都知道,我的访问有延迟。客户端这边会把这个全部发到 Shadow master 上面去。”程一仕使用 redis 的代理中间层构建高可用的分布式 redis 集群来满足产品的低延迟,大数据量的业务需求。

主题二:高性能 NoSQL 系统 BladeCube 的设计与优化(下载讲稿

BladeCube 系统是搜狐自己开发的一套 NoSQL 系统,陈伟的设计参考了 BigTable 和 HBase,使用 C++ 实现,性能优于 HBase,以下主要讲一下搜狐云服务在设计和优化这个系统时的一些心得。

MySQL 的可扩展性太差,分库分表带来的运维太大,无法搞定,主从结构的一致性也难以保证读写性能差,变 schema。包括 MongoDB 在内的数据库,在真正面对超大规模数据时,难以保证性能和可用性。超过十亿之后性能问题,潜在的 bug,丢数据等。持久化和内存放在一起,不能充分利用资源。

分层结构的优势,目标是减少运维开销,大部分错误能够自动恢复,不影响服务。

“最近一有一些比较新的开源系统宣传的很美好,但是真的用起来会有很多问题,我们有过一些测试。比如说超过 10 亿量级以后,在响应的性能上,以及它的某些丢数据的行为都是我们不能容忍的,因此我们抛弃了这些选择。”陈伟说。

“C++ 实际上性能是非常好的,跟 HBase 对比的过程中,我们可以发现在架构基本一致的情况下,我们通过一些比较好的编程的实现以及内部的优化,可以在性能上做到三倍、四倍,甚至更高。但是 C++ 也有一个问题,它的调试和开发周期都比 java 困难,为什么开源系统都采用 Java 来实现,但是实际上对于我们严肃的来完成一个基础架构的话,Java 虽然有天花板,但是用 C++ 可以更好的控制内存,可以把系统做的非常好。”

OpenSpace(开放式讨论环节)

为了促进参会者与我们每期的嘉宾以及讲师近距离交流,深入探讨在演讲过程中的疑问,本次活动依然设置了 Open Space(开放式讨论)环节。在 Open Space 的总结环节,几位话题小组长分别对讨论的内容进行了总结。

夏粉:深度学习话题在现在大数据时代将会越来越火,我在演讲时算是为大家抛了个砖,互动过程中大家问了许多实际的问题,希望我的解释能给大家带来一些帮助。

王晓博:关注机器学习的同学热情很高,夏老师讲的干货很多,但只要不涉及关键商业化数据,比如百度广告点击的具体数字,这些模型公布出来对大家的学习还是很有好处的。希望下次主办方能准备相关话题,这样在 Open Space 时,讲师可提前做一些准备,为听众做更针对性的解答。

会上,一些参会者也通过新浪微博分享了他们的参会感受:

程序猿刘静:Tradeoff every details

_ 胡凯 _ :碉堡了!居然中头奖

韩占康_ 极简:原来技术高地在搜狐啊,哈哈。

有关百度技术沙龙的更多信息,可以通过新浪微博关注 @百度技术沙龙,或者关注 InfoQ 官方微信:infoqchina,InfoQ 上也总结了过往所有百度技术沙龙的演讲视频和资料等,感兴趣的读者可以直接浏览内容

特别提示:第50 期百度技术沙龙将在5 月17 日,周六,在北京车库咖啡举行,主题为前端应用相关内容,欢迎关注 @InfoQ @百度技术沙龙获取后续的活动信息。

2014-04-29 07:394338

评论

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

「码」力集结!他们用作品为FinClip黑客松打造出一道靓丽的风景线

Speedoooo

小程序 hackathon 黑客马拉松 黑客松 小程序容器

企业文档爆炸,如何管?

小炮

企业文档管理工具

Go1.18泛型浅谈

CodeWithBuff

golang 泛型 新特性 Go 语言

有趣、实用、全面,是程序员心中理想人工智能教材的样子了

图灵教育

深度学习 PyTorch

ansible 模块:script

ghostwritten

ansible

当.Net撞上BI可视化,这3种“套路”你必须知道

葡萄城技术团队

看板 数据大屏 BI数据分析

netty系列之:我有一个可扩展的Enum你要不要看一下?

程序那些事

Java Netty 程序那些事 5月月更

如何开发 LAXCUS 分布式应用软件(三):编写终端软件

LAXCUS分布式操作系统

集群架构 并行计算 端边云 分布式操作系统 分布式应用软件

IO流详细解答,博主亲自手敲代码,快速上手

爱好编程进阶

Java 程序员 后端开发

HIVE3 深度剖析 (上篇)

明哥的IT随笔

大数据 hie

ansible 模块:set_fact

ghostwritten

ansible

等保三级全称是什么?是什么意思?

行云管家

网络安全 等级保护 等保三级 等保2.0

Spring Security

Zhang

Java spring security

idea启动tomcat报错,org

爱好编程进阶

Java 程序员 后端开发

IntelliJ IDEA开发最佳配置

爱好编程进阶

Java 程序员 后端开发

“银行家算法”大揭秘!在前端表格中利用自定义公式实现“四舍六入五成双”

葡萄城技术团队

银行家算法 纯前端表格技术

无形资产管理系统解决方案

低代码小观

资产管理 CRM 财务审核系统 CRM系统 企业管理软件

基于 FFI 的 PyFlink 下一代 Python 运行时介绍

Apache Flink

大数据 flink 编程 流计算 实时计算

AIRIOT物联网低代码平台如何配置MQTT驱动?

AIRIOT

物联网 低代码平台 驱动配置

windows服务器是什么?运维管理用什么工具好?

行云管家

windows 服务器 自动化运维 服务器运维

无聊科技正经事周刊(第6期):纯粹的程序员与必然的中年危机

潘大壮

程序员 周刊 行业趋势 科技周刊

墨天轮访谈 | OceanBase 白超:海量数据管理,为什么选择OceanBase?

墨天轮

数据库 oceanbase 国产数据库

萌新看过来,你还学不懂VScode插件吗?

葡萄城技术团队

报表

ansible template jinja2 渲染

ghostwritten

ansible

美哭了,一款开发者必备的接口管理工具!

Liam

Postman 开发工具 API API接口管理 接口管理工具

Hugging Face创始人亲述:一个GitHub史上增长最快的AI项目

OneFlow

人工智能 深度学习 nlp 开源社区

Apache DolphinScheduler 2.X保姆级源码解析,中国移动工程师揭秘服务调度启动全流程

白鲸开源

Apache 大数据 开源 DolphinScheduler workflow

数据标准在网易的实践

网易数帆

大数据 数据仓库 数据治理 元数据 数据标准

还在写SQL做SAP二开?通过RFC调用NetWeaver,让HANA数据库操作更可靠

葡萄城技术团队

ERP 全套信息化系统 二开

拿起手中的键盘做公益侠客,让你的第一个低代码应用为公益发光发热!

InfoQ写作社区官方

低代码 公益 大学生 热门活动 码上公益

容器化 | 构建 RadonDB MySQL 集群监控平台

RadonDB

MySQL 数据库 容器化 RadonDB KubeSphere

百度技术沙龙第49期回顾:大规模分布式存储(含资料下载)_语言 & 开发_景琦_InfoQ精选文章