|
Twitter:我们已经亲手打造自己的数据库解决方案
Twitter已经步步发展并且走向成熟,因此在即时可用性之外、他们也开始意识到数据一致性保障的重要意义。该公司已将打造全新的“曼哈顿”数据管理软件这一诉求摆上了核心地位,并在上周的博文中正式披露了这套基础存储系统的诞生。
让我们更进一步
该系统当中的数据会被保存在三套不同的系统当中:seadb是一种只读型文件格式,sstable是一种面向高强度写入工作负载的日志结构型合并树,而btree则是一种重读取而轻写入的系统。曼哈顿项目的“Core”系统随后会决定要把信息保存在磁盘、内在或者是固态硬盘(简称
SSD)当中。
曼哈顿项目可以将输入数据匹配为最合适的格式。举例来说,Hadoop工作负载的输出内容会以Hadoop文件系统的形式导入到曼哈顿当中,而后者则将其转换成seadb文件格式“从而利用速度更快的SSD或者内存机制将其进一步导入至集群当中,”Twitter方面解释道。
该数据库支持多租户机制并包含自有速率限制服务,从而避免Twitter开发者们的海量请求将系统彻底淹没。这些系统被打包成前端,这样工程技术人员就可以访问这套“自助式”存储系统了,Twitter解释道。
“工程技术人员能够针对其应用程序的具体需求进行配置(例如存储规模乃至每秒查询数量等等)并在几秒钟之内开始使用其存储功能,而且完全不必等待硬件安装或者模式设置过程,”Twitter在文中对该系统作出这样的描述。
Twitter已经计划在未来发布一份用于概述该技术的白皮书,甚至很有可能将该数据库项目推向开源。当然,开源工作在短时间内还无法完成,因为一位前任Twitter工程师曾在一篇博文的在线留言板中表示:“这套数据库中包含大量运作部件以及内部集成机制,因此将其转为开源还有很多工作要做。”
下一布计划?打造次级索引
根据我们了解到的情况,在未来的开发工作中,该公司将把工作重心放在次级索引机制的缔造上。
次级索引机制允许开发人员向数据库索引中添加一套额外键,从而显著提升开发者在浏览并查询大规模数据集时的速度表现。
举例来说,Amazon Web Services的主力方案DynamoDB就以local与global(多数据中心)两种格式实现了这一技术。
通过向曼哈顿数据库内添加次级索引,Twitter为其开发者赋予了面向超大规模数据集编写复杂查询的能力,这套索引机制将被保存在内存当中。
这意味着,假如Twitter的商业团队希望建立起一套速度出众的广告系统,则可以从多种不同因素出发、以更低的成本与远超以往的灵活性向用户呈现出近实时广告内容。
要想提供更等级、针对性进一步细化的广告内容呈现效果,次级索引这类系统可谓至关重要;而这类技术也将成为Twitter实现商业化运营的重要武器。
不过技术挑战也仍然存在:次级索引初期只能实现单一数据中心内部的一致性保障,这是因为全局次级索引对计算量要求过高、暂时还无法实现。
责编:李玉琴
微信扫一扫实时了解行业动态
微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
|
最新专题
|
|