【AWS云从业者基础知识笔记】——模块5:存储和数据库

01介绍

学习目标

  • 总结存储和数据库的基本概念。
  • 描述Amazon Elastic Block Store (Amazon EBS)的好处。
  • 描述Amazon Simple Storage Service (Amazon S3)的好处。
  • 描述Amazon Elastic File System (Amazon EFS)的好处。
  • 总结各种存储解决方案。
  • 描述Amazon关系数据库服务(Amazon RDS)的好处。
  • 描述Amazon DynamoDB的好处。
  • 总结各种数据库服务。

我们现在的咖啡生意还不错。我们有顾客,很多开心的顾客。事实上,我们有一个弹性的,可伸缩的,抗灾的,成本优化的架构,现在有一个全球的,高度安全的网络,可以完全通过编程部署。

你知道,现在我们需要一些方式来表达我们对所有忠实客户的感激之情。一个经常喝酒的人忠诚计划怎么样?或者我们可以直接发放打孔卡,但说实话,我们无法很好地追踪这些卡片,并利用它们更好地了解我们的客户。

我们需要数字卡,这意味着我们需要能够跟踪我们的客户,他们订购了什么,他们买了多少。这将帮助他们,即客户,获得他们所获得的最佳回报,并帮助我们更好地了解我们的客户群。

这意味着我们需要数据库。数据库和存储。而不是随便一个数据库。我们需要确保为任务选择了正确的数据库,为数据类型选择了正确的存储空间。

02Instance stores and Amazon Elastic Block Store (Amazon EBS)

Instance stores

Block-level storage volumes的行为类似于物理硬盘驱动器。

实例存储为Amazon EC2实例提供临时块级存储。实例存储是为EC2实例在物理上连接到主机的磁盘存储,因此具有与该实例相同的寿命。当实例终止时,您将丢失实例存储中的所有数据

Instance stores

  1. 一个带有附加实例存储的Amazon EC2实例正在运行。

【AWS云从业者基础知识笔记】——模块5:存储和数据库_第1张图片

  1. 实例被停止或终止。

【AWS云从业者基础知识笔记】——模块5:存储和数据库_第2张图片

  1. 删除附加实例存储上的所有数据。

【AWS云从业者基础知识笔记】——模块5:存储和数据库_第3张图片

EBS

Amazon Elastic块存储(Amazon EBS)是一种服务,它提供块级存储卷,可以与Amazon EC2实例一起使用。如果停止或终止Amazon EC2实例,则附加的EBS卷上的所有数据仍然可用。

【AWS云从业者基础知识笔记】——模块5:存储和数据库_第4张图片

要创建EBS卷,需要定义配置(如卷大小和类型)并提供配置。创建EBS卷后,它可以附加到Amazon EC2实例。

因为EBS卷是用于需要持久存储的数据的,所以备份数据非常重要。您可以通过创建Amazon EBS快照对EBS卷进行增量备份

Amazon EBS snapshots

【AWS云从业者基础知识笔记】——模块5:存储和数据库_第5张图片

EBS快照是一种增量备份。这意味着卷的第一个备份将复制所有数据。对于后续备份,只保存自最近快照以来更改的数据块。

增量备份不同于完全备份,在完全备份中,每次发生备份时,存储卷中的所有数据都会拷贝。完整备份包括自最近一次备份以来未更改的数据。

AWS EBS类型

类型 描述 用例 大小 最大IOPS 吞吐量
EBS Provisioned IOPS SSD 为对延迟敏感的事务工作负载设计的高性能SSD I/O密集型NoSQL和关系数据库 4 GB-16 TB 64,000 1,000 MB/s
EBS General Purpose SSD 通用SSD,为各种事务工作负载平衡价格和性能 引导量、低延迟交互应用程序、开发和测试 1 GB–16 TB 16,000 250 MB/s
Throughput Optimized HDD 为频繁访问、吞吐量密集型工作负载设计的低成本硬盘 大数据、数据仓库、日志处理 500 GB–16 TB 500 500 MB/s
Cold HDD 为访问频率较低的工作负载设计的最低成本硬盘 冷数据 500 GB–16 TB 250 250 MB/s

注:磁盘的 IOPS,也就是在一秒内,磁盘进行多少次 I/O 读写。磁盘的吞吐量,也就是每秒磁盘 I/O 的流量,即磁盘写入加上读出的数据的大小。详细参考链接点击这里

03Amazon Simple Storage Service (Amazon S3)

AWS中的S3指对象存储

Object storage

【AWS云从业者基础知识笔记】——模块5:存储和数据库_第6张图片

在对象存储中,每个对象由数据、元数据和一个键组成

  • 数据可以是图像、视频、文本文档或任何其他类型的文件。
  • 元数据包含关于数据是什么、如何使用、对象大小等信息。
  • 对象的键是它的唯一标识符。

