您的位置: 网界网 > 软件 > 正文

ScaleBase解决云端关系型数据库快速扩容问题

2014年12月04日 14:06:47 | 作者:范范编译 | 来源:

摘要:数据库虚拟化新创企业ScaleBase,正致力于帮助企业在不增加硬件或修改应用代码的情况下,实现云端数据库的自动化快速扩展。

标签
扩展
虚拟化
NoSQL
关系型数据库
ScaleBase

【CNW.com.cn 独家译稿】数据库虚拟化新创企业ScaleBase,正致力于帮助企业在不增加硬件或修改应用代码的情况下,实现云端数据库的自动化快速扩展

当马克•扎克伯格和他同伴在2004年开发出Facebook应用后,他们并没有意识到这款应用会变得如此广受欢迎。原本设计用于取代大学通讯录的Facebook不仅仅受到了大学生们的喜爱,更是在两年内积累了将近1200万名常规用户。在推出十周年之际,Facebook已经在全球拥有了12.3亿多名用户,其中近5亿人每天都会访问Facebook。

现在让我们想象一下自己就是一名需要想办法应对高速增长数据库的DBA(数据库管理员)。我们必须要组织好和管理好这些用户和他们的发贴,同时还不能影响应用的性能和可用性。

Facebook并不是唯一一款遇到数据库扩展性问题的应用。许多推出了很酷应用的初创企业都希望自己能够成为下一个Facebook、Snapchat或是易趣,能够在一夜间吸引数以百万计的用户。此外,数据库的高速增长也不仅仅是初创公司所要面临的问题。在各行各业,许多公司也都遇到了基于关系型数据库的应用在扩展性方面无法适应数据增长速度的问题。

简单地将大型服务器由数据中心迁移至位于云端的亚马逊AWS或Rackspace上,并不能解决这一问题。实际上,关系型数据库并不能高效地扩展为一个大型环境。此外,甲骨文、DB2、SQL Server和MySQL等数据库也不是针对虚拟化或云环境而设计的。随着建立在这些数据库之上的应用在呈现指数级速度的增长,它们必须要支持不断增大的读写次数,最终都将会遇到容量与性能的问题。

解决这一问题有两个传统方法:一是增加更多的硬件进行扩容,二是自己动手进行数据库切片。增加更多的硬件,即便是在云上,其代价也是非常昂贵的。切片,即将数据库分为更小的片区,通常意味着必须要将代码写入应用中才能管理这些片区。

数据库虚拟化领域的新创企业ScaleBase推出了第三种选择,这种方法可以在不增加硬件或修改应用代码的情况下,提升数据库的扩展性和可用性。ScaleBase准备了一个独立的数据库,然后通过全自动切片方式,将其分解为多个分布式数据库。ScaleBase的解决方案是专门针对云设计的,可用于亚马逊AWS、IBM和Rackspace的云服务。该解决方案使用的是甲骨文开源数据库MySQL,以及其它可快捷部署的产品。

企业可以在不对底层应用做任何修改的情况下,将现有应用迁移至ScaleBase的分布式数据库上。例如,在切片时不需要编写任何代码。此外,ScaleBase能够实时自动处理数据库的分配。附图为ScaleBase具体的工作原理。

附图 ScaleBase工作原理示意
 
附图的上边是应用,这些应用不需要做任何修改。与ScaleBase MySQL数据库相连的应用接口和与其他关系型数据库相连的应用接口完全一样。ScaleBase增加了可维持数据库ACID特性(即原子性、一致性、隔离性和持久性)的事务管理功能。

位于底部的MySQL数据层可以被放置在任何云上。该层提供了一个可水平扩展的数据库,其可根据需要启动新的MySQL实例和执行动态数据优化,像负载平衡器那样实现自动扩容。图中垂直的橙色MySQL方框,代表了主数据库的自动冗余。

附图左边的ScaleBase 分析精灵(Analysis Genie)是该解决方案如何提供动态增长的核心模块。分析精灵一直监视着现有应用、数据库,以及所有的查询和流量,然后通过分析创建一个针对应用的最佳数据分布策略。分析精灵主要是用于找到打破数据库,将其分配至其他实例中的最佳方式。由于该建议是在数据库转向ScaleBase之前制订的,因此数据库管理员可以全盘采用或是调整数据分布的策略。与此同时ScaleBase还将该计划作为一项可根据发展需求不断调整的动态策略。

让我们看一下一个网络游戏应用案例。在推出之后,受欢迎的游戏会在几天内吸引到全球数以百万计的同时在线用户。通过在数据库层而非在应用层创建切片,以及允许根据分析精灵的分析结果分配数据(+本站微信networkworldweixin),游戏公司可以消除导致游戏者流失的潜在瓶颈。ScaleBase还可以帮助企业控制成本,加快产品的上市时间。

ScaleBase有两个最基本的使用案例:一是迁移现有应用,二是在ScaleBase上重新开发新的应用。将现有应用从甲骨文或SQL Server上迁移出去后,不仅可以减少数据库的许可证费用,还可以从ScaleBase那里获得自动扩展能力。

在ScaleBase上开发新的网络级应用的客户能够以更为经济高效的方式快速地把应用推向市场。实际上,ScaleBase提供了一个免费版本。该版本只是在部署的规模上做出了限制。开发者可以试用ScaleBase,理解它们是如何工作的,在应用达到一定规模后再去购买付费版本。此外,ScaleBase还为刚起步的新公司推出了创业版本。ScaleBase没有对该版本的数据库功能做出任何限制,因此初创企业可以快速地利用它来应对应用增长。在初创企业获得的收益或投资达到一定水平之前,该版本一直可以免费使用。

总之,ScaleBase可以接管一个迅速增长的庞大数据[注]库,并将其分解成多个可自动管理,且具有海量扩展能力的数据库实例(或者节点)。有指标显示,由于ScaleBase的扩展近乎于线性扩展,所以当应用的用户数量在数年时间内由零增长至12.3亿时,数据库也不会遇到任何增长的障碍。(范范编译)

参考资料

1.大数据:(Big Data),研究机构Gartner给出了这样的定义。“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 ...详情>>

[责任编辑:于翔 yu_xiang@cnw.com.cn]

我也说几句

热点排行