Manhattan:推ter的下一代分布式数据库

jopen 11年前

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

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

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

        推ter 目前对于数据库产品的需求:

  • 可靠性
  • 可用性
  • 可扩展性
  • 易操作性
  • 低延迟
  • 细粒度的可缩放性
  • 开发人员的工作效率

推ter 在设计 Manhattan 时主要遵循的原则:

  • 保持核心轻量和简单
  • 能够更快地带来价值
  • 有限考虑多租户、服务质量(QoS)和自助服务
  • 专注于可预测性
  • 存储作为服务,而不仅仅是技术

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

Manhattan:推ter的下一代分布式数据库

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

Manhattan:推ter的下一代分布式数据库

        更多信息:Manhattan, our real-time, multi-tenant distributed database for 推ter scale

来自: www.iteye.com