什么是 SQL 数据库?

SQL 数据库是以表格形式组织的数据集合,其中包含行和列。数据的存储方式与电子表格类似,其中列表示数据属性,行则描述数据所对应的实体或对象。大多数 SQL 数据库使用结构化查询语言 (SQL) 进行用户数据交互——因此得其名。它们是关系数据库,因为您可以存储表之间的数据关系。

例如,产品表包含产品名称、类型、成本等列,而每一行则包含对应单个产品的值。客户表中有包含客户姓名和联系方式的列。您可以创建第三张表,将客户数据与他们购买的产品联系起来。

SQL 数据库具有哪些优势?

SQL 数据库被广泛应用于各个行业,因为它们在逻辑上很直观,易于实施和使用。

高效的数据管理

SQL 数据库提供定义明确的模式和关系表,方便您以可预测的方式组织数据。约束条件对输入的数据强制执行规则,从而实现准确的数据检索。一组四种特性,即原子性、一致性、隔离性和耐久性 (ACID),确保了数据的完整性。

  • 原子性保证操作序列(事务)的所有部分要么全部完成,要么完全不执行。
  • 一致性可确保事务将数据库从一种有效状态带到另一种有效状态。
  • 隔离性可防止事务相互干扰。
  • 耐久性可确保事务一旦提交,它将永久保存,即使在系统故障的情况下也不受影响。

您可以确保所有序列的数据库操作成功完成,或在发生错误时回滚。

高性能

SQL 数据库可以处理大量数据,并可以扩展以满足业务需求。它们提供各种索引和优化技术,即使数据大小增加,也能确保快速的查询性能。复制、集群和失效转移机制等功能可确保高可用性。这些功能有助于维持数据库的正常运行时间,防止意外中断期间的数据丢失。

易于使用

SQL 是一种用于各种数据库系统的标准化语言,几乎没有变化。它支持在不同的基于 SQL 的系统之间进行轻松迁移。SQL 数据库还与各种数据工具兼容,包括商业智能 (BI) 平台、分析软件和报告工具。您可以从广泛而活跃的社区中获取大量资源、工具和支持。

NoSQL 数据库如何运作?

SQL 数据库或关系数据库与底层存储引擎配合使用。存储引擎负责磁盘上的物理数据存储。不同的 SQL 数据库使用不同的存储引擎。例如,MySQL 使用 InnoDB 和 MyISAM。存储引擎抽象了您的逻辑数据模型,使您可以专注于处理数据,而不必担心其物理存储。存储引擎的选择会影响性能、事务处理和其他数据库功能。

Schema

模式定义了数据库的结构,包括表、它们的关系和约束条件。它充当了存储和组织数据方式的蓝图。SQL 数据库中的表由行(记录)和列(字段)组成。每列都有特定的数据类型(例如整数、文本、日期),并存储特定的信息。每行代表一条记录。

SQL 语言

SQL 是一种结构化查询语言,用于与所有关系数据库管理系统进行交互。选择、插入、更新和删除等命令管理表中的数据。创建、更改和删除等命令定义或修改数据库结构。

其他机制

存储引擎使用不同的机制来优化数据库性能。例如,索引是存储引擎用来加快数据检索速度的特殊查找表。索引是在一列或一组列上创建的,有助于快速定位数据,而无需搜索表中的每一行。

SQL 数据库技术有哪些示例?

许多不同的关系数据库系统都实现了 SQL 数据库。下面列出了一些例子,但这并不是一个全面的列表。

MySQL

MySQL 通常用于 Web 应用程序,尤其是作为 Linux、Apache、MySQL 和 PHP LAMP 堆栈的一部分。它提供复制、分区和各种存储引擎来优化工作负载。

PostgreSQL

PostgreSQL 是一个开源对象关系数据库系统,它扩展了 SQL 语言,并增加了其他功能,包括对 JSON、XML 和自定义数据类型的支持。它通常用于需要大规模数据管理的应用程序。PostgreSQL 支持高级功能,例如全文搜索、索引和事务完整性。

MariaDB