回想一下,当您在块存储中修改一个文件时,只有被更改的部分才会被更新。当对象存储中的一个文件被修改时,整个对象都会被更新。

Amazon Simple Storage Service (Amazon S3)

Amazon Simple Storage Service (Amazon S3)是一种提供对象级存储的服务。Amazon S3将数据作为对象存储在桶中。

您可以将任何类型的文件上传到Amazon S3,比如图像、视频、文本文件等等。例如,您可以使用Amazon S3存储备份文件、网站的媒体文件或存档文档。Amazon S3提供无限的存储空间。在Amazon S3中,对象的最大文件大小为5tb。

在向Amazon S3上传文件时,可以设置权限来控制文件的可见性和访问。您还可以使用Amazon S3版本控制特性来跟踪对象随时间的变化。

举例

【AWS云从业者基础知识笔记】——模块5:存储和数据库_第7张图片
http://,之后,您可以看到桶的名称。在本例中,桶名为doc。然后,标识符使用S3服务名称和服务提供者amazonaws。之后,在存储桶中有一个隐含的文件夹,名为2006-03-01,在文件夹中有一个对象,名为AmazonS3.html。对象名称通常称为键名。

您可以在桶中设置文件夹来帮助您组织对象。但是,请记住,在后端没有实际的文件层次结构支持这一点。它是一种扁平结构,所有文件和文件夹都位于同一层。使用桶和文件夹意味着一种层次结构,这为用户创建了一个可理解的组织。

Amazon S3 storage classes

使用Amazon S3,您只需为所使用的内容付费。您可以从一系列存储类中选择适合您的业务和成本需求的存储类。在选择Amazon S3存储类时,请考虑以下两个因素:

  • 您计划多长时间检索一次数据
  • 您需要您的数据有多可用
  1. S3 Standard

    • 为频繁访问的数据而设计
    • 至少在三个可用分区中存储数据

    S3 Standard为对象提供高可用性。这使得它成为各种用例的良好选择,例如网站、内容分发和数据分析。S3标准比其他用于不经常访问的数据和归档存储成本要高。

  2. S3 Standard-Infrequent Access (S3 Standard-IA)

    • 非常适合不经常访问的数据
    • 与S3标准类似,但存储价格较低,检索价格较高

    S3 Standard-IA非常适合不经常访问但在需要时需要高可用性的数据。S3 Standard和S3 Standard- ia至少存储三个可用分区中的数据。S3 Standard- ia提供与S3 Standard相同级别的可用性,但存储价格较低,检索价格较高。

  3. S3 One Zone-Infrequent Access (S3 One Zone-IA)

    • 存储单个可用分区中的数据
    • 存储价格比S3 Standard-IA低

    S3 Standard和S3 Standard- ia至少存储在三个可用分区中,而S3 One Zone- ia只能存储在一个可用分区中。这使得它成为一个很好的存储类来考虑是否适用以下条件:

    • 你想节省储存成本。
    • 在可用分区发生故障时,您可以轻松地重新生成数据。
  4. S3 Intelligent-Tiering

    • 适用于未知或更改访问模式的数据
    • 每个对象每月需要少量的监控和自动化费用

    在S3智能分级存储类中,Amazon S3监控对象的访问模式。如果连续30天未访问某个对象,Amazon S3会自动将该对象移至访问频率较低的层S3 Standard-IA。如果访问的对象属于非频繁访问层,Amazon S3会自动将其移至频繁访问层S3 Standard。

  5. S3 Glacier

    • 为数据存档而设计的低成本存储器
    • 能够在几分钟到几小时内检索对象

    S3 Glacier是一种低成本的存储类,是数据存档的理想选择。例如,您可以使用这个存储类来存储存档的客户记录或旧的照片和视频文件。

  6. S3 Glacier Deep Archive

    • 成本最低的对象存储类,非常适合存档
    • 能够在12小时内取回物品

    在决定Amazon S3 Glacier和Amazon S3 Glacier Deep Archive之间的选择时,请考虑需要以多快的速度检索存档对象。您可以在几分钟到几小时内检索存储在S3 Glacier存储类中的对象。相比之下,您可以在12小时内检索存储在S3 Glacier Deep Archive存储类中的对象。

Comparing Amazon EBS and Amazon S3

类型 size 适用场景
EBS 单个块可达16TB 进行复杂的读、写、更改函数
S3 单个对象为5000GB 使用的是完整的对象或只是偶尔进行更改

04 Amazon Elastic File System (Amazon EFS)

File storage

在文件存储中,多个客户端(如用户、应用程序、服务器等)可以访问存储在共享文件夹中的数据。在这种方法中,存储服务器使用块存储和本地文件系统来组织文件。客户端通过文件路径访问数据。

相对于块存储和对象存储,文件存储更适合于大量业务和资源需要同时访问同一数据的场景。

