SQL 数据库也称为关系型数据库,它将数据存储在由行和列组成的高度结构化的表中。这些数据库提供结构化查询语言 (SQL) 来读取和写入数据,属于关系型数据库管理系统 (RDBMS)。
SQL 语句用于创建和更新表的结构、读取和写入数据、管理用户权限以及执行管理任务。例如,CREATE 语句用于创建表,INSERT 语句用于向表中添加新行,SELECT 语句用于执行数据库查询。用于进行结构或管理更改的语句通常留给软件开发者和管理者使用,而读写操作则由最终用户应用执行。
关系型数据库具有关联多个表中信息的能力。这种格式可让您轻松快速地深入了解这些表中各个列或数据点之间的关系。关系型数据库可以为特定列创建索引,以便加快查询速度。
例如,医疗保健机构可能会维护包含患者信息的表,其中每行代表一位患者,各个列则包含数据点,如患者姓名、保险信息和详细联系信息。可能还会有一个表用于存储就诊信息。关系型数据库中的每一行都有一个唯一 ID,以维护两个表中关联的患者信息。这样,您就可以快速查询每位患者的就诊信息。
注册即可免费试用 Google Cloud 的任何 SQL 数据库,包括 AlloyDB、Cloud SQL 和 Spanner。
SQL(结构化查询语言)是一种用于存储、检索和管理关系型数据库中数据的编程语言。SQL 语句与英文类似,因此软件开发者、数据分析师和其他从业者很容易理解该语言。
企业选择 SQL 数据库的原因包括:
目前有很多 SQL 数据库引擎(产品)可用于构建软件应用。最常见的包括 PostgreSQL、MySQL、SQL Server 和 Oracle。有些数据库引擎是开源的,还有一些数据库引擎是商业产品。
PostgreSQL 是一个开源的对象关系型数据库 (ORDBMS),专为实现企业级性能而设计,以可靠性和强大的功能而著称。它具有悠久的开发历史,对 SQL 的使用使其成为全球最受欢迎的开源数据库之一。
它的默认过程语言是 pgSQL (PL/pgSQL) 的扩展,且标准发布中包含 Tcl、Perl 和 Python 的过程语言扩展(写为 PL/Tcl、PL/Perl 和 PL/Python)。通过扩展可支持更多语言,包括 Java、Ruby、C、C++、Delphi 和 JavaScript。
如需进行更深入的比较,请参阅我们的 PostgreSQL 与 SQL 指南。
MySQL 是一个广受欢迎的开源关系型数据库,创建于 1995 年,目前是 Oracle 旗下的产品。它支持 SQL 查询,并且可通过图形界面 (GUI) 或命令行进行管理。
MySQL 可以在物理机器上手动部署,也可以通过云服务提供商部署。越来越多的企业选择全托管式服务,以减轻数据库的维护负担。
SQL Server 是 Microsoft 推出的数据库,它运行 SQL 查询。深入了解 PostgreSQL 和 SQL Server 的区别。
很多常用的非关系型数据库引擎使用非表格格式来存储数据。其中一些支持类似 SQL 的查询,这催生出了“NoSQL”一词,即“Not only SQL”(不仅仅是 SQL)。
为什么组织在一些应用中使用非关系型 NoSQL 数据库,而在其他应用中则坚持使用关系型 SQL 数据库呢?选择合适的数据库通常取决于您的使用场景。下面介绍了 SQL 与 NoSQL 的使用场景。
SQL 数据库在管理结构化、关系型数据和复杂查询方面表现出色。SQL 数据库符合 ACID 特性,因此适合数据高度结构化的事务型信息。例如,销售订单很适合使用 SQL 数据库,因为所有订单都包含相同的列,并且完整性至关重要。
相比之下,NoSQL 数据库使用非表格格式来存储数据。数据可以采用文档、键值对、图表格式,以及不适合关系型模型的任何其他格式。例如,网站就非常适合使用文档数据库,因为不同的网页可能具有不同的结构。
SQL 应用场景的示例包括:
与 SQL 数据库不同,NoSQL 数据库不需要管理复杂的数据关系和广泛的索引,因此通常具有很好的可伸缩性并可提供一致的性能。NoSQL 数据库通常采用横向扩容架构实现,在这种架构中,数据库可以在需要额外容量时自动添加节点。
NoSQL 数据库的这些特性使其非常适合需要大规模和频繁数据更改的应用。由于数据库没有复杂的数据关系要维护,因此添加节点对查询性能的影响微乎其微。
NoSQL 的常见用途包括:
详细了解 NoSQL 数据库。