目录
前言:
我在接触国产数据库之前,一直从事Oracle的运维工作,在漫长岁月里面,直到2017年才听说了TDSQL数据库,后来发现国产数据库如雨后春笋般涌出,竞争相当激烈。
有幸公司准备采用国产化数据库,在2020年对一些国产化数据库进行调研。在众多数据库中TDSQL进入了我的眼帘,跟了TDSQL在我公司整个POC的过程,也有幸参加了2020年12月24日的腾讯云数据库2020年度盛典。
目前公司部分系统已经用上了TDSQL,下面分享一下使用体验。
-
TDSQL架构体验
说起TDSQL架构,大家可以从网上资料中找到很多资料,最经典的图如下:
总结起来就是:
- 赤兔管理平台:统一运维管理平台,是DBA使用最多的图形化界面。
- OSS:http协议操作接口,如果多个机器用一个赤兔管理,也是通过OSS来对接的。
- scheduler/manager:运维管理模块,负责高可用切换,资源调度等。
- Zookeeper:决策模块,保存集群元数据,提供配置维护、选举决策、路由同步等。
- SQL引擎(Proxy):计算节点,负责权限管理。SQL转发,读写分离等。
- 数据节点(Set):部署MySQL数据库服务,并包含Agent状态监控模块。
关于负载均衡的探讨:
看一下上图的“负载均衡”,一般是F5硬负载,如果没有也可以使用LVS软负载。其实腾讯原厂的同事建议使用负载均衡,把请求按照一定规则发送到Proxy节点。但是在我们实践过程中,还是有很多实际情况与预想不符。
首先就是F5设备不符合国产化需求,如果使用国产化Array产品,又有TDSQL适配难度;然后LVS软负载不符合本公司对负载的要求,也未采纳;最后,根据业务特点我们应用不对外,很多都是长连接,这样一来对负载均衡的需求则不高。
所以,可以采用应用直连Proxy的方式,当然也会区分几类不同的业务系统,连接指定的Proxy,如果出现问题,则由应用自行切换选择可用Proxy。
关于使用虚拟机还是物理机:
如果是测试环境,虚拟机就行了,最少可以使用3台。到了生产环境,建议大家还是按照官方文档来看,我手头的是《TDSQL产品文档_v10.3.17.4.0》,有需要的小伙伴可以私信我。
按照文档,核心组件中Proxy和DB节点建议用物理机,这个对于分布式实例,对性能有要求的集群是必要的,其余节点我们选择的仍然是虚拟机。
后期新的业务投产的时候,为了共用集群,会增加Proxy和DB节点,但是由于只是用于基础库,数据量不大,且为非分布式实例。这时我们选择使用虚拟机来实现。基于企业实际情况,这也许是节约成本的最佳选择。
关于备份: