数据库演变: 单节点-共享存储-分库分表
支持: 扩展性 强一致性 标准sql 云原生 HTAP 兼容主流生态协议
高度分层架构
mycat 痛点 提前分片,表的变更 业务更新更伤,数据导入导出,节点宕机,数据均衡
tidb 标准mysql语法 业务兼容特别强改动不大 悲观锁模式 弹性扩展 强一直高可用 云原生 HTAP(处理大数据)
支持ACID特性 原子性 一致性 隔离性 持久性
底层用的etcd 数据库 把sql语句转化成key-value形式
应用场景
海量数据 OLTP 高并发, 实时分析,时实计算
高写入,可以上云
多用于大数据业务 ,金融业务比较少因为有bug
分部署系统 CAP理论
C 一致性 每个节点 同一时间一致 通过上锁实现 数据同步成功才能访问
A 可用性 服务在正常响应时间内一直可用 不上锁 数据同步不成功才也能访问
P 容错性 某个节点挂了,整体还能用
限制
不支持:存储过程 函数 触发器 外键
兼容 mysql5.7
Tikv的MVCC多版本控制:通过key后添加版本号实现 ,实现了并发控制