Facebook 正在重构数据库以有效存储用户的数十亿张照片并节省成本
为了管理好用户每月上传的7PB的照片,Facebook正在重构其存储数据的方式。据Facebook基础架构工程副总裁Jay Parikh称,随着照片数量的增长,Facebook需要找到成本更低、更省电的方法来存储所有这些照片。
Jay Parikh周三在“结构欧洲”会议上讲到,Facebook用户每天要上传大概3亿张照片,在特殊的日子里会更多。“万圣节是一年中上传照片最多的日期之一,今年万圣节一天估计就要上传10亿到20亿张的照片,”他说。
像万圣节这样的节日里拍的照片人们很快就不怎么感兴趣了,也许几天或者几个星期后没有人会再想起,但是“我们和用户之间的合同标明即使用户不再访问某些数据了我们也不能将其删除,而必须保存好,” Jay Parikh 说到,他还透露Facebook由此想到使用类似“冷藏库”的数据库来保管这些照片。Facebook打算建一个新的数据中心,其中配有不同类型的数据库、服务器硬件和网络设备,这些设备都比现有的数据成本低而且耗电也少,不需要改变服务器的反应时间,Parikh说。
但是Facebook如何实现其冷藏数据库的高效率呢?当数据库的成本和耗电量降低时,势必会影响到用户的访问速度。例如,将数据存储在磁带上是降低了耗电,不过也使数据访问速度严重下降。
亚马逊的Glacier云存储服务走的就是一条折中路线,它也是用磁带存储某些数据。不过访问频繁的数据的服务得到优化,花几个小时来检索这些数据也是可接受的。
但是对于Facebook来说几个小时就太慢了,Parikh说。
今天大部分数据中心都得到了优化,目的是有强大的力量来执行那些需要很多计算资源的任务。Facebook想到的“冷藏库”技术是另一个极端,Parikh说,“你需要极大的空间,但不需要那么多的能量,”他说,有关数据中心的一切都需要重新思考以应对Facebook现在所面对的数据规模性问题。
从高水平角度来讲,Facebook是在优化软件,它能告诉我们 当基础设施里数据存储到一定时间时应该将其存到哪里、如何存储,Parikh说。“也就是说随着时间的推移我们要不停的改变数据的位置,使用不同的基础设施来存储,我们还要对托管相应数据的技术设施进行优化。”软件层的某些创新能够让Facebook系统保持快速的反应但是存储数据的成本效益更高,他说。
未来一到两年内云存储会成为Facebook基础设施的一部分,他说。Facebook在开放计算项目(Open Compute Project)来公开某些它认为有关的部分。开放计算项目是Facebook为了在数据中心硬件行业推行开源软件协作模式而发起的。
By Loek Essers | IDG News Service