浅析腾讯TDSQL

概要

官网摘要:TDSQL MySQL版(TDSQL for MySQL)是部署在腾讯云上的一种支持自动水平拆分、Shared Nothing 架构的分布式数据库。TDSQL MySQL版 即业务获取的是完整的逻辑库表,而后端会将库表均匀的拆分到多个物理分片节点。
集成的过程中,涉及后端代码改动和sql写法的改动。

整体架构流程

在这里插入图片描述

技术名词解释

  • 赤兔:专为TDSQL集群运维提供的图形化操作台

技术细节

数据库连接

客户端连接
TDSQL 提供和 MySQL 兼容的连接方式,用户可通过 IP 地址、端口号以及用户名、密码连接 TDSQL ,可通过JDBC进行连接,支持navicat和ODBC连接等。

典型特性概述

分布式实例提供水平扩容能力,适合海量数据的场景
提供了灵活的读写分离模式
支持全局的order by、group by、limit操作
聚合函数支持sum、count、avg、min、max等
支持跨set的join、子查询
支持预处理协议
支持全局唯一字段、支持sequence
支持分布式事务
支持两级分区
提供特定的sql查询整个集群的配置和状态
支持权限相关的SQL(proxy版本>=14.4),也可以通过赤兔管理系统授权

使用限制

MySQL大特性限制

不支持自定义函数、事件、表空间
不支持视图、存储过程、触发器、游标
不支持外建、自建分区
不支持复合语句,如BEGIN END、LOOP、UNION
不支持主备同步相关的SQL

MySQL小语法限制

DDL
不支持CREATE TABLE … LIKE
不支持CREATE TABLE … SELECT
不支持CREATE TEMPORARY TABLE
不支持CREATE/DROP/ALTER SERVER/LOGFILE GROUP/
不支持ALTER对分表键(shardkey)进行改名,不过可以修改类型
不支持RENAME
DML
不支持SELECT INTO OUTFILE/INTO DUMPFILE/INTO var_name
不支持query_expression_options,如:HIGH_PRIORITY/STRAIGHT_JOIN/SQL_SMALL_RESULT/SQL_BIG_RESULT/SQL_BUFFER_RESULT/SQL_CACHE/SQL_NO_CACHE/SQL_CALC_FOUND_ROWS
不支持不带列名的INSERT/REPLACE
不支持全局的DELETE/UPDATE使用ORDER BY/LIMIT(版本>=14.4支持)
不支持不带WHERE条件的UPDATE/DELETE
不支持LOAD DATA/XML
不支持SQL中使用DELAYED和LOW_PRIORITY,没有效果
不支持INSERT … SELECT(版本>14.4支持)
不支持index_hint
不支持HANDLER/DO
管理SQL
不支持ANALYZE/CHECK/CHECKSUM/OPTIMIZE/REPAIR TABLE,需要用透传语法
不支持CACHE INDEX
不支持FLUSH
不支持KILL
不支持LOAD INDEX INTO CACHE
不支持RESET
不支持SHUTDOWN
不支持SHOW BINARY LOGS/BINLOG EVENTS
不支持SHOW WARNINGS/ERRORS和LIMIT/COUNT的组合。

最佳实践

从单机实例导入到分布式实例

由于分布式数据库的分布式架构对用户透明,一般情况下,只需要预先建好表结构。可以使用 mysqldump、或其他 Navicat、SQLyog 等 MySQL 客户端进行迁移。迁移步骤如下:
第一步:准备导入导出环境
第二步:导出源表的表结构和数据
第三步:修改建表语句并在目的表中创建表结构
第四步:导入数据

从分布式实例导入到分布式实例

选择实例配置和分片配置

小结

以上就是一个刚接触TDSQL的开发做的笔记,希望这两分钟的浏览给你提供了些许帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值