了解分布式关系数据库

Azure Cosmos DB 是一个多区域分布式数据库平台,适用于任何规模的 NoSQL 数据库和关系数据库。 本文在 Azure Cosmos DB 的关系 API 选项上下文中探讨分布式关系数据库。

有关 Azure 中其他数据存储选项的详细信息,请参阅在 Azure 体系结构中心选择正确的数据存储

挑战

在很多时候,当你阅读有关大数据量或高事务量工作负载的信息时,你经常认为这些工作负载比应用程序可能面临的任何工作负载都要大得多。 在项目成形、构思或筹备的初始阶段,假设工作负载的规模较小可能是保险的做法。 但是,这种假设很快就会导致应用程序工作负载的增长幅度远超所做的任何预测。 在项目起步阶段,工作负载只能满足经济型高性能单实例数据库的最大吞吐量或处理能力的情况并不少见。

关系数据库

关系数据库将数据组织成表格(行/列)格式,其中包含数据库中不同表之间的关系。 关系数据库在各种企业中都很常用。 在这些企业中,往往有大量软件开发人员针对关系数据库编写代码,或者有大量管理员设计架构和管理关系数据库平台。 关系数据库通常还支持附带 ACID 保证的事务。

遗憾的是,许多关系数据库系统最初是由组织以单节点方式配置的,其计算、内存和网络资源存在上限。 这种情况可能会导致错误地假设所有关系数据库在本质上都是单节点的。

分布式数据库

在许多云原生白皮书中我们经常会看到,由于 NoSQL 数据库有诸多优势,使得关系数据库似乎不是大规模数据库或分布式工作负载的合理选择。 虽然许多分布式数据库是非关系型的,但它们同样是分布式关系数据库工作负载的选项。

其中许多适用于分布式关系数据库的选项需要组织从项目初始阶段就开始为大规模和分布式工作负载做好规划。 这项规划要求可能会在项目初始阶段显著增大复杂性,以确保团队配置、管理和维护所有相关服务器节点。 多区域分布式关系数据库的规划、实现和网络要求很容易增加,以致比建立单个实例(或节点)要复杂得多。

后续步骤

想要开始使用 Azure Cosmos DB?