存储帮助Facebook 150万用户顺畅交友

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

Facebook的用户现在每个月都上传超过800万张数码照片,截至去年夏天,Facebook是全球排名第一的网络照片存储网站,共存储了6.5亿张图片,同时,Facebook还拥有500多万部影片,以及其他内容,其中包括约20万件网络新闻、博客文章以及报告和评论,总计存储的数据量达到数个PB,所有这些数据都需要安全的存储,而且需要马上就进行检索。而这,是一个极为艰巨的任务。

事实上,Facebook就像是一个传奇,很难相信,前哈佛大学二年级学生Mark Zuckerberg创建的Facebook到目前为止仅仅只有5岁,在如此短的时间内积累下如此庞大的数据简直让人不可思议,但是,这的确是事实。

其实,Facebook的增长一直这么快且乐观,在2007年12月,该公司在美国加州的数据中心达到了满载的容量,幸运的是,Facebook的存储管理团队已经看到了存储的未来,并且在数据增长的过程中在美国东海岸的弗吉尼亚州建立了一个数据中心,并在几周前正式上线。不过,能够积极地管理PB级别的数据是很不容易的事情,因此,Facebook的团队一直在寻找可行之道。

“对于存储容量来说,我每天早餐的时候都会看到一个图表,那上面显示着我们正在做的。”Facebook公司存储工程经理Anoop Nagwani表示,他已经在Facebook工作了一年半,“我们每个月都会评价整个我们的组织机构,然后每周都会有一个小组讨论。”

MySQL越来越庞大

Facebook的用户数据存储在MySQL数据库上,Facebook拥有一个全球最大的MySQL数据库系统,骑在超过1800台服务器上运行着MySQL数据库。Facebook选择了MySQL的开放性,因为其代码的可修改性是必要的。Facebook同时还是用了大量的内存缓存服务器(Memcached Server),其速度大幅度超过了MySQL服务器,从而能够更好的跟上存储数据副本的要求。此外,每个晚上,Facebook都会进行数据复制,将Facebook在西海岸数据中心的数据复制到东海岸的数据中心中,并进行一次数据转储,这些数据通过重复数据删除技术专业厂商Data Domain的技术进行重复数据删除后进行长期存储。
Facebook处理图片和视频略有不同,其使用NetApp的NFS系统以及SATA硬盘来进行存储,因为NetApp能够在一个很大的容器中存储很大的对象。但是,随着Facebook上存储的照片数量的增长,NetApp的系统因由元数据已经不堪重负,造成了带宽的瓶颈。

因此,今年晚些时候,Facebook计划推出自己的对象存储系统“Haystack”,该系统被其描述为“一个标示数据所在的用户级别的抽象对象都存储在一个单一的文件中(类似于LUN)”。

Facebook也使用NFS来存储视频,“因为我们有许多设备要存储相同的数据在一线系统,这事最具成本效益和高性能的方式做到这一点。”Nagwani谈到。Facebook的系统正在像Isilon的集群存储系统一样良好工作着。但是Nagwani和他的团队仍然在积极寻找其他平台,比如Sun的Storage 7410统一存储系统,其能够扩展到576TB。

能耗和性能取得均衡

另一个备受Nagwani和他的团队关注的话题是能耗问题。

“我们一直都在关注电力问题。”他表示,“我们担心我们数据中心机架的能耗。话虽如此,我们正在制定一个解决方案,例如,当我们转移到NetApp,特别是当我们的照片都转移到运行着SATA硬盘的NetApp系统时,我们很看重电力消耗。我们期待系统能够做到的I/O指数,他们提供的容量和性能。而且我们还希望从根本上创建一个cookie刀片设计,我们要知道该系统有多少能力能够支持多少的用户使用。”

正如他的MySQL的数据,Facebook的照片和视频从西海岸数据中心利用快照复制到东海岸的数据中心,这样一来,“如果有人和类型的应用程序或是管理错误,我们可以随时通过快照来返回,或者,在最坏的情况下,出现系统故障,我们能够转移到东海岸,并将数据复制到西海岸那边。”Nagwani表示。

另一个大的问题是,Facebook的团队关注扩展性,因为,大约每周用户上传到Facebook的数据达到25TB,“这是我们的第一要务,是我们的规模、和扩展水平能够领先市场需求的原因。”

“闪存将是我们今年巨大的进步。”——Anoop Nagwani

作为其始终创建最佳的数据存储平台的长期战略,Facebook目前正在研究闪存技术,特别是以PCI为基础的高容量闪存设备,加入到固态存储(SSD)的用户大军中去。

“我们正在寻求将高容量的闪存设备到我们的MySQL数据库中去,因为我们的数据库内容需要非常快的I/O操作,这样做就能更快的进行ETL处理、数据仓库并且可以更快的获得数据。”Nagwani表示,“我们也在寻求将Sun的ZFS平台作为我们的一个新的系统,就像我们使用NetApp一样。我们喜欢他们,因为他们有一系列的闪存,因此,我们可以缓存大量的数据,所以基本上我们今年在闪存存储上的进步将是巨大的。”      
 
 

来源:51CTO
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
存储 缓存 NoSQL
社交网络场景下大规模图存储实践——Facebook TAO
社交网络场景下大规模图存储实践——Facebook TAO
232 0
社交网络场景下大规模图存储实践——Facebook TAO
|
存储 缓存 运维
OIL + VCache如何改善Facebook视频延迟 并减少存储和计算开销?
OIL将存储空间抽象化,并与分布式缓存系统VCache配合,降低了Facebook视频延迟的同时,并减少了存储与计算开销。感谢赵化强、李东明完成本文技术审校。
272 0
OIL + VCache如何改善Facebook视频延迟 并减少存储和计算开销?
|
存储 分布式计算 固态存储
|
机器学习/深度学习 算法 决策智能
【重磅开源】Facebook开源 Nevergrad:一种用于无梯度优化的开源工具
【重磅开源】Facebook开源 Nevergrad:一种用于无梯度优化的开源工具
218 0
|
缓存 数据可视化 测试技术
开源多年后,Facebook这个调试工具,再登Github热门榜
让许多工程师合作开发大型应用大多会面临一个挑战,通常没有一个人知道每个模块是如何工作的,这种技能会让开发新功能、调查Bug或优化性能变得困难,为了解决这个问题,Facebook创建并开源了Flipper,一个可扩展的跨平台的调试工具,用来调试 iOS 和 Android 应用。近日又双叒登上了Github热榜。