宣布Azure中新的SQL数据库功能
[原文发表地址] Announcing Great New SQL Database Capabilities in Azure
[原文发表时间] 2015-8-27
如今我们在Azure中提供一些新的SQL数据库功能,使您可以构建更好的云应用程序。详情如下:
• 我们将会推出两个新的对于弹性数据库池能力的定价级别。弹性的数据库池使您能够在一个私人的资源池上为您和您的应用程序运行多个分离并独立的数据库。这为软件即服务 (SaaS) 的开发人员提供了一个很棒的方法使他们能够用一种经济的方法更好地分离他们的个人客户。
• 我们也将为SQL数据库引入新的更高端规模选项使您能够运行带有更多计算 + 存储 + 网络资源的更大的数据库。
这两个新增的功能都可立即使用。
弹性数据库池
如果你是一个拥有数十、数百甚至数以千计数据库的SaaS开发人员,弹性数据库池在一个可控的预算范围内大大简化了在数据库中创建、 维护和管理的性能。
一种常见的 SaaS 应用程序模式 (特别是为 B2B SaaS 应用) 是 SaaS 应用程序为每一个客户使用不同的数据库来存储数据。这样做的好处是单独隔离每个客户的数据(并使每位客户的数据单独进行加密、备份等)。虽然从隔离和安全角度来看这种模式是很棒的,但每个数据库最终会产生不同且不可预知的资源消耗 (CPU,IO,内存模式),因为每个客户的高峰和低谷可能很难预测,所以很难知道需要提供多少资源。以前开发商面临两种选择:要么基于峰值使用率过度分配数据库资源—超支。要么分配较少以节省成本—在峰值期间降低性能和客户满意度。
微软创建弹性数据库池专门帮助开发人员解决这一问题。使用弹性数据库池你可以分配一个共享的数据库资源池 (IO/CPU/内存),然后在这个池里创建并运行多个独立数据库。您可以设置性能SLA的最小值和最大值来限制您选择添加到池中的每个数据库 (确保在你的池中没有数据库不公平地影响其他数据库。) 我们的管理API 也使它更容易编写脚本并一起管理多个数据库,以及随意地在它们之间执行查询 (对于各种操作很有用。) 最重要的是当您将多个数据库添加到弹性数据库池时,您将能够平均出标准的利用负载 (因为每个您的客户往往有不同的高峰和低谷) 并且最终会比您单独地运行每个数据库需要更少的数据库资源(因此花更少的钱) 。
下面的图表展示了一个当SaaS开发人员充分利用弹性池的能力时的典型例子。每个单独的数据库有了不同的高峰和低谷的利用率。当您将多个数据库合并到一个弹性池,高峰和低谷趋于正常化 (因为它们总是发生在不同时间),相比于每个数据库单独获取资源,您将需要更少的总资源:
因为弹性数据库池是用我们的SQL数据库服务构建的,所以您还可以充分利用所有底层数据库服务内置的性能: 99.99%的 SLA,无需额外费用的多种高度可用性副本支持,修复时没有停机时间,异地备份,时间点恢复,TDE 数据加密,列层级安全性,全文搜索,以及更多。最终的结果是一个很好的提供了很多灵活性并能够节省资金的数据库平台。
新的具有基础层和高级层的弹性数据库池
早在今年的Build大会上我们就宣布了新的弹性数据库池支持在Azure上使用,并且它的标准层版进入到了公共预览。标准层允许弹性池中的单个数据库的性能可以爆发到100eDTUS(一个DTU 代表一个计算机+IO+存储功能的组合)。
今天我们向预览版中添加了一个额外的具有基础层和高级层的弹性数据库池,使其具有广泛的性能和成本的选择。
· 基础层的弹性数据库池非常适合轻量级的SaaS方案。基础层的弹性数据库池允许单个数据库的性能可以爆发到 5 eDTUs。
· 高级层的弹性数据库池是专门为那些需要每个数据库都有高性能的数据库而设计的。高级层的弹性数据库池允许单个数据库性能可以爆发到 1,000 eDTUs。
我们集体认为这三个弹性数据库池的定价层选项为SaaS开发者的充分利用提供了大量的灵活性和可选性。它旨在解决各种各样的不同的方案。
轻松地在定价层之间迁移数据库
我们支持的很酷的功能之一就是能够轻松地将一个单独的数据库在不同的弹性数据库池之间迁移 (其中包括一些具有不同的价格层的数据库) 。例如,如果你是一个 SaaS 开发人员,您可以与用户使用试用版来启动您的应用程序,在一个基础层的弹性数据库池中选择一个支持该应用程序的数据库去超值高效地运行。随着客户的使用增长,你可以将它们自动-迁移到标准层数据库池而不需要客户暂时停止使用。如果因客户的增长而需要大量的资源时, 你可以将其迁移到一个高级层的数据库池或运行他们的数据库作为一个独立的 ,拥有大量资源容量的SQL 数据库。
此功能提供了大量的灵活性和容量,并使您能够构建更好的应用程序。
管理弹性数据库池
弹性数据库池另一个更好的事情就是服务提供管理功能,能够轻松地管理大型的数据库集合,而无需担心运行它的基础设施。
您可以使用我们的Azure 管理门户或通过我们的命令行工具及REST Management APIs来创建和管理弹性数据库池。今天的更新我们还增加了一些支持,使得你可以使用 T-SQL 来添加/删除新的数据库到/从一个弹性的数据库池。今天的更新还增加了T-SQL的支持为了在弹性池中计算数据库的资源使用率-使它更容易去监控和跟踪数据库的使用率。
弹性数据库池层功能
在此次预览版中,我们已经开始并将继续调整控制弹性数据库池密度的一些参数。
特别是,面对全面上市,我们正在计划稳步增长对于当前每个池的数据库数量以及eDTUs池的数量的限制。我们的计划是在实现每个池密度最大化,最大的池大小以及最好的弹性数据库经济学的同时保持我们99.99的可用性SLA。
下面是在今天预览中每个弹性数据库池层选项的当前性能参数:
我们将继续在上面参数的基础上迭代提高,并且会像我们预览版中正在做的,增加每个池内数据库的最大数量。同时我们随时期待您的反馈。
新的高规模SQL数据库性能层
除了弹性数据库池的增强功能,我们今天还为独立数据库发布了新的SQL数据库高级性能层的选项。
今天,我们增加一个新的P4(500 DTU)级别和一个P11(1750 DTU)级别,这为那些希望向上扩展SQL数据库的人提供了更高的数据库性能选项。新的P11级别现在也支持将数据库大小扩展为1TB
开发人员现在可以从10个不同的SQL数据库性能级别中进行选择。你可以在数据库没有停机或中断的前提下,在任何情况下轻松扩展或缩小数据库。任何一个数据库性能层都支持99.99%的SLA,并且无需额外花费就能支持多个内置的高可用性副本(这意味着你不必买多个实例以获得SLA-这已经内置到每个数据库中),修复期间无宕机,时间点恢复选项(还原无需备份),TDE加密数据,保证同行级别数据的安全及全文搜索的一系列功能。
了解更多
你可以通过访问网站https://azure.microsoft.com来学习了解更多的数据库。通过查阅SQL数据库产品页来了解SQL数据库提供的功能,以及通过阅读技术文档来了解如何使用SQL数据库来创建一个强大的应用程序。
总结
今天的数据库更新使得开发人员能够更好的构建云应用程序,并利用数据使得您的程序更健全更敏捷。我们非常期待看到您构建的解决方案。
希望这些有用。
Scott