参加了TiDB 4.0的21天培训,带你21天掌握TiDB。
课程内容1:TiDB的适用场景
今天我们聊聊OLTP的适用场景,通过今天的学习,可以了解TiDB典型适用场景,可以大致判断出哪些场景适合TiDB,而哪些场景不适合TiDB。
TiDB适用场景
TiDB支持SQL协议,兼容MySQL,可以很友好的使用,然而TiDB可以无限弹性扩展,支撑大数据系统。它是一个OLTP系统,支持ACID特性,支持二级索引,几乎无需任何改动可以从MySQL迁移至TiDB。
支持事务的TP,支持查询分析的AP,TiDB在底层帮你实现上游做生产交易,下游对接数据分析,而两者之间由TiDB延迟系统调度,干了ETL的事情,而比ETL简单更有时效。
TiSpark集成Spark来实现大数据处理,TiDB提供插件可以对接已有的Spark系统,通过TiDB来分析统计查询数据。
TiDB也有一些场景可能不适用,如:
- 当数据可以很优秀的在单机数据库运行的时候,这个时候没有必要上TiDB
- 当系统有非常重度的分析需求,看上去和上面说的AP能力冲突,其实不然,这里说的重度,如:有多张表,每张表有几亿行,多张表进行join关联查询,出现巨量笛卡尔积,这个时候不太适合
- 当表关联查询产生的中间结果集,超过了TiDB的SQL层物理级内存可以容纳的最大数据,这个时候也不太适合
- 当对数据库的访问延迟要求是亚毫秒级(简单来说不能超过1毫秒),这时候也不太适合。题外话这种延迟级别要求的数据库可以考虑内存数据库或者是分布式缓存来支持了
总结来说TiDB是一个提供TP和AP能力,偏向于交易和实时分析的一个系统,而非传统意义上的重型数据仓库。
课程内容2:如何连接到TiDB
TiDB使用MySQL协议,你可以使用任意MySQL客户端连接TiDB,像使用MySQL一样使用TiDB。
客户端发起请求连接到TiDB节点,因为TIDB节点时无状态,数据存储在数据节点,客户端连接到任意节点即可。TiDB节点可以动态扩展,当有大量连接上来,TiDB这一层可以负载均衡,提高并行能力。
TiDB集群是使用MySQL协议,并不完全兼容MySQL,比如不支持外键、存储过程、触发器,兼容绝大多数MySQL5.7语法,这足够使用了。因为兼容MySQL,并没有自己专属的客户端,常用的连接工具有:
命令行:
图形界面:
常用的应用程序驱动支持也非常多
python支持
java支持
Golang支持
以上是TiDB 4.0的21天培训第4天学习的内容,自己做的学习笔记,图片使用的是课件图片,学习分享,共同进步。喜欢我的可以关注我,继续看后面的学习内容,让我们一起学习掌握TiDB