本篇文章是Cloud Computing 基础系列的一部分。参加我们的 Cloud Computing 入门认证课程,进一步提高您的技能 。
您可能还记得我们关于云资源类型的文章中的数据库。
让我们回顾一下,以防万一。
数据库是结构化信息的集合,可存储在服务器上,需要时可轻松访问,类似于图书馆。云数据库由第三方云提供商托管,具有可扩展性和灾难恢复功能,通常由数据库管理系统(DBMS)控制。任何需要检索数据的人都会使用数据库,尤其是处理大量数据的人。
需要注意的是,收集数据和为数据提供接口是两码事。例如,遛狗应用程序可能会收集和存储数据,但数据库管理系统的功能是作为系统与数据库和任何其他需要数据的服务进行通信,充当接口。
数据库管理系统有多种类型,但常见的有两种:关系型(SQL)和非关系型(NoSQL)。
关系数据库是结构化的,其中的数据以表格的形式组织。数据彼此相关。NoSQL(非关系型数据库)是面向文档的,数据之间不一定有关联。
让我们来看看这两类数据库。
SQL 数据库
结构化查询语言(SQL)是一种编程语言,用于操作关系数据库管理系统(RDBMS)中的数据。RDBMS 是我们用来管理、存储、查询和检索数据库数据的软件。
关系数据库是指在多个表(存储数据的表)的不同数据之间可以创建各种关系。
![](https://www.linode.com/wp-content/uploads/2023/10/SQL_Table_Example-1064x386.png)
请看上表。假设一个社交媒体网络应用程序的数据库中有一个表,其中存储了用户的 ID、姓名和出生日期。由于每个用户 ID 都是唯一的,因此可以用它将一个表中的用户数据与另一个表中的用户消息历史记录连接起来。这种关系被称为一对多关系,因为一个用户可以有多条与其个人资料 ID 相关联的信息。但是,信息不能从一个以上的个人资料 ID 发送。
SQL 有助于管理和操作关系数据库中的数据。它允许我们创建、修改和检索数据库中表格的数据,以及管理不同表格之间的关系。
您可能听说过 PostgreSQL 和 MySQL。这是两种流行的 RDBMS,都使用 SQL。让我们快速了解一下它们的功能和区别。
PostgreSQL(通常只称为 Postgres)以其可扩展性和准确性著称,因为它可以处理复杂的查询和大型数据集。PostgreSQL 还以支持高级索引和全文搜索等高级功能而著称,这使它成为需要高级数据分析的应用程序的热门选择。
另一方面,MySQL 以其速度、灵活性、可扩展性和易用性而著称。它通常用于需要快速读/写访问数据的网络应用程序,如内容管理系统或电子商务平台。
这两个系统的一个关键区别在于它们对数据完整性的处理方法不同。PostgreSQL 以严格执行数据完整性而著称。它更强调确保数据的一致性和准确性。而 MySQL 则以更宽松、数据处理更灵活而著称。这也说明了 MySQL 以速度著称。正如大多数工具一样,每个系统都有其优势和局限性。
让我们深入了解一下 NoSQL 数据库。
NoSQL 数据库
NoSQL 数据库使用非关系数据模型来存储和检索数据。与使用具有固定列和行的表格的关系型数据库不同,NoSQL 数据库可以各种格式存储数据,包括键值、文档、列族和图形格式。
NoSQL 数据库的主要优点之一是比 SQL 数据库更灵活。添加或修改数据非常容易,无需对数据库结构进行重大更改。这使得 NoSQL 数据库成为存储大型非结构化数据集的理想选择。
NoSQL 数据库具有可扩展性,可处理大量数据和高流量领主。许多
让我们来了解一下常见的 NoSQL 数据库类型。
键值存储
当需要快速高效地访问数据时,通常会使用键值存储。由于结构简单,它们的速度非常快,扩展也很容易,因此是具有高性能要求的应用程序的理想选择。
文件存储
文档存储允许灵活的数据建模,是内容管理系统、社交媒体平台和电子商务网站的理想选择。
专栏-家庭商店
这些数据库以列而不是行为单位存储数据,可以高效地存储和检索大型数据集。列式存储通常用于分析和数据仓库。
图形数据库
在图数据库中,数据以节点和边的形式存储,因此非常适合存储和分析复杂、相互关联的数据集。图数据库通常用于社交网络、推荐引擎和欺诈检测。
在了解了不同类型的数据库之后,让我们来看看数据库在现实世界中是如何使用的。
如何使用数据库?
数据库使我们能够在一个地方存储大量数据。由于大多数公司都有在线业务,数据库几乎应用于所有可以想象到的垂直领域。
假设我们有一个电子商务网站。我们可以在一个地方存储客户的订单历史、产品详情和客户数据。再看看我们的手机。它们使用数据库来存储我们的联系人列表。数据库具有可搜索性和可排序性,因此我们可以方便快捷地找到所需的数据。例如,当我们在收件箱中搜索电子邮件时,我们就是在查询数据库,以找到我们想要的信息。
参加我们的 Cloud Computing 入门认证课程,掌握在云计算领域取得成功的技能。
注释