PERF 4: 如何选择数据库解决方案?
针对特定系统的最优数据库解决方案取决于您的具体需求,包括可用性、一致性、分区容错性、延迟、持久性、可扩展性以及查询能力等等。许多系统会使用多种不同的数据库解决方案来满足其子系统的实际需要,并启用不同的功能来提高性能。为系统选择错误的数据库解决方案和功能可能会导致性能效率降低。
资源
AWS purpose-built databases (DAT209-L)
Amazon Aurora storage demystified: How it all works (DAT309-R)
Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)
Cloud Databases with AWS
AWS Database Caching
Amazon DynamoDB Accelerator
Amazon Aurora best practices
Amazon Redshift performance
Amazon Athena top 10 performance tips
Amazon Redshift Spectrum best practices
Amazon DynamoDB best practices
最佳实践:
-
了解数据特性: 了解工作负载中数据的不同特性。确定工作负载是否需要事务、工作负载如何与数据交互,以及工作负载的性能需求有哪些。使用这些数据来选择适用于工作负载的最佳数据库方法(例如关系数据库、NoSQL 键值、文档、宽列、图形、时间序列或内存中存储)。
-
评估可用的选项: 在选择工作负载存储机制的过程中,评估可用的服务和存储选项。了解如何以及何时使用给定的服务或系统进行数据存储。了解可以优化数据库性能或效率的可用配置选项,例如预置 IOPS、内存和计算资源以及缓存。
-
收集和记录数据库性能指标: 使用各种工具、库和系统来记录与数据库性能相关的性能测量值。例如,测量每秒事务数、慢速查询或访问数据库时引入的系统延迟。根据这些数据来了解您数据库系统的性能。
-
根据访问模式选择数据存储: 根据工作负载的访问模式来确定要使用的服务和技术。例如,对于需要事务的工作负载,使用关系数据库,或者使用能够提供更高吞吐量但能保持最终保持一致性的键值存储(如适用)。
-
根据访问模式和指标优化数据存储: 使用性能特性和访问模式来优化数据的存储和查询方式,以便实现最佳性能。衡量索引、键分配、数据仓库设计或缓存策略等优化对系统性能或整体效率的影响。
改进计划
了解数据特性
评估可用的选项
收集和记录数据库性能指标
根据访问模式选择数据存储
根据访问模式和指标优化数据存储