【问题标题】:Large scale business application - Azure cloud database & storage issues大规模业务应用程序 - Azure 云数据库和存储问题
【发布时间】:2014-10-28 05:49:50
【问题描述】:

我们正在创建大规模、面向数据库的业务应用程序。此业务应用程序是多租户的,我们希望在 Azure 云中将其作为 SOA(软件即服务)提供。 Azure SQL 数据库只有 150 GB 的限制,这对我们来说还不够。我们的客户拥有大量可能每年都在增加的数据。我们的应用程序数据库是关系型和复杂的,并使用复杂的查询(组、联接、聚合函数)、存储过程来获取/保存数据。因此我们不愿意直接使用 Big Table。 有人建议将数据库分成分区和文件组,但我们不会这样做。还有另一种可能性,即只将当年的数据保存到应用程序中,并保留到其他分区/备份数据库中,但这不适合我们的应用程序,因为过去的数据经常被访问。如果我们使用 Azure Table,我们的复杂操作将在内存中完成,由于内存资源有限,这是不可能的。 然而,我们正在考虑混合使用 Azure SQL 数据库和 Azure 表。但是我们找不到任何合适的例子来混合使用两者。

我们也在寻找以下问题的答案?

  1. Azure 适合保存超大规模的关系数据 (TB),还是我们应该拥有自己的数据库服务器来支持这一点?
  2. 我们是否应该只使用 Azure Table 而不是 Azure SQL?
  3. 我们应该混合使用 Azure SQL 和 Azure 表存储吗?是否有任何示例架构/示例可以指导我们?

【问题讨论】:

  • "有人建议将数据库分成分区和文件组,但我们不会这样做。"为什么?听起来是最好的解决方案。

标签: azure azure-sql-database azure-table-storage azure-storage


【解决方案1】:

新的标准和高级 Azure SQL 数据库 SKU 现在支持 250GB 和 500GB respectively。无论如何,Azure SQL 数据库在很大程度上是用于大量数据的横向扩展模型。 Azure SQL 数据库的弹性缩放功能的预览版刚刚发布为 announced

有充分的理由将数据存储在最合适的位置 - Azure Tables 提供比 Azure SQL 数据库更具成本效益的大规模存储。绝对有理由将每种数据用于最合适的数据 - Azure 表中的大规模半结构化数据和 Azure SQL 数据库中的关系数据。

1) 如果您正在创建一个新应用程序,您应该考虑将 Azure SQL 数据库用于您的关系数据,并且只有在这不起作用时才迁移到 Azure 虚拟机中的 SQL Server。虽然 VM 中的 SQL Server 看起来很简单,但一旦您开始添加传统的 DBA 活动(例如进行部署 HA),事情就会变得棘手。如果您有大规模的关系需求,您应该考虑分片。

2) 你的选择不应该是一个或另一个,而是在适当的时候同时使用它们。

3) Microsoft Patterns & Practices 有许多 eBooks,您应该查看以帮助您构建架构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多