• 欢迎来到计算机与信息工程学院!
新闻列表News List
当前位置: 首页 >> 科研工作 >> 业界资讯 >> 正文

Twitter的下一代分布式数据库Manhattan

2014年04月28日  点击:[]

作为世界上使用最广泛的微博客服务,Twitter月活跃用户如今已经超过2亿人,每天大约有5亿条推文被发送,在最初Twitter还没有这么大数据量的时候,该公司主要使用一些主流的技术来处理这些数据,比如开源数据库MySQLCassandra等,但随着用户量的飞速扩增,这些技术逐渐显示出了一些瓶颈,已经达不到Twitter实时、低延迟的需求,基于目前需求及长远考虑,Twitter开发了自己的分布式数据库系统——ManhattanTwitter表示,未来该系统可能会开源……

1. ManhattanTwitter规模的实时、多租户分布式数据库

Twitter的实时特性导致当下任何开源系统都无法满足其低延迟的需求。我们花费了大量时间来满足不同产品的需求,提供新的存储容量,耗费人力、流程以满足使用需求。但是依照我们在Twitter规模下的开发运行生产存储经验,这种状态是不可持续的。所有我们试图构建下一代Twitter分布式系统——我们称之为Manhattan Manhattan 不但需要满足现有需求,还需要迎合未来潜在的需求,以下是设计目标:

保持核心精益和简单 

越早实现价值越高(专注于增量) 

第一要义:多租户,QoS,自助服务 

关注可估性 

存储不只是一项技术,更是一个服务 

Manhattan 的主要特性。Manhattan 共分为如下 4 层:

核心:这是存储系统最关键的部分,需要高度稳定和强大,用来处理异常、一致性、路由、拓扑管理、数据中心区域内/跨区域复制、冲突解决等。核心中的关键组件完全可插拔。

存储引擎:目前有 3 个内部存储引擎——seadbsstablebtree

存储服务:在核心基础上构建了更多传统数据库中包含的一些功能,比如:Hadoop 数据批量导入、强一致性服务、时间序列计数器服务

接口:用于实现客户与存储系统的交互

支持多租户——允许多个不同应用程序共享同一资源——这从一开始就是一个关键需求。Twitter先前使用的系统中,我们为每个特征构建外部集群。这增加了操作负担,浪费资源,并且阻碍了客户推出新功能的速度。允许多个用户使用同一组群将增强运行系统的竞争力。我们现在必须要考虑隔离性,资源管理,多个用户能力模型,速率限制,QoS以及配额等等。为了给客户提供所需的可视性,我们设计了自己的速率限制服务来增强用户对资源和配额的使用。

2. 孙元浩:基于Spark引擎的高速内存分析和挖掘工具应用

孙元浩,2003年加入英特尔,曾是英特尔亚太研发有限公司数据中心软件部亚太区CTO,负责英特尔Hadoop发行版的研发和产品化工作。 2013年离开英特尔创办星环科技,推出国内首个基于Spark的大数据平台产品,在中国成功建立数个Spark成功案例。

孙元浩认为现在把Spark作为M/R执行引擎内嵌在我们的产品中,在两大类应用实践中比较成功,一类是通过PL/SQL进行交互式数据统计和分析,结合可视化工具为用户提供了高速的大数据探索能力。另一类应用是做数据挖掘,因为Spark充分利用内存进行缓存,利用DAG消除不必要的步骤,所以比较合适做迭代式的运算。而有相当一部分机器学习算法是通过多次迭代收敛的算法,所以适合用Spark来实现。我们把一些常用的算法并行化用Spark实现,可以从R语言中方便地调用,降低了用户进行数据挖掘的学习成本。

他表示Spark目前在技术上已经不存在大的困难了,我们已经在一些用户的核心业务系统中部署我们自己的Spark版本,而且是7x24小时不间断运行,稳定性已得到验证。我们也把Spark成功地应用到数据仓库中,无需编程几乎全程可视化。如果说目前面临的最大困难,主要是在客户认知上,还需要更多的成功案例和技术推广。

3. Redis大冒险:如何跳出SQL这个坑

随着数据体积的激增,MySQL+memcache已经满足不了大型互联网类应用的需求,许多机构也纷纷选择Redis作为其架构上的补充,然而Redis的使用门槛并不低,比如不支持SQL等,这里为大家分享Redis的使用全攻略。

Redis的一个重要特性就是它并非通常意义上的数据库,虽然称之为数据库是因为它可以为你存储和维护数据,但它并不像关系数据库那样提供任何的SQL方言。不过不用担心,Redis并不是吞噬数据的黑洞,它只是不支持SQL及相关功能,但却提供了稳健的协议用于与之交互。

Redis是基于key-value范式存储数据,不像RDBMS中的字段名称,这里的keyRedis中的重要组成部分,所以我们必须在处理key时多加小心。在下面的讲述中,Redis并没有table的概念,所以像"SELECT username from users WHERE user_id=123;"这种简单任务都只能换种方式实现,为了达到这种目的,在Redis上,一种方式是通过key "user:123:username"来获取结果value。如你所见,key的定义中携带了神秘信息(user ids)。在Redis中,key的重要性可见一斑。

4. 搭建高可用的MongoDB集群(上):MongoDB的配置与副本集

NOSQL有以下优势:

大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统mysql单表存储量级限制。

高扩展性,Nosql去掉了关系数据库的关系型特性,很容易横向扩展,摆脱了以往老是纵向扩展的诟病。

高性能,Nosql通过简单的key-value方式获取数据,非常快速。还有NoSQLCache是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上来说就要性能高很多。

