专家解读 > 详情
Azure SQL DataBase与传统SQL Server的区别对比
2017-09-25

由于Azure更新较快,此文档基于Azure SQL V12 版本,文档时间:2017年9月24日

之前有很多朋友问,Azure SQL 与SQL Server有什么样的区别,我找了一些资料,也自己总结了一些内容。如下,但对于应用设计变化和分片处理等内容比较复杂,需要更深入的去探讨。这篇文章先把功能列表先给到大家。

1、基本对比

众所周知Azure SQL是属于PaaS层的服务,因此,在运维管理和使用上,都是数据库本身级别的使用和管理,我总结了几点如下:
表1.png

2、应用设计变化

在应用设计上,云上的应用的理念应该向SaaS转换,需要设计多租户应用程序

在多租户应用程序中,可以轻松将数据和工作负荷分区。 由于大多数请求发生在租户的限定范围内,因此可以将数据和工作负荷分区(例如,沿租户边界)。 

多租户应用程序开发人员选择的设计模式通常是出于以下考虑因素:

租户隔离。 开发人员需要确保租户不越权访问其他租户的数据。 这种隔离要求同时也针对其他属性,例如避开干扰性邻居、能够还原租户的数据,以及实现租户特定的自定义。云资源成本。 SaaS 应用程序需要具有成本竞争力。 多租户应用程序开发人员可能选择优化,降低云资源的使用成本,例如存储和计算成本。简化 DevOps。 多租户应用程序开发人员需要结合考虑隔离保护、维护和监视其应用程序与数据库架构的运行状况,以及排解租户的疑难问题。 应用程序开发与运营的复杂性直接导致成本增加和租户满意度难题。伸缩性。 以累加方式添加更多租户的能力,对于需要此能力的租户而言,这是 SaaS 运营成功不可或缺的能力。

常见的数据库模型设计实践:

租户各有数据库。 每个租户都有自己的数据库。 租户特定的所有数据局限在该租户的数据库内,与其他租户及其数据隔离。共享分片数据库。 多个租户共享多个数据库中的一个。 使用分区策略(例如哈希、范围或列表分区),可将一组不同的租户分配到每个数据库。 这种数据分布策略通常称为分片。共享单一数据库。 单一数据库有时很大,包含按租户 ID 列区分的所有租户的数据


3、详细功能对比

   下面是SQL Server 与Azure SQL数据库的详细功能的对比。

表2.png

总结:

以上列出了所有的功能列表, 可以点击链接看更详细的说明。

特别是不支持部分,需要深入了解。才能知道如何去使用Azure SQL。