跳至主要内容

什么是数据库存储?

什么是数据库存储?

数据可存储在数据库中,以供将来检索和分析使用。数据库存储有多种不同选项,需在控制力和灵活性之间做出权衡。本指南探讨了 AWS 上的各类存储模型,并就如何为您的特定使用案例选择最合适的存储模型提供指导。

所有数字数据都必须存储在某处的物理设备上,例如随机存取存储器(RAM)、缓存、寄存器中,或固态驱动器(SSD)、硬盘驱动器(HDD)、网络附属存储(NAS)、存储区域网络(SAN)等其他类型的物理存储介质中。云数据存储依赖底层物理设备,这些设备通过上层虚拟化技术运行逻辑存储。

要让大多数企业数据发挥价值,必须将其存储在数据库中。数据库管理系统是位于存储数据之上的软件层。该软件层使您能够执行创建数据库、查询和分析数据、更新和删除数据等操作。数据库软件可在物理层面与数据本身分开存储。

关系数据库存储是如何运作的?

关系数据库以表格式存储数据,由行和列组成,其中每行代表一条记录,该记录中的每一列对应一个属性。数据库表的数据结构用于存储常见、重复且相关的记录,例如客户详细信息或购买记录。每个表都可以作为关系与另一个表相关联:例如,购买记录可与关联的客户建立关系。

在这些表之上运行的关系数据库软件,通过主键和外键管理这些关联关系。它允许用户执行创建、读取、更新、删除和写入操作,并使用结构化查询语言(SQL)查询表中的数据。

关系数据库及其底层结构化数据的存储方式取决于创建该数据库所使用的关系数据库管理系统(RDBMS),因为不同的软件产品采用不同的数据存储方案。示例包括 SQL Server、MySQL、PostgreSQL、Oracle 和 MariaDB。

托管型关系数据库存储

AWS 为各类关系数据库管理系统提供托管型关系数据库存储和操作系统。使用托管服务的好处包括减少在基础设施管理和维护上花费的时间以及提高安全性。

Amazon Relational Database Service

Amazon Relational Database Service(RDS)是一项针对 PostgreSQL、MySQL、MariaDB、SQL Server、Oracle 和 Db2 等系统的托管服务。Amazon RDS 负责处理数据库管理任务,例如配置、补丁更新、备份、恢复、故障检测和修复,且易于设置和部署。

在存储方面,Amazon RDS 提供三种不同的底层 Amazon Elastic Block Store(Amazon EBS)卷类型以供选择。

  • 适用于大多数数据库工作负载的通用型 SSD 存储;
  • 支持 SSD 的高性能预调配 IOPS 存储;以及 
  • 用于向后兼容的磁性数据存储。

Amazon Aurora

Amazon Aurora 是一项适用于 PostgreSQL、MySQL 和 DSQL 关系数据库的云原生托管服务。Aurora 旨在最大限度地发挥云配置的全部优势,包括集群化和分布式架构,与传统基于云的 RDBMS 服务相比,能提供更高的性能、可用性和容错能力。

在存储方面,Amazon Aurora 数据存储在集群卷中,这是一种由 SSD 提供支持的自定义单一虚拟卷,数据会复制到 AWS 区域内的三个不同可用区,以最大程度地提升数据完整性和冗余性。Amazon Aurora DSQL 提供多区域冗余功能,以在区域端点不可用时保障数据的可访问性。由于 Aurora 存储是专有的,因此可提供具备完全自动扩缩功能的自定义配置,且完全由 AWS 管理,无需用户进行存储自定义设置。

自行管理的关系数据库存储

AWS 上自行管理的 RDBMS 和存储涉及传统的系统管理和数据库管理任务。您需要在云基础设施上执行这些任务,而不是在物理基础设施上执行。

Amazon EC2 允许您为任何类型的关系数据库管理系统设置和配置实例。配置和运行 EC2 实例需要执行安全管理、性能配置、监控和维护等任务。 

对于底层存储,您可以选择 Amazon EBS、用于完全弹性存储的 Amazon Elastic File System(EFS)以及临时实例存储。您可以根据数据库需求选择大容量或小容量的存储卷。

非关系数据库存储是如何运作的?

非关系数据库(也称为 NoSQL 数据库)采用独特的数据结构,其数据存储、访问和建模方式与关系数据库不同。各种非关系数据库支持不同的使用案例,每种数据存储都采用不同的数据库结构设计。

