11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

Facebook 面临的若干开放性数据问题

  • 2014-11-14
  • 本文字数:1762 字

    阅读完需:约 6 分钟

最近,Facebook 在位于美国加利福尼亚州门洛帕克市的总部召开了一场主要由数据厂商参加的峰会。会议主要针对目前Facebook 在数据存储和访问方面所遇到的开放性挑战进行讨论。讨论的话题主要包含了小数据、大数据和新型硬件三个方面。在会议过程中, Facebook 的研究人员分别对三个方面的现状和问题进行了分析,并邀请参会人员对可能的解决方案进行讨论。

关于小数据方面,Nathan Bronson 首先对Facebook 所采用的小数据架构进行了介绍。小数据主要是指像OLTP 这样的查询所引起的小容量数据处理和请求任务。一般,这种任务所牵扯的数据量比较小,但是任务量比较大。以Facebook 的News Feed 为例,它只需要大约一千个对象进行渲染。然而, Facebook 的用户数量已经超过20 亿。如果每个用户都发出这样的请求,总的请求量将会十分巨大。目前,Facebook 社交图谱的存储系统 TAO 每秒钟要处理数十亿个请求、满足对数十 PB 数据的访问。为了满足这些要求,TAO 和 Memcache 采用了通用的缓存机制。但是,缓存也同时带来了一些问题。

Nathan Bronson 抛出小数据存储相关的三个开放性挑战,并在大会上进行了讨论。第一是有关支持移动设备的问题。传统基于稳定网络连接而设计的系统并不能很好的服务于移动设备。采用预取和数据推送能够提高用户的使用感受,但是如何提高这部分工作的有效性和保护隐私数据的安全性是一个十分具有挑战性的问题。参会人员主要针对利用在一种可分析格式下对隐私规则进行关联分析展开了讨论,详细分析了各种可能出现问题的极端情况。其次是如何减少数据的复制操作。Facebook 所推出的应用以及所采用的数据架构都是基于查询操作能够迅速完成为前提的。在当今数据规模非常大的情况下,Facebook 采用本地存储和远端存储相结合的方式。在这种存储方式下,只有一部分数据存储在本地,这就导致缓存和对负信息的处理变得困难。经过大会的激烈讨论,人们认为还是应该从分析隐私规则入手,通过减少数据复制操作来应对该问题。最后,大会针对小数据方面的缓存对于可用性的影响展开讨论。Facebook 的数据中心中采用了大量的缓存来提高访问效率。但是,如何应对冷不命中和容量不命中是大规模存储方面的一个难题。与会人员激烈讨论了两种不命中的差别,并提议可以考虑用新型的非易失性存储器来解决这个难题。

在大数据方面,Facebook 的三大存储系统 ODS Scuba Hive 主要面对的是数据插入速度快和数据规模庞大这两个难题。以 Scuba 为例,它存储了数以千计、大约 100TB 的表格,每秒最多要处理 100 多个请求、扫描超过 1000 亿行,并在 1 秒钟内给出结果。在这种情况下,如何进行高效取样、有效资源调度等就成为大数据存储方面的挑战。

Janet Wiener 引导人们在取样精度、计算与存储能力的平衡、数据的流水处理可靠性等方面进行了讨论。讨论的具体内容包括:

1)以 log 时间进行分布式的取样,其精度如何以及如何评估精度等;

2)采用压缩编码可以利用计算来减少存储需求,哪种压缩算法最使用以及能够动态调整压缩策略等;

3)数据存储系统不是单独工作的,它需要与操作系统、文件系统、部署软件以及其他的系统协作才能完成其功能。在这个流水线中,如果有一个失效,该如何处理以及如何改善这一流水线的可靠性等;

4)Facebook 的大容量数据采用全局分布式的存储方式。针对大规模数据的查询该如何有效进行以及如何进行有效资源调度来满足查询需要等;

5)针对事件序列的关联性和异常检测方面,如何选择有效的算法以及能够应用这些算法分析压缩过的数据等。

