规划 Azure SQL 数据库
Azure 提供平台及服务 (PaaS) 服务来帮助管理各种数据(从高度结构化的关系数据到非结构化数据尽揽其中)。
在这里,你将了解 Azure SQL 数据库为什么是一种经济高效且方便安全的关系数据库托管方式。
为何选择 Azure SQL 数据库?
运输物流应用程序需要可运行基本 CRUD(“创建”、“读取”、“更新”和“删除”)操作的存储过程。 你具有使用 SQL Server 和其他关系数据库的经验。
可考虑两种方式来处理数据库:
- 在本地托管 SQL Server:你的 IT 团队运行了一个小型的内部数据中心,为财务部门和其他几个团队提供支持。 你可以与 IT 团队合作,在其数据中心托管 SQL Server 部署。
- 在云中托管 Azure SQL 数据库:Azure SQL 数据库基于 SQL Server,并提供你需要的关系数据库功能。
你决定在 Azure 上为物流应用构建 Web 和应用程序层。 因此,最好也在此处托管数据库。 但是,还有其他一些理由说明了 Azure SQL 数据库为何是一个明智的选择,以及它为何比使用虚拟机更加便捷。
便利性
要在虚拟机 (VM) 或物理硬件上设置 SQL Server,需要了解硬件和软件的要求。 需要了解最新的安全最佳做法,并定期管理操作系统和 SQL Server 修补程序。 还需要亲自管理备份和数据保留问题。
通过 Azure SQL 数据库,我们来为你管理硬件、软件更新和 OS 修补程序。 只需指定数据库的名称和几个选项,就可以在几分钟内拥有正在运行的 SQL 数据库。
你还能在方便时启动和关闭 Azure SQL 数据库实例。 Azure SQL 数据库快速启动且易于配置。 你可以在配置软件方面省心,更多地专注于改进应用。
节约成本
我们来为你管理,因此你无需购买、维护系统或为其提供电力。
Azure SQL 数据库有多个定价选项。 利用这些定价选项,你能够在可预测的成本下平衡性能与成本。 一开始每月只用花几美元。
可伸缩
你会发现每年必须存储的运输物流数据量都在翻倍增加。 在本地运行时,要额外计划多少容量?
利用 Azure SQL 数据库,你可在需求发生变化时即时调整数据库的性能和大小。
安全性
Azure SQL 数据库附带一个防火墙,它默认配置为阻止来自公共 Internet 的连接。 对你数据的访问由你控制。
可允许访问你信任的特定 IP 地址。 这样,可使用 Visual Studio、SQL Server Management Studio 或其他工具来管理 Azure SQL 数据库。
规划概念
虽然不是数据库管理员也可以使用 Azure SQL 数据库,但在开始之前应了解几个概念。
你的运输公司希望在其他公司中脱颖而出,又不能耗费巨资。 要在提供最佳服务的同时控制成本,必须掌握如何设置数据库。
你将在此处了解创建 Azure SQL 数据库时要考虑的事项,包括:
- 逻辑服务器如何充当数据库的管理容器。
- 如何评估购买模型之间的差异。
- 弹性池如何使你能够在数据库之间共享处理能力。
- 排序规则如何影响数据的比较和排序方式。
- 如何从 Azure 门户调用 Azure SQL 数据库。
- 如何添加防火墙规则,确保只能从受信任的源访问数据库。
一台服务器,多个数据库
创建第一个 Azure SQL 数据库时,还可以创建 Azure SQL 逻辑服务器。 可将逻辑服务器视为数据库的管理容器。 可以通过逻辑服务器控制登录、防火墙规则和安全策略。 此外还可以在逻辑服务器中的每个数据库上替代这些策略。
目前,你只需要一个数据库,但是,逻辑服务器使你可以在以后添加更多数据库并在所有数据库中优化性能。
选择性能:DTU 与 vCore
Azure SQL 数据库提供两种购买模型:DTU(数据库事务单位)和 vCore(虚拟核心)。
什么是 DTU?
DTU 是计算、存储和 I/O 资源的组合度量。 可将 DTU 模型视为简单的预配置购买选项。
什么是 vCore
vCore 可让你更好地控制创建和支付的计算和存储资源。
DTU 模型提供了计算、存储和 I/O 资源的固定组合,但 vCore 模型与之不同,使用该模型可以独立配置这些资源。 例如,使用 vCore 模型可以增加存储容量但保留现有计算量和 I/O 吞吐量。
运输和物流原型只需要一个数据库。 你决定使用 DTU 选项,因为它提供了计算、存储和 I/O 性能的最佳平衡。 在构建原型时,使用小型 DTU 数据库的成本更低。
什么是 SQL 弹性池?
创建 Azure SQL 数据库时,可以创建“SQL 弹性池”。
通过弹性池,可以为要共享的多个数据库选择一个价格,即一个资源池。 弹性池是一种资源利用池,如果某些数据库在不同时间段有活动高峰,则弹性池是理想选择。 想象一下,如果你的业务跨多个时区,则每个数据库在当地时间 8 点最繁忙。 每个数据库都可在你设置的池资源限制内使用它们需要的资源。
SQL 弹性池使用弹性 DTU (eDTU),也可使用 vCore 进行预配。
对于原型,无需使用 SQL 弹性池,因为仅需要一个 SQL 数据库。
排序规则是什么?
排序规则是指对数据进行排序和比较的规则。 排序规则有助于在区分大小写、重音标记和其他语言特征非常重要的情况下定义排序规则。 使用排序规则可以按顺序排列数据。
让我们来了解一下默认排序规则 SQL_Latin1_General_CP1_CI_AS 的含义:
- Latin1_General 是指西欧语言系列。
- CP1 是指代码页 1252,是拉丁字母表的常用字符编码。
- CI 表示比较不区分大小写。 例如,“HELLO”与“hello”相等。
- AS 表示比较区分重音。 例如,“résumé”与“resume”不相等。
由于你对数据的排序和比较方式没有特定要求,因此可以选择默认排序规则。