最近对云计算的关注增加了键/值数据库的使用有关这种存储方式最常见的主题便是其伸缩性对各厂商来说即使无需构建高度伸缩的应用程序或服务云计算的其他一些优势也对它们有着强大的吸引力——尽管良好的伸缩性是云计算的关键要素之一
目前可以猜测的使用场景有
◆创业公司无需在本地服务器上进行投资只要购买它们的计算和存储即可
◆公司想要将现有的应用程序或服务器移植到云上时它们无需重新架构他们的数据层
◆需要在较短的时间段内获得大量计算能力
Tony Bain最近发布了一篇文章探讨关系数据库的末日是否已经来临他将目光对准关系型数据库和键/值数据库的区别以及从两者选择其一的原因上根据Tony的说法关系型数据库在伸缩性上会遇到一些挑战
当越来越多的应用程序发布于高负荷(例如Web Services)环境中时它们对伸缩性的需求将会十分明显首先它们会迅速增长其次它们最终的规模也会非常可观对于前者来说我们难以管理单个内部服务器上部署的关系型数据库例如你的负载一夜之间增加两倍你升级硬件的速度又能有多快?而后者一直便是关系型数据库在管理上的难点
他列举了四种选择键/值数据库而不是关系型数据库原因
◆你的数据是高度面向文件的
◆你的开发环境是高度面向对象的
◆你的数据存储很便宜并且很容易和合作伙伴的Web Service平台集成
◆你的最先关注的是按需增长规模庞大的伸缩能力
David Chappell在他关于Azure服务器平台的文件中简单讨论了这个问题David提出了在云中使用键/值数据库的多种原因不过他也谈到
……微软宣布了一个计划将SQL Data Service更进一步关系化与Windows Azure存储不同SQL Data Service构建于SQL Server之上使得这种发展更加自然无论这种模型是什么样的这个技术的目标是不变的提供一种伸缩性更强更可靠成本更低的云数据库并适合各种类型的应用程序
依赖于不同的关系型特性有以上需求的公司可以更容易地采纳这种技术并以此降低成本
类似由Brian Aker发起的Drizzle数据库它的目标是可伸缩的关系型能力Drizzle基于MySQL 的原代码并针对云和网络应用程序进行了优化现在他们已经从原来的代码中去除了许多功能并增加了许多新特性
◆微内核架构使Drizzle比MySQL更为模块化
◆更多接口如认证和日志记录
◆多核优化(与MySQL相比)
◆更少的数据类型
◆更少的引擎
◆更少的代码相对更小并且更易于维护的代码库
Drizzle仍处于Alpha阶段它为类Unix操作系统开发目前不支持Windows