在构建任何软件应用程序时,选择正确的数据库至关重要。所有数据库在性能方面都有不同的优势和劣势,因此,针对您的特定用例和数据模型,决定哪个数据库具有最大的优势和最小的缺点是一个重要的决定。下面您将找到 Azure 数据资源管理器和 SQL Server 的关键概念、架构、功能、用例和定价模型的概述,以便您可以快速了解它们之间的比较。

本文的主要目的是比较 Azure 数据资源管理器和 SQL Server 在涉及时间序列数据的工作负载中的表现,而不是针对所有可能的用例。时间序列数据通常在数据库性能方面提出了独特的挑战。这是由于大量数据被写入以及访问这些数据的查询模式。本文并非旨在说明哪个数据库更好;它只是提供了每个数据库的概述,以便您可以做出明智的决定。

Azure 数据资源管理器 vs SQL Server 细分


 
数据库模型

列式数据库

关系数据库

架构

ADX 可以作为托管服务部署在 Azure 云中,并且易于与其他 Azure 服务和工具集成,以实现无缝数据处理和分析。

SQL Server 可以部署在本地、虚拟机中,或者作为 Microsoft Azure 上的托管云服务 (Azure SQL 数据库)。它有多个版本可供选择,以适应不同的用例,例如 Express、Standard 和 Enterprise。

许可

闭源

闭源

用例

日志和遥测数据分析、实时分析、安全和合规性分析、物联网数据处理

事务处理、商业智能、数据仓库、分析、Web 应用程序、企业应用程序

可扩展性

高度可扩展,支持水平扩展、分片和分区

支持垂直和水平扩展,具有分区、分片和复制等功能,适用于分布式环境

正在寻找最有效率的入门方式?

无论您是在寻求成本节约、降低管理开销还是开源,InfluxDB 都能帮到您。

Azure 数据资源管理器概述

Azure 数据资源管理器是一个基于云的、完全托管的大数据分析平台,作为 Microsoft Azure 平台的一部分提供。它由 Microsoft 于 2018 年宣布,并作为 PaaS 产品提供。Azure 数据资源管理器为摄取和查询遥测数据、日志和时间序列数据提供了高性能功能。

SQL Server 概述

Microsoft SQL Server 是一个由 Microsoft 开发的强大且广泛使用的关系数据库管理系统。最初于 1989 年发布,多年来不断发展,已成为各种规模企业最受欢迎的数据库系统之一。SQL Server 以其强大的性能、安全性和易用性而闻名。它支持多种平台,包括 Windows、Linux 和容器,为不同的部署场景提供了灵活性。


Azure 数据资源管理器用于时间序列数据

Azure 数据资源管理器非常适合处理时间序列数据。其高性能功能和摄取大量数据的能力使其适用于近乎实时地分析和查询时间序列数据。凭借其高级查询运算符,例如计算列、行搜索和过滤、分组聚合和连接,Azure 数据资源管理器能够高效分析时间序列数据。其可扩展的架构和分布式特性确保它可以有效地处理时间序列数据的速度和容量要求。

SQL Server 用于时间序列数据

虽然 Microsoft SQL Server 主要是一个关系数据库,但它确实通过各种特性和优化提供了对时间序列数据的支持。时态表允许跟踪数据随时间的变化,从而提供了一种存储和查询历史数据的有效方法。可以利用索引和分区来优化时间序列数据的存储和检索。然而,对于需要高写入或查询吞吐量的应用程序(特别是对于时间序列数据),SQL Server 可能不是最佳选择,因为专门的时间序列数据库提供了更优化的解决方案以及各种开发者生产力功能,这些功能可以加快大量使用时间序列数据的应用程序的开发时间。


Azure 数据资源管理器关键概念

  • 关系数据模型:Azure 数据资源管理器是一个基于关系数据库管理系统的分布式数据库。它支持数据库、表、函数和列等实体。与传统的 RDBMS 不同,Azure 数据资源管理器不强制执行键唯一性、主键或外键等约束。相反,必要的关联关系在查询时建立。
  • Kusto 查询语言 (KQL):Azure 数据资源管理器使用 KQL,一种强大且富有表现力的查询语言,使用户能够轻松地浏览和分析他们的数据。
  • 区段 (Extents):在 Azure 数据资源管理器中,数据被组织成称为区段的单元,这些单元是不可变的、压缩的记录集,可以有效地存储和查询。

SQL Server 关键概念

  • T-SQL:Transact-SQL,SQL 的扩展,它将过程式编程元素(如循环、条件语句和错误处理)添加到标准 SQL 语言中。
  • SSMS:SQL Server Management Studio,一个用于管理 SQL Server 实例、数据库和对象的集成环境。
  • Always On:SQL Server 中一套高可用性和灾难恢复功能,包括 Always On 可用性组和 Always On 故障转移群集实例。


