阅读更多
作为世界上使用最广泛的微博客服务,Twitter月活跃用户如今已经达到了2.183亿人,每天大约有5亿条推文被发送,几乎每秒钟就产生了超过6000条推文。

在最初Twitter还没有这么大数据量的时候,该公司主要使用一些主流的技术来处理这些数据,比如开源数据库MySQL和Cassandra等,但随着用户量的飞速扩增,这些技术逐渐显示出了一些瓶颈,已经达不到Twitter实时、低延迟的需求,Twitter工程师也需要花费大量的时间来扩展这些产品。因此,基于目前需求及长远考虑,Twitter开发了自己的分布式数据库系统——Manhattan。

Twitter表示,未来该系统可能会开源,该公司还在在官方博客中介绍了该系统的详细信息。下面就来看看。

Twitter目前对于数据库产品的需求(也是Manhattan的特性):

  • 可靠性
  • 可用性
  • 可扩展性
  • 易操作性
  • 低延迟
  • 细粒度的可缩放性
  • 开发人员的工作效率
Twitter在设计Manhattan时主要遵循的原则:

  • 保持核心轻量和简单
  • 能够更快地带来价值
  • 有限考虑多租户、服务质量(QoS)和自助服务
  • 专注于可预测性
  • 存储作为服务,而不仅仅是技术
下面来看看Manhattan的主要特性。Manhattan共分为如下4层:



  • 核心:这是存储系统最关键的部分,需要高度稳定和强大,用来处理异常、一致性、路由、拓扑管理、数据中心区域内/跨区域复制、冲突解决等。核心中的关键组件完全可插拔。
  • 存储引擎:目前有3个内部存储引擎——seadb、sstable、btree
  • 存储服务:在核心基础上构建了更多传统数据库中包含的一些功能,比如:Hadoop数据批量导入、强一致性服务、时间序列计数器服务
  • 接口:用于实现客户与存储系统的交互


更多信息:Manhattan, our real-time, multi-tenant distributed database for Twitter scale
  • 大小: 10.2 KB
  • 大小: 50.9 KB
5
0
评论 共 2 条 请登录后发表评论
2 楼 sp42 2014-04-08 22:00
开源否?Twitter 出品的关注下
1 楼 zhangbaoqi 2014-04-07 17:02

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

Global site tag (gtag.js) - Google Analytics