1.集群规格 不同集群规格的CPU核数、内存大小和数据存储介质等属性不同,处理子任务的能力也就不同,需要结合业务查询特征来选择集群规格。。以Join或分组聚合为主的业务查询会消耗较多的CPU和内存资源。·扫描数据和简单分组聚合操作的查询会消耗较多的磁盘I/O资源。 2、节点数量 AnalyticDB MySQL版使用了分布式数据处理架构,一条查询会被分解成多个Stage在不同的节点上并行执行。所以如果集群中的节点数量越多,AnalyticDBMySQL版处理查询的能力也会越强。您可以根据实际的业务需求来决定集群节点的购买数量,更多详情,请参见创建集群。 3、数据分布特征 由于使用了分作责据女里构,具备持条查河分军到多个节点上并行执行的能力。 充分利用多节点来并行处理查询,还取决于数据在存储节点上的分布特征。 如果数据能够均匀分布在存储节点上,多个子任务在处理数据时,就能几乎同时结束任务。 数据分布不均匀,子任务在处理数据时会存在时间上的长尾,从而影响最终的查询效果。 4.数据量大小 在处理查询时,通常不会将处理过程中的临时结果暂时写到磁盘里,而是尽量在内存中将所有数据处理掉。 如果查询需要处理的数据量较大,就可能会长时间占用大量的资源,导致整体查询效率降低,进而影响最终的查询效果。 表存储的数据量较大,在执行索引过滤、明细数据读取等操作时会出现争抢磁盘I/O资源,导致查询变慢。 5、查询并发度 能同时处理的查询数量也会存在上限。如果查询的并发度过高,集群节点资源已到达瓶颈,那么后台的查询就会出现较长时间的排队,影响整体查询效果。 6、查询复杂度 查询的复杂度不同造成的压力也不同。 如果查询中过滤条件过于复杂,会在数据过滤时对存储节点造成一定压力;如果查询中Join算子过多,数据可能需要在不同节点间进行多次的网络传输,造成网络阻塞;如果查询中分组字段过多,也会占用较多的内存资源。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。