MariaDB 是 MySQL 的一个分支,由 Oracle 收购后由最初的开发人员创建。它引入了多项改进,包括新的存储引擎和 JSON 支持、动态列和线程池等附加功能。由于其稳定性和可扩展性,它被用于各种企业级应用程序。

Microsoft SQL Server

Microsoft SQL Server 是 Microsoft 开发的一种关系数据库管理系统。它通过 Always On 可用性组提供存内处理、高级分析和高可用性。

Oracle 数据库

Oracle 数据库是由 Oracle Corporation 开发的多模型数据库管理系统。它以其可扩展性、性能和安全性功能而闻名。Oracle 支持许多数据模型,包括关系、文档、图表和键值存储。它提供真实应用程序集群 (RAC)、自动存储管理 (ASM) 和数据安全选项等功能。

IBM Db2

IBM Db2 以其高性能、高级分析功能和对大型企业应用程序的支持而闻名。它提供存内处理、人工智能集成和高级安全性选项。

NoSQL 和 SQL 数据库有什么区别?

NoSQL 数据库是无模式的,不遵循 SQL 数据库实施的严格表结构。通常会以键值对的形式将数据存储在文档中。NoSQL 数据库更适合于社交媒体帖子、电子邮件等非结构化数据,这些数据以表格形式存储效率低下。SQL 数据库是关系数据库,但 NoSQL 数据库则是非关系数据库管理系统。

可扩展性

NoSQL 数据库专为分布式计算而设计。您可以通过添加更多服务器或节点来横向扩展,将负载分配到多台计算机上。现代的 SQL 数据库也能实现相同的功能,但往往需要在性能上作出权衡。

灵活性

SQL 数据库需要预定义的架构,这意味着必须事先知道数据结构,而且架构的更改可能很复杂。相比之下,NoSQL 数据支持动态且不断演变的数据结构,非常适合数据需求变化频繁或难以预测的应用程序。它们还使用更灵活的查询语言,这些语言针对各自的特定数据模型进行了定制设计。但是,大多数都在一定程度上与 SQL 兼容。

一致性

SQL 数据库优先考虑数据一致性和可靠性。NoSQL 数据库根据具体用例,会在一致性上有所取舍,以换取更高的可用性和分区容错性。

使用案例

SQL 数据库适用于需要复杂 SQL 查询、事务和结构化数据的应用程序,例如财务系统和企业资源规划 (ERP)。相比之下,NoSQL 数据库在涉及大量非结构化或半结构化数据、高可扩展性需求和快速开发的场景中表现出色。

AWS 如何满足您的 NoSQL 数据库需求?

Amazon Relational Database Service (Amazon RDS) 是一个托管式服务的集合,可以简化在云中设置、操作和扩展 SQL 数据库的过程。您可以使用自己选择的 SQL 数据库引擎运行 RDS。

  • Amazon Aurora 兼具高端关系数据库的速度和可用性,以及开源数据库的简单性和成本效益。
  • 借助 Amazon RDS for Oracle,您可以在几分钟内部署 Oracle Database 的多个版本,不仅经济高效,而且可以调整硬件容量大小。
  • Amazon RDS for SQL Server 让用户能够在云中轻松设置、操作和扩展 SQL Server。
  • Amazon RDS for MySQL 让您能够访问非常熟悉的 MySQL 数据库的完整功能。
  • Amazon RDS for PostgreSQL 可管理无差别、耗时的数据库管理任务,让您可以在几分钟之内完成部署并开始使用。
  • Amazon RDS for MariaDB 让您可在云端设置、操作和扩展 MariaDB 部署。
  • Amazon RDS for Db2 让您只需几次点击,即可在云中设置、运行和扩展 Db2 数据库。

立即创建免费帐户,开始使用 AWS 上的 SQL 数据库!

AWS 上的后续步骤

查看其他与产品相关的资源
了解更多有关数据库服务的信息 
注册免费账户

立即享受 AWS 免费套餐。

注册 
开始在控制台中构建

在 AWS 管理控制台中开始构建。

登录