灵活的数据模型,NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。

高可用,NoSQL在不太影响性能的情况,就可以方便的实现高可用的架构。比如mongodb通过mongosmongo分片就可以快速配置出高可用配置。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的。支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。所以这个非常方便,我们可以用sql操作MongoDB,从关系型数据库迁移过来,开发人员学习成本会大大减少。如果再对底层的sql API做一层封装,开发基本可以感觉不到mongodb和关系型数据库的区别。同样MongoDB也是号称自己能够快速搭建一个高可用可扩展的分布式集群。

5. 软硬件协同创新,共建未来数据中心

2014326LSI加速技术创新峰会(AIS)首次登陆中国,这也是LSI首次选择在美国之外的地区召开峰会,本次峰会主题为“数据即商机”。参展的产品主要是针对数据中心的存储解决方案,包括针对企业级大型数据中心的12 Gb/s SAS MegaRAID解决方案,针对中小企业的Syncro CS解决方案以及Nytro闪存解决方案,虽然没有新品发布,每种解决方案对传统存储市场来说都是一场变革。

LSI公司CTO办公室高级技术专家Robert Ober则将其进一步细化为数据中心三大硬件创新和六大趋势,三大创新分别为:硬件的智能化、整个数据中心的可靠性以及大数据分析所需的分布式系统架构。六大趋势分别为:

数据中心开发时间不断缩短,大幅增加了硬件厂商制定和实施计划的难度。

终端客户尤其是大型数据中心客户与硬件厂商直接对接。

超大规模数据中心或云数据中心等新参与者加入数据中心市场。

开源计划。Open ComputeOpen Stack等新型开源项目正在重新改写数据中心架构

新架构和新算法。

市场变化。笔记本在从HDD转向SSD;云端存储对大容量HDD的需求在急剧增长等。

Inspur存储产品线副总经理李瑞东和EMC新兴技术闪存解决方案架构总监Mac Binesh共同介绍了由EMC ScaleIOVMwareLSI支持的Inspur新一代融合基础架构VDI设备,其中LSI Nytro闪存可降低存储成本和复杂性,EMC ScaleIO是一种功能强大的纯软件解决方案,能够利用应用主机上的本地磁盘构建可扩展至成千上万个节点的虚拟SAN,软硬件协同满足客户不断提高的桌面虚拟化需求。

6. Dropbox推独立应用,公司估值已达100亿美元

49云存储服务商Dropbox发布数项新应用,如照片应用Carousel允许用户浏览和共享存储在云服务中的图片。而移动电子邮件Mailbox的亮点是通过将重要附件保存在云服务中来减少垃圾邮件。该公司CEO德鲁?休斯顿(Drew Houston)将公司的新举措称为开启“第二篇章”,旨在发挥Dropbox的现有优势,使用户拥有更多理由忠诚于Dropbox 的云存储服务。

前美国国务卿康多莉扎?赖斯 Condoleezza Rice)也闪亮加盟Dropbox,成为公司第四位董事会成员。去年,赖斯经营的国际咨询公司RiceHadleyGates一直在为Dropbox的管理提供咨询。休斯顿(Drew Houston)表示,虽然其他企业的存储服务价格更低,但仅Dropbox一家能够实现文件在多个设备之间的同步。谷歌、微软和苹果虽都提供免费服务,但用户只能在专属这些企业的设备或应用中使用。Dropbox扮演着瑞士一般的中立国角色,可允许用户将运行Windows系统的笔记本电脑上的文件,在 iPhoneAndroid平板中进行无缝更新。

7. 华为章宇:如何学习开源项目及Ceph的浅析

学习各种开源项目,已经成为很多朋友不可回避的工作内容了。笔者本人也是如此。在接触并学习了若干个开源项目之后,笔者试图对自己工作过程中的若干体会加以总结,以期对一些希望借鉴的朋友有所裨益。

了解项目的基本概念、基本用途、逻辑结构、基本原理、产生背景、应用场景等基本知识。 

掌握项目的基本安装流程和使用方法。

了解代码的组织,找到各个主要逻辑/功能模块与代码文件之间的对应关系,通过代码分析走通几个关键的、有代表性的执行流程。 

了解该项目所有代码模块、程序文件的作用,走通所有主要执行流程。 

钻研、领悟该项目的各种设计思想与代码实现细节。 

作为OpenStack的人气存储技术之一,CephSwiftGlusterFS一样有着各自的优势:GlusterFS更适合Hadoop类型的服务;Swift适合更多人访问;Ceph的未来更被看好,并已得到许多知名机构的支持,比如CERN和天河2

Ceph事实上是目前OpenStack生态系统中呼声最高的开源存储解决方案。这一点从笔者在OpenStack 2013 HongKong Summit上的亲身体验可以得到印证。目前,以HPDellIntel等为代表的企业IT领导厂商,和以MirantiseNovanceUnited Stack为代表的若干OpenStack社区新兴厂商,都将Ceph作为重要的乃至于首选的开源存储解决方案,详细内容请点击 原文。

其他云计算热点新闻: Hadoop集群环境下网络架构的设计与优化、 CloudFoundry架构优化:NATS集群化方案、 EMC:大数据时代中对于数据保护的重新定义、 从火种到核心,浅析Hadoop大数据用户的演变、 云计算战争:OpenStack vs. VMware,更多云资讯请继续关注CSDN 云计算频道

上一条:操作系统之争各国加紧“厮杀” 未来竞争在中美 下一条:Robotic Printer 行走在纸上的移动打印机

关闭

明德明智


惟实惟新
学院主页二维码