首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure SQL数据库是分布式SQL数据库吗?

Azure SQL数据库是分布式SQL数据库吗?
EN

Stack Overflow用户
提问于 2022-07-14 12:07:19
回答 1查看 133关注 0票数 1

我试图理解新的CockroackDB与其他分布式SQL数据库之间的区别,而不是像这样的云管理数据库。

它们之间的用例似乎没有什么区别:

  1. 与各种NOSQL数据库一样,SQL (通常)允许分区键。
  2. 我可以添加核心在Azure,以增加性能的需要,我也可以切换到超规模,如果我有弹性的工作量。
  3. 我可以在多个可用区域(地理位置)上跨多个节点读取复制。
  4. 我也可以在Azure SQL数据库中配置数据复制。

在我看来,云SQL数据库涵盖了较新的分布式数据库所涵盖的所有用例,那么我为什么要使用新的产品呢?

不是Azure基本上是一个分布式数据库服务器吗?

我漏掉了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-14 12:28:28

Azure SQL Server是分布式SQL数据库吗?

不是的。

与各种NOSQL数据库一样,SQL (通常)允许分区键。

  • 在NoSQL数据库(如Cassandra (和Azure存储)中)的分区是将分区分配给物理上不同的节点,并要求行具有显式设置分区键值。
代码语言:javascript
复制
- Cassandra nodes are physically different machines that can run independently, which gives it excellent resiliency.
  • SQL Server、Azure SQL和Azure SQL托管实例中的分区是为了性能而不是弹性,将数据划分为存在于同一服务器中的行组。
代码语言:javascript
复制
- On on-prem MS SQL Server, these row-groups (well, _partitions_) can exist in different `FILEGROUP`s, which means they can exist in different storage volumes to avoid IO bottlenecks, but Azure SQL does not support multiple `FILEGROUP`s. 
    - [The benefits of implementing partitioning, including on Azure SQL, are documented online](https://learn.microsoft.com/en-us/sql/relational-databases/partitions/partitioned-tables-and-indexes) - and the article explains how it's about performance, not resilience.

我可以添加核心在Azure,以增加性能的需要,我也可以切换到超规模,如果我有弹性的工作量。

这个事实与分布式数据库完全无关。

我可以在多个可用区域(地理位置)上读取多个节点的复制。 我也可以在Azure SQL数据库中配置数据复制。

  • 复制不同于真正的分布式数据库:
    • 在Cassandra和其他分布式数据库中,所有客户端都可以连接到所有节点并完成相同的任务;您可以在系统运行时任意添加和删除节点。
    • 在server和Azure SQL的复制特性中,副本严格来说是从属于主服务器的“辅助”。
      • 客户端可以连接到辅助服务器或主服务器,但辅助服务器只能执行只读查询,而如果客户端希望执行DML (INSERT/UPDATE/DELETE/MERGE)或DDL (CREATE/ALTER),则客户端必须连接到主服务器。

在我看来,云SQL数据库涵盖了较新的分布式数据库所涵盖的所有用例,那么我为什么要使用新的产品呢?

它不能:因为Azure不是一个分布式数据库,它不能允许任何客户机读取和写入任何节点或端点,并将更改复制到所有其他节点(使用最终的一致性模型)。相反,Azure SQL需要由单个主“服务器”执行写操作。

请注意,Azure SQL "server“或很大程度上是一种抽象,它隐藏了Azure SQL的本质:在一个单独的Azure数据中心中运行在高可用性Azure Service Fabric环境中的Server引擎的独特构建(这是在运行时可以添加和删除内核/RAM,并提供某种本地抗硬件故障的能力)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72980235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档