博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TiDB 3.0.0 Beta.1 发布,分布式 NewSQL 数据库
阅读量:7300 次
发布时间:2019-06-30

本文共 2205 字,大约阅读时间需要 7 分钟。

TiDB 发布 3.0.0 Beta.1 版,对应的 TiDB-Ansible 版本为 3.0.0 Beta。相比 3.0.0 Beta 版本,该版本对系统稳定性、易用性、功能、优化器、统计信息以及执行引擎做了很多改进。更新内容如下:

TiDB

  • SQL 优化器
    • 支持使用 Sort Merge Join 计算笛卡尔积 
    • 支持 Skyline Pruning,用一些规则来防止执行计划过于依赖统计信息 
    • 支持 Window Functions
      • NTILE 
      • LEAD 和 LAG 
      • PERCENT_RANK 
      • NTH_VALUE 
      • CUME_DIST 
      • FIRST_VALUE 和 LAST_VALUE 
      • RANK 和 DENSE_RANK 
      • RANGE FRAMED 
      • ROW FRAMED 
      • ROW NUMBER 
    • 增加了一类统计信息,表示列和 handle 列之间顺序的相关性 
  • SQL 执行引擎
    • 增加内建函数
      • JSON_QUOTE 
      • JSON_ARRAY_APPEND 
      • JSON_MERGE_PRESERVE 
      • BENCHMARK 
      • COALESCE 
      • NAME_CONST 
    • 根据查询上下文优化 Chunk 大小,降低 SQL 执行时间和集群的资源消耗 
  • 权限管理
    • 支持 SET ROLE 和 CURRENT_ROLE 
    • 支持 DROP ROLE 
    • 支持 CREATE ROLE 
  • Server
    • 新增 /debug/zip HTTP 接口,获取当前 TiDB 实例的信息 
    • 支持使用 show pump status/show drainer status 语句查看 Pump/Drainer 状态 
    • 支持使用 SQL 语句在线修改 Pump/Drainer 状态 
    • 支持给 SQL 文本加上 HASH 指纹,方便追查慢 SQL 
    • 新增 log_bin 系统变量,默认:0,管理 binlog 开启状态,当前仅支持查看状态 
    • 支持通过配置文件管理发送 binlog 策略 
    • 支持通过内存表 INFORMATION_SCHEMA.SLOW_QUERY 查询慢日志 
    • 将 TiDB 显示的 MySQL Version 从 5.7.10 变更为 5.7.25 
    • 统一,利于工具收集分析
    • 增加监控项 high_error_rate_feedback_total,记录实际数据量与统计信息估算数据量差距情况 
    • 新增 Database 维度的 QPS 监控项 , 可以通过配置项开启 
  • DDL
    • 增加ddl_error_count_limit全局变量,默认值:512,限制 DDL 任务重试次数,超过限制次数会取消出错的 DDL 
    • 支持 ALTER ALGORITHM INPLACE/INSTANT 
    • 支持 SHOW CREATE VIEW 语句 
    • 支持 SHOW CREATE USER 语句 

PD

  • 统一,利于工具收集分析
  • 模拟器
    • 支持不同 store 可采用不同的心跳间隔时间 
    • 添加导入数据的场景 
  • 热点调度可配置化 
  • 增加 store 地址为维度的监控项,代替原有的 Store ID 
  • 优化 GetStores 开销,加快 Region 巡检周期 
  • 新增删除 Tombstone Store 的接口 

TiKV

  • 优化 Coprocessor 计算执行框架,完成 TableScan 算子,单 TableScan 即扫表操作性能提升 5% ~ 30% 实现行 BatchRows 和列 BatchColumn 的定义 
    • 实现 VectorLike 使得编码和解码的数据能够用统一的方式访问 
    • 定义 BatchExecutor 接口,实现将请求转化为 BatchExecutor 的方法 
    • 实现将表达式树转化成 RPN 格式 
    • TableScan 算子实现为 Batch 方式,通过向量化计算加速计算 
  • 统一,利于工具收集分析
  • 支持 Raw Read 接口使用 Local Reader 进行读 
  • 新增配置信息的 Metrics 
  • 新增 Key 越界的 Metrics 
  • 新增碰到扫越界错误时 Panic 或者报错选项 
  • 增加 Insert 语义,只有在 Key 不存在的时候 Prewrite 才成功,消除 Batch Get 
  • Batch System 使用更加公平的 batch 策略 
  • tikv-ctl 支持 Raw scan 

Tools

  • TiDB-Binlog
    • 新增 Arbiter 工具支持从 Kafka 读取 binlog 同步到 MySQL
    • Reparo 支持过滤不需要同步的文件
    • 支持同步 generated column
  • Lightning
    • 支持禁用 TiKV periodic Level-1 compaction,当 TiKV 集群为 2.1.4 或更高时,在导入模式下会自动执行 Level-1 compaction ,
    • 根据 table_concurrency 配置项限制 import engines 数量,默认值:16,防止过多占用 importer 磁盘空间 
    • 支持保存中间状态的 SST 到磁盘,减少内存使用 
    • 优化 TiKV-Importer 导入性能,支持将大表的数据和索引分离导入 
    • 支持 CSV 文件导入 
  • 数据同步对比工具 (sync-diff-inspector)
    • 支持使用 TiDB 统计信息来划分对比的 chunk 
    • 支持使用多个 column 来划分对比的 chunk 

转载地址:http://jubnm.baihongyu.com/

你可能感兴趣的文章
PHPExcel导出Excel文件
查看>>
使用localStorage实现历史记录搜索功能也就是天猫app历史记录存储方便浏览
查看>>
Linux常用的50个命令
查看>>
Oracle学习之三 程序控制结构
查看>>
JSP 表单request内容
查看>>
rpm与yum
查看>>
Python 性能剖分工具
查看>>
推荐个结合控件
查看>>
better-scroll:angularJs中用better-scroll封装一个滚动的指令
查看>>
打印乘法口诀
查看>>
ASP.Net零碎
查看>>
redis集群报错
查看>>
kaggle House_Price_XGBoost
查看>>
Batch Normalization 与Dropout 的冲突
查看>>
【转载】Android数据库(SqlLite)操作和db文件查看
查看>>
纯CSS3实现轮播图
查看>>
cin,getline用法和不同
查看>>
我为什么还要造轮子?欠踹?Monk.UI表单美化插件诞生记!
查看>>
[Snipaste]系统截图工具
查看>>
堆垛管理,下料管理系统
查看>>