云供应商在提供关系数据库服务时是否确保 ACID 属性?

云供应商在提供关系数据库服务时是否确保 ACID 属性?

ACID 属性对于 RDMS 应用程序非常重要。云提供商提供许多关系数据库服务,例如 AMAZON RDS 和 Microsoft SQL Azure。

我很好奇是否提供了 ACID 属性?

谢谢。

答案1

AWS RDS 似乎基于 mysql 5.1,而 SQL Azure 则基于 SQL Server。这两个平台都符合 ACID 标准,看来 RDS/SQL Azure 也符合 ACID 标准。

答案2

这些产品的可扩展性不是因为架构(像大多数键/值存储一样);而仅仅是因为如果您付费,它们可以提供大型服务器,而且我猜它们都拥有经过良好调整的安装和经验丰富的员工来维持它们的运行。

正如托尼,它们基于传统的 SQL 服务器(分别是 MySQL 和 MSSQLServer),毫无疑问,这是真正的软件,并且在适当的硬件上进行适当调整后确实可以交付。

答案3

实际上,我读过一篇很好的论文,它谈到了我的问题,我想在这里发布,供更多用户参考。摘自 DAVID CHAPPELL 2008 年 10 月,介绍 AZURE 服务平台,初步了解 Windows Azure、.NET 服务、SQL 服务和实时服务

SQL 数据服务(以前称为 SQL Server 数据服务)在云中提供数据库。如图所示,该技术允许本地和云应用程序在 Microsoft 数据中心的 Microsoft 服务器上存储和访问数据。与其他云技术一样,组织只需为其使用的内容付费,随着组织需求的变化而增加或减少使用量(和成本)。使用云数据库还可以将资本支出(例如对磁盘和数据库管理系统 (DBMS) 的投资)转换为运营支出。SQL 数据服务的主要目标是广泛访问。为此,它公开了 SOAP 和 RESTful 接口,允许以各种方式访问​​其数据。由于这些数据是通过标准协议公开的,因此 SQL 数据服务可以由任何类型的系统上的应用程序使用 - 它不是仅适用于 Windows 的技术。与 Windows Azure 存储服务不同,SQL 数据服务建立在 Microsoft SQL Server 上。尽管如此,该服务并不公开传统的关系接口。相反,SQL 数据服务提供了一个不需要预定义架构的分层数据模型。此服务中存储的每个数据项都作为具有其自己的名称、类型和值的属性保存。要查询这些数据,应用程序可以使用直接 RESTful 访问或基于 Microsoft 的语言集成查询 (LINQ) 定义的 C# 语法的语言。

这里有一个明显的问题:为什么不直接在云中提供 SQL Server?为什么要提供使用与我们大多数人已知的方法不同的方法的云数据库服务?一个答案是,提供这组略有不同的服务会带来一些优势。与仅在云中运行关系 DBMS 相比,SQL 数据服务可以提供更好的可扩展性、可用性和可靠性。

它组织和检索数据的方式使复制和负载平衡比传统的关系方法更容易、更快捷。另一个优点是 SQL 数据服务不需要客户管理自己的 DBMS。SQL 数据服务客户不必担心机制问题,例如监视磁盘使用情况、维护日志文件以及确定需要多少个实例,而是可以专注于重要的事情:数据。最后,微软宣布计划为 SQL 数据服务添加更多关系功能。预计其功能将不断增长。

相关内容