2024年11月TiDB下载-TiDB(分布式SQL数据库) V4.0.15官方版下载

发布时间:

  ⑴TiDB 是 PingCAP 公司自主设计研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容金融级高可用实时 HTAP云原生的分布式数据库兼容 MySQL . 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)OLAP (Online Analytical Processing)HTAP 解决方案。TiDB 适合高可用强一致要求较高数据规模较大等各种应用场景。

  ⑵一键水平扩容或者缩容

  ⑶得益于 TiDB 存储计算分离的架构的设计,可按需对计算存储分别进行在线扩容或者缩容,扩容或者缩容过程中对应用运维人员透明。

  ⑷数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确保数据强一致性且少数副本发生故障时不影响数据的可用性。可按需配置副本地理位置副本数量等策略满足不同容灾级别的要求。

  ⑸实时 HTAP

  ⑹提供行存储引擎 TiKV列存储引擎 TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft Learner 协议实时从 TiKV 复制数据,确保行存储引擎 TiKV 和列存储引擎 TiFlash 之间的数据强一致。TiKVTiFlash 可按需部署在不同的机器,解决 HTAP 资源隔离的问题。

  ⑺云原生的分布式数据库

  ⑻专为云而设计的分布式数据库,通过 TiDB Operator 可在公有云私有云混合云中实现部署工具化自动化。

  ⑼兼容 MySQL . 协议和 MySQL 生态

  ⑽兼容 MySQL . 协议MySQL 常用的功能MySQL 生态,应用无需或者修改少量代码即可从 MySQL 迁移到 TiDB。提供丰富的数据迁移工具帮助应用便捷完成数据迁移。

  ⑾数值类型:BITBOOL|BOOLEANSMALLINTMEDIUMINTINT|INTEGERBIGINTFLOATDOUBLEDECIMAL。

  ⑿日期和时间类型:DATETIMEDATETIMETIMESTAMPYEAR

  ⒀字符串类型:CHARVARCHARTEXTTINYTEXTMEDIUMTEXTLONGTEXTBINARYVARBINARYBLOBTINYBLOBMEDIUMBLOBLONGBLOBENUMSET。

  ⒁JSON 类型。

  ⒂算术运算符位运算符比较运算符逻辑运算符日期和时间运算符等。

  ⒃三字符集及排序规则

  ⒄字符集:UTFUTFMBBINARYASCIILATIN。

  ⒅排序规则:UTFMB_GENERAL_CIUTFMB_GENERAL_BINUTF_GENERAL_CIUTF_GENERAL_BINBINARY。

  ⒆控制流函数字符串函数日期和时间函数位函数数据类型转换函数数据加解密函数压缩和解压函数信息函数JSON 函数聚合函数窗口函数等。

  ⒇五SQL 语句

  ⒈完全支持标准的 Data Definition Language (DDL) 语句,例如:CREATEDROPALTERRENAMETRUNCATE 等。

  ⒉完全支持标准的 Data Manipulation Language (DML) 语句,例如:INSERTREPLACESELECTSubqueriesUPDATELOAD DATA 等。

  ⒊完全支持标准的 Transactional and Locking 语句,例如:START TRANSACTIONMITROLLBACKSET TRANSACTION 等。

  ⒋完全支持标准的 Database Administration 语句,例如:SHOWSET 等。

  ⒌完全支持标准的 Utility 语句,例如:DESCRIBEEXPLAINUSE 等。

  ⒍完全支持 SQL GROUP BY 和 ORDER BY 子语句。

  ⒎完全支持标准 SQL 语法的 LEFT OUTER JOIN 和 RIGHT OUTER JOIN。

  ⒏完全支持标准 SQL 要求的表和列别名。

  ⒐支持 Range 分区。

  ⒑支持 Hash 分区。

  ⒒支持非空约束。

  ⒓支持主键约束。

  ⒔支持唯一约束。

  ⒕支持基于 RBAC (role-based aess control) 的权限管理。

  ⒖支持密码管理。

  ⒗支持通信数据加密。

  ⒘支持 IP 白名单。

  ⒙支持审计功能。

  ⒚支持快速备份功能。

  ⒛支持通过工具从 MySQL 迁移数据到 TiDB。

  ①支持通过工具部署运维 TiDB。

  ②查看创建和删除数据库

  ③TiDB 语境中的 Database 或者说数据库,可以认为是表和索引等对象的集合。

  ④使用 SHOW DATABASES 语句查看系统中数据库列表:SHOW DATABASES

  ⑤使用名为 mysql 的数据库:USE mysql

  ⑥使用 SHOW TABLES 语句查看数据库中的所有表。例如:SHOW TABLES FROM mysql

  ⑦使用 CREATE DATABASE 语句创建数据库。语法如下:CREATE DATABASE db_name [options]

  ⑧例如,要创建一个名为 samp_db 的数据库,可使用以下语句:CREATE DATABASE IF NOT EXISTS samp_db

  ⑨添加 IF NOT EXISTS 可防止发生错误。

  ⑩使用 DROP DATABASE 语句删除数据库。例如:DROP DATABASE samp_db

  Ⅰ修复在新会话中执行 SHOW VARIABLES 速度较慢的问题。该修复回退了中的部分更改,可能会引起兼容性问题。

  Ⅱ以下 Bug 修复涉及执行结果变化,可能引起兼容性变化:

  Ⅲ修复了 greatest(datetime) union null 返回空字符串的问题

  Ⅳ修复了 having 可能执行错误的问题

  Ⅴ修复了当 between 表达式两边的 collation 不一致会导致查询结果错误的问题

  Ⅵ修复了 extract 函数的参数是负数时查询结果错误的问题

  Ⅶ修复了当 group_concat 函数包含非 bin 的 collation 时查询结果错误的问题

  Ⅷ修复将 Apply 算子转为 Join 时漏掉列信息的问题

  Ⅸ修复将非法字符串转为 DATE 类型时的非预期行为

  Ⅹ修复开启 New Collation 时多列的 count distinct 返回结果错误的问题

  ㈠支持动态修改 TiCDC 配置

  ㈡基于直方图的 row count 来触发 auto-analyze

  ㈢分离处理读写的 ready 状态以减少读延迟

  ㈣TiKV Coprocessor 慢日志只考虑处理请求所花费的时间

  ㈤当 slogger 线程过载且队列已满时,删除日志而不是阻塞线程

  ㈥减少 Resolved TS 消息的大小以节省网络带宽

  ㈦提升了 PD 之间同步 Region 信息的性能

  ㈧Backup & Restore (BR)

  ㈨并发执行分裂和打散 Region 的操作,提升恢复速度

  ㈩遇到 PD 请求错误或 TiKV I/O 超时错误时重试 BR 任务

  恢复大量小表时减少空 Region 的产生,避免影响恢复后的集群运行

  创建表的时候自动执行 rebase auto id 操作,省去了单独的 rebase auto id DDL 操作,加快恢复速度

  Dumpling

  获取表信息前过滤掉不需要导出的数据库,提升 SHOW TABLE STATUS 的过滤效率

  使用 SHOW FULL TABLES 来获取需要导出的表,因为 SHOW TABLE STATUS 在某些 MySQL 版本上运行存在问题

  支持对 MySQL 兼容的特定数据库进行备份,这些数据库不支持 START TRANSACTION ... WITH CONSISTENT SNAPSHOT 和 SHOW CREATE TABLE 语法

  完善 Dumpling 的警告日志,避免让用户误以为导出失败

  TiDB Lightning

  支持导入数据到带有表达式索引或带有基于虚拟生成列的索引的表中

  TiCDC 总是内部从 TiKV 拉取 old value,提升 TiCDC 易用性

  当某张表的 Region 从某个 TiKV 节点全部迁移走时,减少 goroutine 资源的使用

  在高并发下减少 workerpool 中创建的 goroutine 数量

  异步执行 DDL 语句,不阻塞其他 changefeed

  为所有 KV 客户端创建全局共享的 gRPC 连接池

  遇到无法恢复的 DML 错误立即退出,不进行重试

  优化 Unified Sorter 使用内存排序时的内存管理

  为执行 DDL 语句新增 Prometheus 监控指标

  禁止使用不同的 major 和 minor 版本启动 TiCDC 节点

  移除 file sorter 文件排序器

  清理被删 changefeed 的监控数据和已退出处理节点的监控数据

  优化 Region 初始化后的清锁算法

  修复构建 range 时未正确给二进制字面值设置排序规则的问题

  修复当查询包含 GROUP BY 和 UNION 时报错 "index out of range" 的问题

  修复当 TiKV 有 tombstone store 时 TiDB 发送请求失败的问题 #

  移除文档中未记录的 /debug/sub-optimal-plan HTTP API

  修复 case when 表达式的字符集不正确的问题

  修复数据恢复期间启用 TDE 时 BR 报告文件已存在错误的问题

  修复损坏的快照文件可能会造成磁盘空间无法回收的问题

  修复 TiKV 过于频繁删除陈旧 Region 的问题

  修复 TiKV 频繁重新连接 PD 客户端的问题

  从加密文件字典中检查陈旧的文件信息

  修复 PD 未能及时修复 Down Peer 副本的问题

  修复了 PD 在扩容 TiKV 时可能会 Panic 的问题

  修复多盘部署时数据不一致的潜在问题

  修复当查询过滤条件包含诸如 CONSTANT<<=>>= 或 COLUMN 时出现错误结果的问题

  修复写入压力大时 metrics 中 store size 不准确的问题

  修复 TiFlash 多盘部署时无法恢复数据的潜在问题

  修复 TiFlash 长时间运行后无法回收 Delta 历史数据的潜在问题

  Backup & Restore (BR)

  修复了备份和恢复中平均速度计算不准确的问题

  修复集成测试中遇到由于 DDL Job 重复导致的 ErrSchemaStorageTableMiss 错误

  修复遇到 ErrGCTTLExceeded 错误时 changefeed 无法被删除的问题

  修复 capture list 命令输出中出现已过期 capture 的问题

  修复 TiCDC processor 出现死锁的问题

  修复重新调度一张表时多个处理器将数据写入同一张表引发的数据不一致的问题

  修复元数据管理出现 EtcdWorker 快照隔离被破坏的问题

  修复因为 DDL sink 错误导致 changefeed 不能被停止的问题

  修复一个 TiCDC Open Protocol 的问题:当一个事务中没有任何数据写入时候,TiCDC 产生一个空消息

  修复 TiCDC 在处理无符号 TINYINT 类型时崩溃的问题

  减小 gRPC 窗口来避免 Region 数量过多时触发内存溢出

  修复因 TiCDC capture 过多 Regions 出现的 OOM 问题

  修复将 mysql.TypeString, mysql.TypeVarString, mysql.TypeVarchar 等类型的数据编码为 JSON 时进程崩溃的问题

  修复在创建新的 changefeed 时可能发生的内存泄漏问题

  修复同步任务从一个表结构变更的 finish TS 开始时 DDL 处理失败的问题

  修复 owner 在执行 DDL 语句时崩溃可能导致 DDL 任务丢失的问题

  修复 SinkManager 中对 map 的不安全并发访问