Amazon Elastic File System(Amazon EFS)是一个可扩展的文件系统,与AWS云服务和本地资源一起使用。随着添加和删除文件,Amazon EFS会自动增长和收缩。它可以在不中断应用程序的情况下按需扩展到pb级

Comparing Amazon EBS and Amazon EFS

类型 内涵
EBS 在单个可用分区中存储数据,要将 EBS卷附到EC2实例上, EC2实例和EBS卷都必须位于同一个可用分区内。
EFS EFS是一种regional service务。它在多个可用分区中或跨多个可用分区存储数据。副本存储可以同时访问文件系统所在区域内所有可用分区的数据。此外,内部服务器可以使用AWS直接连接访问Amazon EFS。

05Amazon Relational Database Service (Amazon RDS)

Relational databases

在关系数据库中,数据以一种将其与其他数据段关联起来的方式存储。

关系数据库的一个例子可能是咖啡店的库存管理系统。数据库中的每条记录都包含单个项目的数据,例如产品名称、大小、价格等等。

关系数据库使用结构化查询语言(SQL)来存储和查询数据。这种方法允许以易于理解、一致和可伸缩的方式存储数据。例如,咖啡店老板可以编写一个SQL查询来识别最常购买一杯中杯拿铁咖啡的所有顾客。

关系数据库中的数据示例:

【AWS云从业者基础知识笔记】——模块5:存储和数据库_第8张图片

Amazon Relational Database Service

Amazon Relational Database Service(Amazon RDS)是一种在AWS Cloud中运行关系型数据库的服务。

Amazon RDS是一种托管服务,可以自动执行硬件供应、数据库设置、打补丁和备份等任务。有了这些功能,您可以用更少的时间完成管理任务,而用更多的时间使用数据来创新您的应用程序。您可以将Amazon RDS与其他服务集成,以满足业务和运营需求,例如使用AWS Lambda从无服务器应用程序查询数据库。

Amazon RDS提供了许多不同的安全选项。许多Amazon RDS数据库引擎提供静态加密(在存储数据时保护数据)和传输加密(在发送和接收数据时保护数据)。

Amazon RDS database engines

Amazon RDS可以在6个数据库引擎上使用,它们对内存、性能或输入/输出(I/O)进行了优化。支持的数据库引擎包括:

  • Amazon Aurora
  • PostgreSQL
  • MySQL
  • MariaDB
  • Oracle Database
  • Microsoft SQL Server

Amazon Aurora

Amazon Aurora是一个企业级的关系数据库。兼容MySQL、PostgreSQL关系数据库。它比标准的MySQL数据库快5倍,比标准的PostgreSQL数据库快3倍。

Amazon Aurora通过减少不必要的输入/输出(I/O)操作,帮助降低您的数据库成本,同时确保您的数据库资源保持可靠和可用。

如果您的工作负载需要高可用性,请考虑Amazon Aurora。它跨三个可用区域复制数据的6个副本,并不断地将数据备份到Amazon S3。

06Amazon DynamoDB

Nonrelational databases

在非关系数据库中,需要创建表。表是存储和查询数据的地方。

非关系数据库有时也被称为“NoSQL数据库”,因为它们使用行和列以外的结构来组织数据。非关系数据库的一种结构化方法是键值对。使用键-值对,数据被组织成项(键),而项具有属性(值)。您可以将属性视为数据的不同特征。

在键值数据库中,您可以随时从表中的项中添加或删除属性。此外,并不是表中的每个项都必须具有相同的属性。

非关系数据库中的数据示例:

【AWS云从业者基础知识笔记】——模块5:存储和数据库_第9张图片

Amazon DynamoDB

Amazon DynamoDB是一个键值数据库服务。它在任何规模上都提供了一位数毫秒的性能。

要了解DynamoDB的特性,请选择每个抽认卡来翻转它。

  1. Serverless:DynamoDB是无服务器的,这意味着您不必提供、打补丁或管理服务器。您也不必安装、维护或操作软件。
  2. Automatic scaling:随着数据库大小的收缩或增长,DynamoDB会自动伸缩,以适应容量的变化,同时保持一致的性能。这使得它成为在扩展时需要高性能的用例的合适选择。

RDS vs. DynamoDB

  1. 关系数据库从企业开始使用计算机的时候就已经存在了。能够构建跨多个表的复杂数据分析,是任何关系系统的优势所在。在这一轮中,你有一个销售供应链管理系统,你必须分析它的弱点。在这里,使用RDS显然是赢家,因为它是为业务分析而构建的,因为您需要复杂的关系连接。
  2. 用例,几乎所有的东西。这听起来很奇怪,但是尽管独立的遗留数据库供应商让您相信,人们使用昂贵的关系数据库的大多数用途与复杂的关系无关。事实上,人们放入这些数据库的很多东西最后都只是查找表。对于这一轮,假设您有一个员工联系人列表:姓名、电话号码、电子邮件、员工id。我可以用一个关系数据库来做这个,但是使关系数据库很棒的东西,所有那些复杂的功能,会造成开销,延迟和费用,如果你没有真正使用它的话。这就是非关系型数据库Dynamo DB发挥作用的地方。通过消除所有的开销,DynamoDB允许您在不需要复杂的联合功能的情况下构建强大的、难以置信的快速数据库。

07Amazon Redshift

Amazon Redshift是一个数据仓库服务,您可以使用大数据分析。它提供了从多个来源收集数据的能力,并帮助您理解数据之间的关系和趋势。

08AWS Database Migration Service

AWS Database Migration Service
(AWS DMS)允许您迁移关系数据库、非关系数据库和其他类型的数据存储。

使用AWS DMS,可以在源数据库和目标数据库之间移动数据。源数据库和目标数据库可以是相同的类型,也可以是不同的类型。在迁移过程中,源数据库保持可操作,减少了任何依赖于该数据库的应用程序的停机时间。

例如,假设您有一个MySQL数据库,它存储在Amazon EC2实例或Amazon RDS中。考虑将MySQL数据库作为您的源数据库。使用AWS DMS,您可以将数据迁移到目标数据库,如Amazon Aurora数据库。

Other use cases for AWS DMS

  1. Development and test database migrations:使开发人员能够根据生产数据测试应用程序,而不影响生产用户
  2. Database consolidation:将几个数据库合并成一个数据库
  3. Continuous replication:将数据的持续副本发送到其他目标源,而不是进行一次性迁移

09Additional database services

  1. Amazon DocumentDB:是支持MongoDB工作负载的文档数据库服务。(MongoDB是一个文档数据库程序。)
  2. Amazon Neptune:是一个图形数据库服务。您可以使用Amazon Neptune构建和运行与高度连接的数据集(如推荐引擎、欺诈检测和知识图)一起工作的应用程序。
  3. Amazon Quantum Ledger Database (Amazon QLDB):是一种分类帐数据库服务。您可以使用Amazon QLDB查看对应用程序数据进行的所有更改的完整历史记录。
  4. Amazon Managed Blockchain是一个可以使用开源框架创建和管理区块链网络的服务。区块链是一个分布式账本系统,允许多方在没有中央授权的情况下运行交易和共享数据。
  5. Amazon ElastiCache:它在数据库之上添加了缓存层,以帮助提高常见请求的读取时间。它支持两种类型的数据存储:Redis和Memcached。
  6. Amazon DynamoDB Accelerator:是DynamoDB的内存缓存。它有助于将响应时间从个位数的毫秒提高到微秒。

小结

存储

云数据存储有三种类型:对象存储、文件存储和数据块存储。每种类型都有自己的优势和对应的使用案例:

  1. 对象存储 – 在云中开发的应用程序通常可以利用对象存储巨大的可扩展性和元数据特性。Simple Storage Service (S3) 等对象存储解决方案非常适合用于从头构建需要扩展和灵活性的现代应用程序;您还可以使用这些解决方案导入现有数据存储以进行分析、备份或存档
  2. 文件存储 – 某些应用程序需要访问共享文件并需要文件系统。通常使用网络附加存储 (NAS) 服务器支持这种类型的存储。Elastic File System (EFS) 等文件存储解决方案非常适合大型内容存储库、开发环境、媒体存储或用户主目录等使用案例。
  3. 数据块存储数据库ERP 系统等其他企业应用程序通常需要针对每个主机的专用低延迟存储。这种存储与直接连接存储 (DAS) 或存储区域网络 (SAN) 类似。Elastic Block Store (EBS) 等基于数据块的云存储解决方案使用各个虚拟服务器进行预配置,可提供高性能工作负载所需的超低延迟

数据库

Database Type Use Cases AWS Service
Relational 传统应用、ERP、CRM、电子商务 Amazon RDS, Amazon Aurora,Amazon Redshift
Key-value 高流量web应用、电子商务系统、游戏应用 Amazon DynamoDB
In-memory 缓存,会话管理,游戏排行榜,地理空间应用 Amazon ElastiCache for Memcached, Amazon ElastiCache for Redis
Document 内容管理,目录,用户配置文件 Amazon DocumentDB (with MongoDB compatibility)
Wide column 用于设备维护、车队管理和路线优化的大规模工业应用 Amazon Keyspaces (for Apache Cassandra)
Graph 欺诈检测,社交网络,推荐引擎 Amazon Neptune
Time series 物联网应用,DevOps,工业遥测 Amazon Timestream
Ledger 记录系统,供应链,登记系统,银行交易系统 Amazon QLDB

你可能感兴趣的:(云计算,aws,数据库,云计算,存储)