在最后的硬件管理方面,Facebook 一直在尝试、并已经成功部署一些新的硬件器材来提高系统服务效率。Mark Callaghan 和 Vijay Rao 描述了 Facebook 在今年所采用的新型硬件器材,并引领大家对于硬件系统和新型软件展开讨论。随着技术的发展,新的硬件不断涌现,Facebook 也一直在更新其存储系统。但是,面对各种各样的技术,哪种才最适合小数据以及大数据访问的需求以及如何提高异构存储系统的有效性仍然是十分具有挑战性的问题。在未来的硬件方面,与会人员普遍把目光投到了具有良好性能的非易失存储器方面,并得出一些有趣的结论。


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-11-14 09:221248
用户头像

发布了 268 篇内容, 共 110.8 次阅读, 收获喜欢 23 次。

关注

评论

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

编译android源码!2021年Android面试心得,学习路线+知识点梳理

欢喜学安卓

android 程序员 面试 移动开发

智汇华云 | ArcherOS Stack共享存储虚拟化技术剖析

华云数据

算法喜刷刷之1021删除最外层的括号

Kylin

算法 28天写作 3月日更 21天挑战

php in_array的低性能

架构精进之路

php 3月日更

java String长度有限制吗?

ddww

万象:百度的海量多媒体信息处理系统

百度开发者中心

#富媒体# #信息系统#

比电脑屏保还酷?在电脑桌面实时显示当前时间。

彭宏豪95

效率 效率工具 时间 应用 桌面时钟

化蛹成蝶,华为云DevCloud助力互联网+转型,重构钢铁产业链

华为云开发者联盟

Scrum 代码 华为云 devcloud 敏捷管理

Linkis 1.0.0-RC1 版本发布

康月牙

JDBC—连接数据库工具类(JDBC_Utils)

打工人!

Java JDBC java工具类 操作数据库

BI掌柜系统开发案例详情丨BI掌柜开发源码功能

系统开发咨询1357O98O718

阿里P8大牛手把手教你!这是一份面向Android开发者的复习指南,快来收藏!

欢喜学安卓

android 程序员 面试 移动开发

网络编程及通信三要素

五分钟学大数据

大数据 网络编程 28天写作 3月日更

数仓集群管理:单节点故障RTO机制分析

华为云开发者联盟

GaussDB 集群 GaussDB(DWS) RTO 单节点故障

京东M-PaaS平台之Android组件化系统私有化部署改造实践

京东科技开发者

系统架构 mPaaS

Github上2021最新最全面的面试题库(Java岗)程序员不容错过

比伯

Java 编程 程序员 架构 面试

JDBC—对数据库的通用增删改查

打工人!

Java 数据库事务 MySQ JDBC crud

Serverless 时代 DevOps 的最佳打开方式

阿里巴巴云原生

Serverless DevOps 微服务 运维 云原生

智慧物流迎利好,当代电商倒逼传统产业链变革升级

一只数据鲸鱼

物联网 数据可视化 供应链 智慧城市 智慧物流

【LeetCode】翻转链表Java题解

Albert

算法 LeetCode 28天写作 3月日更

JDBC—配置SQLyog

打工人!

MySQL JDBC SQLyog

《Redis 核心技术与实战》学习笔记 03

escray

redis 学习 28天写作 3月日更 Redis 核心技术与实战

告别交通拥堵和数据孤岛,区块链成智慧交通发展新基石

旺链科技

区块链应用 智慧交通

高效使用Chrome浏览器,你可能不知道的10个技巧。

彭宏豪95

chrome 效率 浏览器 使用技巧

《Out of Tar Pit》总结

陈皓07

孤寡程序猿找女朋友的方法论

不脱发的程序猿

程序员 找对象 28天写作 3月日更 脱单

B2B 产品市场中「价值营销」的 8 个关键词

To B Park

登顶GLUE榜单的文心又开课了,一站式教学搞懂信息抽取

百度大脑

百度大脑 GLUE 信息抽取 EasyDL

Facebook面临的若干开放性数据问题_数据库_张天雷_InfoQ精选文章