热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TiDB:会进化的数据库

在墨天轮每月发布的“国产数据库排行版”上,在近140个参与排名的数据库厂商中,总能看到PingCAP的TiDB居于榜首。这个结果与客户对数据库的需求变化、技术演

在墨天轮每月发布的“国产数据库排行版”上,在近140个参与排名的数据库厂商中,总能看到PingCAP的TiDB居于榜首。这个结果与客户对数据库的需求变化、技术演进的成熟度高度相关。

TiDB是一个开源的NewSQL数据库,支持HTAP(Hybrid Transactional and Analytical Processing),既支持事务型操作,也支持数据分析。同时TiDB和MySQL的大多数协议都是兼容的。支持水平扩展,强一致性和高可用。TiDB的目标是提供一个一站式数据库解决方案。包括OLTP(Online Transactional Processing), OLAP (Online Analytical Processing), and HTAP services。据了解,TiDB 适合高可用、数据强一致要求较高、数据规模较大等各种场景。

随着数字化进程加速,云和开源在今天扮演了越来越重要的角色:在中国,2020 年公有云部署模式的关系型数据库超过传统部署模式;在全球,2021年开源数据库的流行度首次超越商业数据库。以TiDB为例,云和开源已经成为推动 TiDB 产品持续发展的两大引擎。TiDB 为用户本地环境提供技术领先、稳定高效、安全可靠的企业级 HTAP 数据库产品,满足各类数字化场景对“实时数据运营”的需求。与此同时,TiDB 不断地将企业级 HTAP 能力向云端演进,为不同类型用户的云端部署提供多样化选择。

由此可见,“会进化”的数据库似乎是PingCAP TiDB的关键词。近日,笔者采访到PingCAP联合创始人兼CTO黄东旭,就TiDB的相关话题进行了深入探讨。


图片.png

上图为:PingCAP联合创始人兼CTO黄东旭



TiDB是为真实的客户产品市场而生

黄东旭说:“有很多的创业者或者说很多优秀的项目在设计之初,考虑的重点并不是技术含量怎么样,技术多么厉害或者多么难做,而是要找到合适的产品市场。很幸运,PingCAP 在2016至2017年推出第一个 TiDB 版本 GA 的时候,找准的第一个产品市场就是 TiDB 是兼容 MySQL 数据库”。

事实确实如此,对用户而言,业务增速快是一个非常重要的特点,而且是急需解决的难题,而数据库是整个系统里最难拓展的一个关键节点,尤其是关系型数据库,比如 MySQL、PG、Oracle,这些系统在诞生的时候并没有考虑到未来可能遇到如此庞大的数据,所以在过去的十年内,数据库这个领域里最大的需求就是可以帮助关系型数据库解决扩展性这一问题。

TiDB产品市场就是假设有一个可以无限扩展的MySQL,用户可以在业务增长的时候不用去操心MySQL本身的扩展性问题,也不用关心集群变大了以后,这些很令人头疼的维护成本或者需要让应用停下来去给业务做改造。

TiDB的成功三宝:永远的用户视角、合适的价值传递以及成熟度足够的产品

黄东旭说:“要具备永远的用户视角。从用户的角度来看,一个成功的数据库不一定要有很炫酷的技术,而是如何用产品赢得用户信任?如何把产品价值传递给客户?如何让产品真正成熟?最终让用户安全安心使用数据库产品。”

首先,TiDB刚进入市场时,作为一个新的database产品,需要去替换MySQL或者像Oracle的OLTP System,OLTP众所周知,一般用于客户的核心业务,因此,必须依靠产品本身的能力赢得用户的信任,才可能做OLTP System的替换。

其次,用合适的方式把产品价值传递给客户。

第三,解决产品成熟度问题,对数据库产品而言,产品必须稳定安全,不能一用就挂。


开源+云,打造会进化的数据库

黄东旭进一步指出:“上面这三个问题最终会触碰到数据库的本质,数据库软件需要能够自行进化,当软件的迭代速度和进化速度提升上去,才能去做扩张,这是数据库的一个核心指标。”

因此,TiDB优化的方向是提升迭代速度,通过选择Open-Source,来加速数据库软件本身的迭代速度。

黄东旭说:“如果说迭代速度是数据库的核心和关键,发布周期便是衡量迭代速度的一个特别关键点,这其中,云是一个很好的技术选择。云是未来,云真正给客户带来价值的不仅仅是在于弹性等特点,对基础软件来说,云特别重要的点在于可以让产品的迭代速度和交付速度变得更快”。

另一方面,当迭代速度变得很快,对企业客户而言,会担心数据库的稳定性。这个问题如何解决?黄东旭说:“PingCAP TiDB通过提前让用户了解发版节奏来解决上述问题。其核心在于当数据库内核不断以更快的速度往前迭代时,如何让在私有环境下使用TiDB的用户有一个更加稳定、更加放心,同时更加明确的版本,知道这些版本TiDB PingCAP官方会维护很长时间,这是我们对客户更加负责的一种方式”。为此,PingCAP 除了提供迭代、发版速度非常快的 DMR 版本(Development Milestone Release),还向广大企业级用户推出 LTS 版本(Long Term Support),提供强大的功能与稳定的体验,为企业级用户提供了更安全稳定的选择。

事实上,真正的迭代速度或者说更有价值更有意义的迭代速度在于软件怎么帮助应用开发者更快的开发出他的应用,比如OSS insight,这是 PingCAP 推出的一个非常酷的开源项目,它将 GitHub 上面有 API 以来所有的 47 亿条数据都下载下来,为所有开源项目提供一个更好的 deep insight。47亿条数据说大不大,说小也不小,很难放到一个单节点 MySQL里,一定得做分库分表。而如果用传统意义上的技术架构,database一般还要通过ETL,通过AP的这些数据库,再通过反向的ETL回填到在线服务器上的database上,流转了这么长一圈以后还是实时数据吗?在使用TiDB以后,HTAP这种新型database,便能够极大的减低这种应用开发的复杂性,从而能给应用和业务赢得更多时间。OSS insight 整个网站只花了两个人,一个礼拜的时间就做出来了。这个背后体现出:真正的迭代速度或者说更有价值或更有意义的迭代速度在于你的软件怎么帮助应用开发者更快地开发出他的应用。

正如网易数据库专家,杭研数据库运维团队负责人倪山三所说,“TiDB 对我们来说并不是分布式数据库0到1的改变,是系列痛点上1到1.1创新的集合。我们希望通过新一代数据库,来解决或改善当前MySQL分布式中间件模式使用中的某些问题”。这可能就是TiDB在墨天轮每月发布的“国产数据库排行版”上一直排列靠前的真正原因。作为一款可以自进化的数据库产品,满足用户的最终需求才有可能一直向前。

文章来源:https://baijiahao.baidu.com/s?id=1737479167743163322&wfr=spider&for=pc



推荐阅读
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 先看一段错误日志:###Errorqueryingdatabase.Cause:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransie ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
author-avatar
mobiledu2502871703
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有