- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 内核介绍
- 用户指南
- 最佳实践
- 性能白皮书
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API(推荐)
- 查询数据库引擎的版本
- 查询数据库规格
-
实例管理
- 创建数据库实例
- 重启数据库实例
- 删除/退订数据库实例
- 创建只读节点
- 删除/退订只读节点
- 包年/包月实例存储扩容
- 修改实例名称
- 重置数据库密码
- 变更实例规格
- 查询专属资源池列表
- 查询专属资源信息详情
- 设置实例秒级监控
- 查询实例秒级监控
- 节点重启
- 内核版本升级
- 开关SSL
- 绑定弹性公网IP地址
- 解绑弹性公网IP地址
- 手动主备倒换
- 设置可维护时间段
- 修改安全组
- 修改内网地址
- 修改实例端口
- 修改实例备注
- 申请内网域名
- 修改内网域名
- 查询内核版本信息
- 设置自动变配
- 查询自动变配
- 资源预校验
- 查询实例列表
- 查询实例详情信息
- 批量查询实例详情
- 设置回收站策略
- 查询回收站策略
- 查询回收站实例信息
- 批量修改节点名称
- 查询自动变配历史记录
- 设置Serverless配置策略
- 修改节点故障倒换优先级
- 查询弹性公网IP
- 备份管理
- 参数模板管理
- 配额管理
- 数据库代理
- 日志管理
- 标签管理
- 数据库用户管理
- 数据库管理
- 流量管理
- 任务中心
- 智能诊断
-
HTAP-标准版
- 恢复StarRocks数据同步
- 暂停StarRocks数据同步
- HTAP数据同步表配置校验
- 创建StarRocks实例
- 查询StarRocks实例
- 删除StarRocks实例
- 重启StarRocks实例
- 重启StarRocks节点
- StarRocks资源检查
- HTAP引擎资源查询
- 获取HTAP实例存储类型
- HTAP查询规格信息
- 查询HTAP实例列表
- 创建StarRocks数据同步
- 删除StarRocks数据同步
- 查询StarRocks数据同步状态信息
- HTAP数据同步库配置校验
- 查询StarRocks数据同步配置信息
- 查询StarRocks数据同步的库参数配置
- 查询StarRocks数据库
- 查询数据库账户
- 创建数据库账号
- 删除数据库账户
- 修改数据库账号密码
- 修改数据库账号权限
- StarRocks实例规格变更
- 查询参数
- 修改参数
- StarRocks实例开启行列分流
- 参数对比
- 多租特性
- API(即将下线)
- 权限策略和授权项
- 附录
- SDK参考
-
故障排除
- 备份恢复
- 连接类
-
SQL类
- 建表时timestamp字段默认值无效
- 索引长度限制导致修改varchar长度失败
- delete大表数据后,再查询同一张表时出现慢SQL
- 更新emoji表情数据报错Error 1366
- 存储过程和相关表字符集不一致导致执行缓慢
- 报错ERROR [1412]的解决方法
- 存在外键的表无法删除
- GROUP_CONCAT结果不符合预期
- 创建二级索引报错Too many keys specified
- distinct与group by优化
- 为什么有时候用浮点数做等值比较查不到数据
- 开通数据库代理后,还是有大量select请求分发到主节点
- 表空间膨胀问题
- MySQL创建用户提示服务器错误(ERROR 1396)
- 执行alter table xxx discard/import tablespace报错
- 数据库报错Native error 1461的解决方案
- 创建表失败报错Row size too large的解决方案
- Order by limit分页出现数据重复问题
- 执行select * from sys.innodb_lock_waits报错
- 参数类
- 性能资源类
-
基本使用类
- 查看TaurusDB的存储容量
- 修改库名和修改表名
- 字符集和字符序的默认选择方式
- 自增字段值跳变的原因
- 表的自增AUTO_INCREMENT初值与步长
- 修改表的自增AUTO_INCREMENT值
- 自增主键达到上限,无法插入数据
- 自增字段取值
- 自增属性AUTO_INCREMENT为何未在表结构中显示
- 空用户的危害
- 慢日志显示SQL语句扫描行数为0
- 错误日志页面显示handle_sync_msg_from_slave my_net_read error:-1
- 执行SQL语句报错:ERROR 1290 (HY000): The MySQL server is running with the --sql-replica-on option so it cannot execute this statement的原因及解决方案
- 常见问题
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
功能介绍
什么是算子下推(NDP)
NDP(Near Data Processing)是云数据库TaurusDB发布的旨在提高数据查询效率的计算下推的解决方案。针对数据密集型查询,将提取列、聚合运算、条件过滤等操作从计算节点向下推送给TaurusDB的分布式存储层的多个节点,并行执行。通过计算下推方法,提升了并行处理能力,减少网络流量和计算节点的压力,提高了查询处理执行效率。
工作原理
云数据库TaurusDB采用计算与存储分离的架构,以减少网络流量为主要架构准则,通过NDP设计将该准则应用到查询操作。没有NDP之前,查询处理需要将原始数据从存储节点全部传输到计算节点。通过NDP设计,查询中的I/O密集型和CPU密集型的大部分工作被下推到存储节点完成,仅将所需列及筛选后的行或聚合后的结果值回传给计算节点,使网络流量大幅减少。同时跨存储节点并行处理,使计算节点CPU使用率下降,提升了查询效率性能。
另外,NDP框架同TaurusDB并行查询进行融合,并进行了页面批量预取的设计,达成执行全流程并行,进一步提升查询执行效率。
![](https://support.huaweicloud.com/kerneldesc-taurusdb/figure/zh-cn_image_0000001882571704.png)
使用场景
查询业务能进行下推的场景包主要包括三大类:Projection、Aggregate、Select。
- Projection
列裁剪,只有查询语句所需相关字段内容才会被发送到计算节点。
- Aggregate
典型的聚合操作包括:count、sum、avg、max、min、group by,只发送聚合结果(而不是所有元组)到查询引擎,count (*)是一个最常见的场景。
- Select - where子句过滤
常见的条件表达式:Compare(>=,<=,<,>,==)、Between、In、And/Or,like。
将过滤表达式下推送到存储节点,只有满足条件的行才会发送到计算节点。
支持范围
- 当前支持对InnoDB表进行计算下推。
- 当前支持对COMPACT或DYNAMIC行格式的表进行计算下推。
- 当前支持对Primary Key或BTREE Index进行计算下推,HASH Index或Full-Text Index不支持计算下推。
- 当前只支持SELECT查询操作进行计算下推,其他DML语句不支持计算下推,INSERT INTO SELECT也不支持计算下推;SELECT 加锁查询(如 SELECT FOR SHARE/UPDATE)不支持计算下推。
- 聚集操作下推当前支持COUT/SUM/AVG/MAX/MIN函数,带GROUP BY语句的聚集操作暂不支持下推。
- 表达式下推支持数值类型、日志和时间类型和部分字符串类型(CHAR, VARCHAR),支持utf8mb4, utf8字符集。
- 表达式下推谓词支持比较运算(<,>,=,<=,>=,!=), IN, NOT IN, LIKE, NOT LIKE, BETWEEN AND, AND/OR等操作符。
参数说明
参数名 |
级别 |
描述 |
---|---|---|
ndp_mode |
Global、Session |
NDP特性开关,OFF表示特性关闭,ON表示特性在主机和只读节点开启,REPLICA_ON表示特性只在只读节点开启。 取值范围:OFF/ON/REPLICA_ON 默认取值:OFF |
ndp_support_features |
Global、Session |
NDP支持的特性
取值范围:COUNT,MIN,MAX,AVG,SUM,GROUP_BY,Partition_Table,Instant_Column_Table,Bloom_filter 默认取值:COUNT,SUM |