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的相关话题进行了深入探讨。
上图为: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在墨天轮每月发布的“国产数据库排行版”上一直排列靠前的真正原因。作为一款可以自进化的数据库产品,满足用户的最终需求才有可能一直向前。