非关系数据库包括:键值数据库、文档数据库、宽列数据库、图形数据库、内存数据库以及搜索数据库。

托管型非关系数据库

AWS 为每种类型的非关系数据库提供一系列托管服务。

  • Amazon DynamoDB 是一种托管型键值存储和文档数据库服务,其底层采用基于 SSD 的自定义分布式存储。
  • Amazon DocumentDB(兼容 MongoDB)是一项原生 JSON 文档数据库托管服务,采用基于 SSD 的自定义分布式存储。
  • Amazon Keyspaces(Apache Cassandra 兼容)是一项与 Apache Cassandra 兼容的宽列数据库托管服务,采用基于 SSD 的自定义分布式存储。
  • Amazon Neptune 是一项图形数据库托管服务,采用基于 SSD 的自定义分布式存储。  
  • Amazon MemoryDB 是一项与 Valkey 和 Redis OSS 兼容的内存数据库服务,采用基于 SSD 的自定义分布式存储。 
  • Amazon ElastiCache 是一项内存缓存服务,与 Valkey、Redis 和 Memcached 内存缓存兼容,由 RAM 和 EBS 数据存储提供支持。  

Amazon DynamoDB、Amazon DocumentDB、Amazon Keyspaces、Amazon Neptune 和 Amazon MemoryDB 均采用支持 SSD 的自定义专有存储类型。

尽管 Amazon ElastiCache 利用了 EBS 存储,但它不提供基于存储的选择,也不允许用户访问文件级存储。ElastiCache 是一种缓存类型的非关系数据库。

自行管理的非关系数据库

在 AWS 上配置和存储非关系数据库所遵循的基础设施模式与关系数据库使用的基础设施模式类似。 

您可以使用 EC2 实例来运行任何类型的 NoSQL 数据库,包括 MongoDB、Redis 和 HBase。基础数据可根据您的使用案例存储在 Amazon EBS、适用于完全弹性存储的 Amazon Elastic File System(EFS)以及临时实例存储中。

还有哪些其他类型的数据库存储?

并非所有企业数据都能完美适配关系或非关系数据库格式,现代分析技术通常可兼容其他半结构化和非结构化数据类型。 

例如,您可以将半结构化数据存储在 Amazon S3 上的 Apache Avro 数据文件中,并直接按原始格式分析数据,无需重组数据以适配数据库。您可以将 S3 用作任何类型数据的存储解决方案。

如何在数据库存储类型之间进行选择?

选择使用托管数据库服务还是自行管理的服务将决定您在数据存储方面的可选范围。

全面的环境控制

希望完全控制数据库环境的组织,必须选择 AWS 上的自行管理数据库解决方案。您可以将自行管理的数据库和存储用于关系和非关系数据库。通过使用 EC2 自行管理解决方案,您可以直接访问文件系统存储中的底层数据,无论这些数据存储在 EBS、EFS 还是实例存储中。

降低管理开销

托管服务在数据存储位置和存储方式方面几乎没有自定义空间,但相应地减少了与基础设施管理相关的管理开销。组织通常会迁移到云端以使用托管服务,从而减少对基础设施管理和维护的需求。 

不过,在某些使用案例中,组织需要对数据库的底层数据拥有文件级访问权限。例如,现有应用程序可能直接从文件中访问数据,气隙系统可能需要此类配置,或者合规性要求的数据完整性义务可能要求文件级访问权限。

选择托管数据库服务还是自行管理数据库配置,取决于每个数据库的独特使用案例。仔细考量组织内的每个数据库,包括其现有配置和需求,有助于指导您的决策过程。 

您的解决方案必须包含备份系统,以在系统发生故障时满足数据冗余要求。

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

如果您选择托管数据库服务,AWS 上的数据库存储会更加简便。每项托管服务都会为您管理存储,无需管理员进行额外配置即可高效处理数据。使用托管服务意味着 AWS 成为您的无接触式存储管理者。

如果您对 AWS 上的数据库采用自行管理方式,则可自主控制数据的存储方式。自行管理方式允许直接从物理存储中访问和检索数据。

无论您是执行 MySQL 迁移还是创建新的键值存储,都可以在 AWS 上探索适合您的数据库选项。 

立即在 AWS 上创建免费账户,开始构建符合您需求的现代数据库基础设施。