深入了解AmazonAurora与DynamoDB:特性、部署与应用
立即解锁
发布时间: 2025-08-22 01:50:56 阅读量: 1 订阅数: 3 


AWS Certified Database Specialist Exam Prep
### 深入了解 Amazon Aurora 与 DynamoDB:特性、部署与应用
#### 1. Amazon Aurora 基础与全局数据库创建
Amazon Aurora 是 AWS 推出的托管数据库服务,兼容 MySQL 或 PostgreSQL。它具有诸多优势,如存储容量可自动即时扩展,无需定义输入/输出操作每秒(IOPS)或吞吐量,始终能获得最大可用性能。一个 Aurora 集群包含读写实例,可将应用工作负载在读写操作间进行拆分,且集群最多可拥有 15 个读实例,但仅一个写实例。
在创建好带有读副本的 Aurora 集群后,若要将其扩展为全局数据库,可按以下步骤操作:
1. **切换密钥**:由于 AWS 默认密钥不能跨区域共享,需先切换为自管理密钥。
2. **登录 AWS 控制台**:使用具有创建和修改 RDS 实例权限的账户登录。
3. **导航至 RDS 部分**:Aurora 是 RDS 的特定类型,找到相应位置。
4. **选择数据库并添加区域**:选中 `dbcertaur1` 数据库,点击“Actions”下拉菜单,选择“Add AWS Region”。若所选数据库版本不符合全局数据库要求,需点击“Modify”按钮,更改为支持的类型,并参考 [AWS 指南](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) 找到合适的组合。
5. **命名全局数据库**:为全局数据库命名,如 `dbcertglob`。
6. **选择部署区域**:选择要部署的区域,并记录所选区域,以便后续检查数据库。
7. **选择实例类**:从下拉菜单中选择实例类,为降低成本,在实践中应选择最小可用的实例类,具体取决于部署区域。
8. **设置连接选项**:保持连接选项为默认设置,但需了解其含义。在生产系统中,建议手动设置 VPC 以提高安全性和可控性。
9. **关闭加密**:若“Encryption”选项出现,关闭加密以匹配源数据库。若源数据库启用了加密,可能会出现错误,此时需返回重新创建无加密的集群。
10. **调整附加配置**:展开“Additional Configuration”选项,取消勾选“Enable Performance Insights”和“Enable Enhanced monitoring”,因为这些功能会产生费用。
11. **添加区域**:点击“Add region”,AWS 将在新区域创建一个新的 Aurora 集群,此过程大约需要 10 分钟。
#### 2. Amazon Aurora 特性总结
- **自动化管理**:Aurora 自动执行许多通常由数据库管理员(DBA)执行的日常管理功能,如备份、日志轮换、操作系统和数据库打补丁,还可包括存储自动扩展、写实例大小调整以及读节点数量和大小的调整。
- **多可用区部署**:Aurora 自动实现多可用区(Multi - AZ)部署,数据的六个副本存储在三个可用区中,确保高可用性。
- **Serverless 模式**:Aurora Serverless 允许在不指定实例大小的情况下创建 Aurora 集群,只需分配最大和最小 Aurora 容量单位,Serverless 实例将自动扩展以处理任何负载。
- **全局数据库**:Global Database 可快速轻松地实现多区域部署,减少全球应用程序与数据库之间的延迟。
- **回溯功能**:Aurora Backtrack 可将数据库恢复到回溯窗口内的任意时间点,无需从备份中恢复。
以下是 Aurora 特性的简要表格总结:
| 特性 | 描述 |
| ---- | ---- |
| 存储扩展 | 自动即时扩展,无需定义 IOPS 和吞吐量 |
| 实例数量 | 最多 15 个读实例,1 个写实例 |
| 自动化管理 | 备份、日志轮换、打补丁等 |
| 多可用区部署 | 数据六个副本存于三个可用区 |
| Serverless 模式 | 按需分配容量单位,自动扩展 |
| 全局数据库 | 实现多区域部署,降低延迟 |
| 回溯功能 | 恢复到回溯窗口内任意时间点 |
#### 3. Amazon DynamoDB 概述与技术要求
Amazon DynamoDB 是 AWS 提供的完全托管的 NoSQL 和无服务器数据库服务,支持键值和文档数据结构,是 AWS 专有的数据库引擎。与传统 SQL 数据库不同,它用于存储半结构化或非结构化数据,无需具体的模式。
使用 DynamoDB 的技术要求如下:
1. **AWS 账户**:需要具有根访问权限的 AWS 账户,且在账户开通后的 12 个月内,可使用免费套餐运行代码示例。
2. **AWS CLI 配置**:
- 若未开通 AWS 账户,需先开通。
- 从 [此处](https://docs.aws.amazon.com/cli/latest/userguide/welcome-versions.html#welcome-versions-v2) 下载最新版本的 AWS CLI。
- 在 [此处](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html#getting-started_create-admin-group-cli) 为管理用户创建访问密钥。
- 运行 `aws configure` 命令为用户设置配置文件。
3. **代码下载**:可从 [GitHub 仓库](https://github.com/PacktPublishing/AWS-Certified-Database---Specialty-DBS-C01-Certification) 下载相关代码。
#### 4. DynamoDB 数据存储格式与设计要点
DynamoDB 表可存储以下格式的数据:
- **字符串(String)**:可包含字母和数字,例如 `"Name": { "S": "Kate" }`。
- **数字(Number)**:只能包含数字,可含小数点,如 `"Score": { "N": "1045" }`。
- **二进制(Binary)**:以 base64 格式存储复杂数据类型,可用于存储图像或文档,如 `"Image": { "B": "bXkgc3VwZXIgc64jcmV0IHRlehrsh" }`。
- **布尔值(Boolean)**:只能为 `true` 或 `false`,如 `"Parent": { "BOOL": "false" }`。
- **空值(N
0
0
复制全文