写点什么

百度技术沙龙第 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:394055

评论

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

模块五计算架构模式

程序员小张

「架构实战营」

网易游戏实时 HTAP 计费风控平台建设

Apache Flink

大数据 flink 实时计算

从零到一,臻于至善|网易邮箱基于StarRocks 开发大数据平台的实践

StarRocks

数据库

在人间vpn搭建

阿呆

vpn

chatgpt小试牛刀

阿呆

ChatGPT

软件测试/测试开发 | app自动化测试(Android)--元素定位方式与隐式等待

测试人

软件测试 自动化测试 测试开发 appium

C4D和3dmax有什么区别?

Finovy Cloud

3DMAX C4D

2023最新版本水果FL Studio宿主软件安装包下载

茶色酒

FL Studio21

2022年中国跨境支付行业年度专题分析

易观分析

金融 跨境支付 市场

软件测试/测试开发 | app自动化测试(Android)--App 控件定位

测试人

软件测试 自动化测试 测试开发 appium

如何集中式管理多个客户端节点传输任务-镭速

镭速

太狠了,Spring全家桶笔记,一站式通关全攻略,已入职某厂涨薪18K

程序知音

Java spring ssm java架构 后端技术

国家先进计算产业创新(宜昌)中心来了!

SENSORO

人工智能 大数据

Github霸榜!竟是阿里技术官的微服务分布式项目实战笔记总结

程序知音

Java 分布式 微服务 java架构 后端技术

阿里、腾讯、蚂蚁金服Java技术面试及经验总结(文末分享答案)

程序知音

Java java面试 后端技术 春招 八股文

2022年12月视频行业用户洞察:世界杯后半程看球热度不减,优质IP创新与开发助力用户留存

易观分析

音视频 视频

运维百家讲坛第 1 期:井源 - 运维几何

巴辉特

一种前端无源码定制化开发能力专利解读

元年技术洞察

低代码 数字化转型 无源码 元年方舟

各大互联网公司面经分享:Java全栈知识+1500道大厂面试真题

程序知音

Java java面试 java架构 大厂面试题 八股文

软件测试/测试开发 | app自动化测试(Android)--高级定位技巧

测试人

软件测试 自动化测试 测试开发 appium

架构训练营模块五作业

现在不学习马上变垃圾

架构训练营10期

年度技术盘点:水稻、韦伯、脑机接口、AI预测及创作、快速充电

B Impact

MixMIM 创建混合图像,提出新型掩码方案

Zilliz

计算机视觉

CleanMyMac X2023完整版本MAC电脑系统清理工具

茶色酒

CleanMyMac

由浅入深,聊聊 LeackCanary 的那些事

Petterp

android 内存泄漏 LeakCanary

移动开发平台真的能提升App开发效率吗?

Onegun

移动应用开发 移动端开发

推荐几款实用的移动开发平台

FinFish

移动开发 开发平台 移动开发平台 移动端开发 小程序技术

除 svn、Testlink 外,还有哪些不错的测试用例管理工具?

爱吃小舅的鱼

项目管理 管理工具 测试用例管理平台

尚硅谷Spring6发布视频教程

小谷哥

混合式APP开发框架

力软低代码开发平台

架构实战 5 -微博评论高性能高可用计算架构

架构实战营 「架构实战营」

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