TiDB 4.0 GA版本

2020-06-20 12:33:27

今天,我很自豪地宣布TiDB4.0已经全面上市(GA)。TiDB是一个弹性的、实时的混合事务/分析处理(HTAP)数据库,最棒的是,它现在已经为云计算做好了准备。

2020年上半年是一个充满不确定性和不可预测性的世界,现在是IT技术跟上潮流的时候了,尤其是数据库,因为它是世界上每一项业务的基础。在之前的一篇文章中,我们的首席技术官Ed Huang分享了他对数据库未来的看法。我们相信数据库的未来是关于统一性、适应性和智能性的。正如您在TiDB4.0预览版中看到的那样,我们的新版本离实现这一愿景又近了一大步。

TiDB 4.0在其稳定性、易用性、性能和云本地服务方面取得了很大进步。版本4.0中的新特性也让TiDB支持更多的应用场景,我们的许多用户已经在他们的生产环境中测试和采用了4.0版本。现在,我们相信TiDB4.0GA版本已经成为正确的数据库解决方案,让您为不可预测的世界做好准备。

TiDB 4.0是一款真正弹性的实时HTAP云原生数据库,可满足您各种场景下的应用需求。事实上,TiDB 4.0可以完成三个不同数据库的工作:

如果您的应用程序数据是相关的,并且您需要保证原子性、一致性、隔离性、持久性(ACID)遵从性,同时您的存储容量应该在可控范围内,那么TiDB可以像传统关系数据库一样运行。

如果您的应用程序数据分散在系统中并且没有关联,如果您需要扩展存储容量但不需要符合ACID,那么TiDB可以像NoSQL数据库一样运行。

如果您需要进行实时数据分析并关联多个表来执行聚合操作,那么TiDB可以像一个分析数据库一样运行。

TiDB 4.0是在线事务处理(OLTP)和在线分析处理(OLAP)应用程序处理HTAP工作负载的一站式解决方案。即使您不确定您的应用程序是OLTP还是OLAP,您也可以在TiDB上高效地运行您的应用程序。

TiFlash是TiDB的扩展分析引擎和列存储。包含TiFlash的TiDB数据库允许您执行实时HTAP分析。

实时一致性强。TiDB将更新的数据实时复制到TiFlash,以确保TiFlash处理最新(而不仅仅是最新)数据。

自动存储选择。TiDB智能地决定是选择行存储还是选择列存储来处理各种查询场景,而无需您的干预。

无服务器计算是云服务领域中一个非常重要的概念。在TiDB 4.0中,我们不仅支持云中的实时HTAP分析,还实现了第一个版本的弹性调度机制。这使得TiDB成为云中真正的无服务器数据库。

现在,您只需要使用最小的集群拓扑将您的TiDB集群部署在云中(或您自己的Kubernetes集群),并配置规则即可。例如,一条规则可能是,当TiDB CPU使用率超过50%时,会自动添加一个TiDB节点。然后,根据您自己的应用程序负载,TiDB会自动:

自动缩放。当服务高峰到来时,TiDB会自动增减实例以满足服务请求数量。

自动拆分读取负载较高的热区(TiDB存储引擎中数据存储的基本单位)。

隔离热点。TiDB将热门应用程序数据移动到单独的实例,以确保它不会影响其他应用程序。

此功能是TiDB 4.0中的新功能。我们相信,它将是未来许多产品可能性的基石。

与3.0版本相比,TiDB 4.0实现了显著的性能提升。对于OLTP场景,Sysbench和TPC-C基准测试改进了30%到50%。对于OLAP场景,在一组22个查询中,TPC-H性能平均提高了大约100%。此外,TiFlash极大地增强了TiDB的实时分析能力,而不会影响OLTP任务。

我们在16个表上运行了Sysbench测试,每个表包含1000万行数据。有关系统配置和我们运行的测试的更多详细信息,请参阅Sysbench性能测试报告。

测试表明,与3.0版本相比,TiDB 4.0的Point Select性能提升了约14%,读写性能提升了31%。

在TPC-C测试中,我们发现TiDB4.0的性能提高了大约50%。有关测试详细信息,请参阅TiDB TPC-C性能测试报告。

我们在TiDB 3.0.13和TiDB 4.0上运行TPC-H查询,以比较它们的OLAP功能。有关测试详细信息,请参阅TiDB TPC-H性能测试报告-v4.0 vs.v3.0。

测试结果表明,TiDB的查询性能显著提高-平均约为100%。

TiDB4.0在安全性、生态系统和特性方面也有许多新特性和改进。

TiDB4.0引入了TiUP,这是一个组件管理器,可以将安装和配置TiDB集群简化为几个简单的命令。使用TiUP,您只需一分钟即可将集群设置好!有关详细信息,请参阅使用TiUP部署TiDB群集。

分布式数据库中的问题很难排除故障,因为系统信息分散在不同的机器上。TiDB4.0提供了TiDB Dashboard,这是一个带有各种内置小部件的图形界面,让您可以轻松地诊断、监控和管理集群。您可以阅读这些博客帖子以了解更多信息:

随着用户在TiDB中存储的数据越来越多,快速备份和恢复数据成为一大挑战。在TiDB 4.0中,我们提供Backup&;Restore(BR),这是一款分布式备份和还原工具,可为10 TB的数据提供高备份和还原速度-1 Gb/s或更高。br已经支持备份到AWS S3,不久将支持备份到Google云存储。要了解更多详细信息,请参阅我们的BR文档和博客文章。

在TiDB4.0中,我们引入了一个新的TiDB变化数据捕获框架TiCDC。这一开源功能将TiDB的增量更改复制到下游平台。有关更多详细信息,请参阅TiCDC:100 TB以上群集的复制延迟(毫秒)。

以前,TiDB中的事务大小被限制为100MB。但TiDB 4.0将事务大小限制设置为10 GB。现在,您可以在单个事务中轻松处理大量数据,而不必考虑批处理。有关详细信息,请参阅TiDB中的大型事务。

TiDB4.0已正式采用悲观锁定作为其默认事务模型。有了悲观锁定,TiDB4.0与MySQL的兼容性更好,您也可以更方便地将应用程序从MySQL迁移到TiDB。有关更多详细信息,请参阅TiDB悲观事务模型和悲观锁定:高负载下更好的MySQL兼容性,更少的回滚。

在TiDB的长时间运行期间,随着数据的更改,优化器可能会选择错误的索引,然后可能会发生缓慢的查询。这会影响应用程序的正常运行。为了解决这个问题,TiDB4.0引入了SQL Plan Management(SPM),这是一种机制,可以将优化器的搜索空间缩小到被证明执行良好的执行计划。SPM可避免因意外计划更改而导致的性能下降,而且您不必更改应用程序代码。要了解更多信息,请参阅SQL计划管理:再也不用担心查询速度慢的问题。

这篇文章只展示了TiDB4.0中的几个亮点。有关特性和改进的完整列表,请查看TiDB4.0GA发行说明。如果您正在运行较早版本的TiDB,并想尝试使用4.0,请阅读使用TiUP升级TiDB。我们也欢迎您加入我们的Slake社区,并将您的反馈发送给我们。

此版本是TiDB在成为“未来的数据库”的道路上向前迈出的一大步。我们要感谢我们所有的贡献者和TiDB用户,他们帮助我们将TiDB塑造成今天的样子。