亚马逊Redshift数据优化与转换策略
1. 数据存储建议
在处理数据流时,为每个流的数据选择合适的存储方式至关重要。建议将每个流的数据存储在单个物化视图中,这样做是为了避免因读取多个物化视图而过度占用资源,进而影响其他工作负载。关于数据流的定价信息,可参考Kinesis Data Streams定价和Amazon MSK定价。
2. 优化数据结构
2.1 传统数据库架构与MPP架构
传统数据库基于对称多处理(SMP)架构构建,多个CPU访问共享内存和磁盘。这种紧密耦合的多处理器系统无法线性扩展以满足数据增长和查询执行吞吐量的要求。而大规模并行处理(MPP)架构克服了这些挑战,它主要分为两种类型:
- 共享磁盘架构 :CPU和内存并行处理,但磁盘是共享的。
- 无共享架构 :CPU、内存和磁盘都并行处理。
亚马逊Redshift采用的是MPP无共享架构,通过使用每个节点附带的内存和CPU处理数据来实现线性可扩展性。这种架构没有单一执行器瓶颈,添加或删除节点可实现线性扩展。在MPP系统中,单个对象或表的数据物理存储在各个节点上,因此有分布式或复制表,而数据分布方式对查询性能起着关键作用。
2.2 表设计对查询性能的影响
创建数据库对象时,某些关键的表设计决策会影响整体查询性能,同时也会对存储需求产生重大影响,进而影响查询性能。关键目标是减少I/O操作次数并最小化处理查询所需的内存。
亚马逊Redshift通过“自动表优化和自主功能”自动处理许多此类决策,但有时你可能需要微调环
超级会员免费看
订阅专栏 解锁全文
17

被折叠的 条评论
为什么被折叠?