Azure 数据资源管理器架构

Azure 数据资源管理器构建于云原生分布式架构之上,该架构同时支持 NoSQL 和类似 SQL 的查询功能。它是一个基于列式存储的数据库,利用压缩的、不可变的数据区段来实现高效的存储和检索。Azure 数据资源管理器架构的核心组件包括控制平面、数据管理和查询处理。控制平面负责管理资源和元数据,而数据管理组件处理数据摄取和组织。查询处理负责执行查询并将结果返回给用户。

SQL Server 架构

Microsoft SQL Server 是一个关系数据库,它使用 SQL 进行查询和操作数据。它遵循客户端-服务器架构,数据库服务器托管数据并处理来自客户端的请求。SQL Server 通过 Azure SQL 数据库(Microsoft Azure 云中的托管服务产品)支持本地和基于云的部署。SQL Server 的架构包括数据库引擎等组件,数据库引擎处理数据存储和检索,以及用于报告、集成和分析的各种服务。

免费时间序列数据库指南

获取关于替代方案和选择数据库的关键要求的全面评述。

Azure 数据资源管理器功能

高性能数据摄取

Azure 数据资源管理器每个节点每秒可以摄取 200 MB 的数据,提供快速高效的数据摄取能力。

数据可视化

Azure 数据资源管理器与流行的数据可视化工具(如 Power BI、Grafana 和 Jupyter Notebooks)无缝集成,使用户可以轻松地可视化和分析他们的数据。

高级分析

Kusto 查询语言 (KQL) 支持高级分析功能,例如时间序列分析、模式识别和异常检测,使用户能够从他们的数据中获得更深入的见解。

灵活的架构

与传统关系数据库不同,Azure 数据资源管理器不强制执行键唯一性、主键或外键等约束。这种灵活性允许动态架构更改以及处理半结构化和非结构化数据的能力。

SQL Server 功能

安全性

SQL Server 提供了高级安全功能,例如透明数据加密、Always Encrypted 和行级安全性,以保护敏感数据。

可扩展性

SQL Server 通过复制、分布式分区视图和 Always On 可用性组等功能支持横向扩展。

Integration Services

SQL Server Integration Services (SSIS) 是一个用于构建高性能数据集成和转换解决方案的强大平台。


Azure 数据资源管理器用例

日志分析

Azure 数据资源管理器通常用于日志分析,它可以摄取、存储和分析应用程序、服务器和基础设施生成的大量日志数据。组织可以使用 Azure 数据资源管理器来监控应用程序性能、排除问题、检测异常并深入了解用户行为。近乎实时地分析日志数据的能力可以实现主动的问题解决和提高运营效率。

遥测分析

Azure 数据资源管理器非常适合遥测分析,它可以处理和分析物联网设备、传感器和应用程序生成的数据。组织可以使用 Azure 数据资源管理器来监控设备健康状况、优化资源利用率并检测遥测数据中的异常。该平台的可扩展性和高性能功能使其成为处理物联网设备生成的大量数据的理想选择。

时间序列分析

Azure 数据资源管理器用于时间序列分析,它可以摄取和分析随时间收集的时间戳数据点。此用例适用于各个行业,包括金融、医疗保健、制造业和能源。组织可以使用 Azure 数据资源管理器来分析趋势、检测模式并根据历史时间序列数据预测未来事件。该平台的高级查询运算符和实时分析功能使组织能够从时间序列数据中获得有价值的见解。

SQL Server 用例

企业应用程序

SQL Server 通常用作企业应用程序的后端数据库,提供可靠且安全的数据存储解决方案。

数据仓库和商业智能

SQL Server 的内置分析功能,例如 Analysis Services 和 Reporting Services,使其适用于数据仓库和商业智能应用程序。

电子商务平台

SQL Server 的性能和可扩展性功能使其能够支持电子商务平台的高要求工作负载,处理大量的事务和用户数据。


Azure 数据资源管理器定价模型

Azure 数据资源管理器的定价模型基于按需付费的方式,客户根据他们对服务的使用情况付费。定价取决于多种因素,例如摄取的数据量、存储的数据量以及执行的查询数量。此外,客户可以在提供不同性能和功能级别的不同定价层之间进行选择。Azure 数据资源管理器还提供预留容量的选项,允许客户以折扣价预留固定期限的资源。

SQL Server 定价模型

Microsoft SQL Server 提供多种许可选项,包括按核心、服务器 + CAL(客户端访问许可证)以及基于订阅的云部署模型。成本取决于多种因素,例如版本(Standard、Enterprise 或 Developer)、核心数量和所需功能。对于基于云的部署,Azure SQL 数据库提供按需付费模型,并提供各种服务层级以适应不同的性能和资源需求。