zoukankan      html  css  js  c++  java
  • polardb基础~使用场景和并行查询

    使用场景
    1 由于polardb本身构建是基础两个实例,存储花费比较大,所以需要的场景大概是以下几点
    1 程序本身需要做读写分离,由于polardb基础已经拥有一个读实例,和rds做对比,就节省了一个读实例的花费
    2 预估现有数据量和未来数据增长量的磁盘占用,尽量将磁盘成本控制降低,只保留有效的活跃数据,其他不必要的历史查询都放置在es/hdfs或者其他rds实例上
    3 使用场景本身不必要频繁的DDL或者在迁移前将DDL变更一次性做好,polardb本身对于DDL操作的成本还是有点高的,所有实例都是共享MDL锁,防止因为慢查询或者其他事务导致全局性的MDL锁等待
    4 设置好备份的保留机制,控制备份的成本花费
    5 慢查询做好监控,防止产生锁问题
    2 并行查询
    1 可以分为以下几个阶段
    1 版本并不支持任何并行查询
    2 版本支持有限场景的并行查询,大概有以下几个
    1 单表聚合函数的场景 sum() count()等
    2 多表并行JOIN的场景 各种join
    3 collector组件 负责做后续的GROUP BY、ORDER BY及LIMIT操作 组件只有一个,负责所有的线程结果
    2 基于什么
    1 必须基于成本,优化器进行判定,表扫描行数是否需要并行查询,否则可能极大浪费资源
    2 并行包括 并行读取到BUFF,并行进行处理 最后 由一个专门线程进行合并处理
    3 polardb如果使用了并行查询会在explain出现parallel scan(xx workers)关键特征 xx代表多少线程参与了活动
    3 补充
    1 如果想对比polardb和rds的性能,则需要按照同等条件下对比大SQL的查询性能
    2 polardb只有8.0版本才支持并行查询和ddl加速


  • 相关阅读:
    jquery mobile左右滑动切换页面
    用phonegap和jquery-mobile写android应用
    javascript配置ckfinder的路径
    HTML5中表单验证的8种方法
    select标签中的选项分组
    c# 冒号:C#中两个冒号(::)的作用
    jquery validate
    【C#学习笔记】检测进程是否存在并关闭
    【C#学习笔记】载入图片并居中
    【C#学习笔记】鼠标控制
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/14416345.html
Copyright © 2011-2022 走看看