TiDB中文技术文档
JSON 函数 GROUP BY 聚合函数 其他函数 精度数学 SQL 语句语法 数据定义语句 (DDL) 数据操作语句 (DML) 事务语句 数据库管理语句 Prepared SQL 语句语法 实用工具语句 JSON 支持 Connectors 和 API TiDB 事务隔离级别 错误码与故障诊断 与 MySQL 兼容性对比 TiDB 内存控制文档 Bit-value Literals Boolean 快速入门指南 TiDB 用户文档 TiDB 数据库管理 TiDB 服务 TiDB 进程启动参数 TiDB 数据目录 TiDB 系统数据库 TiDB 系统变量 TiDB 专用系统变量和语法 TiDB 服务器日志文件 TiDB 访问权限管理 TiDB 用户账户管理 使用加密连接 SQL 优化 理解 TiDB 执行计划 统计信息 语言结构 字面值 数据库、表、索引、列和别名 关键字和保留字 用户变量 表达式语法 GROUP BY 聚合函数 其他函数 精度数学 SQL 语句语法 数据定义语句 (DDL) 数据操作语句 (DML) 事务语句 数据库管理语句 Prepared SQL 语句语法 实用工具语句 TiDB SQL 语法图 JSON 支持 Connectors 和 API TiDB 事务隔离级别 错误码与故障诊断 与 MySQL 兼容性对比 TiDB 内存控制 高级功能 历史数据回溯 垃圾回收 (GC)0 码力 | 444 页 | 4.89 MB | 5 月前324-云原生中间件之道-高磊
数据一体机 存储架构 存算一体: 调整困难、只能满 足一定的吞吐量要 求 存算分离: 自动调整、拓展能 力强,满足更大吞 吐量 存储自动扩缩容 手工填加机器, 手工同步 完全自动化 高性能 存在性能瓶颈 类似日志方式的顺 序写,性能高 易用程度 封闭体系,集成各 类优秀能力较差 集成能力强,多模 态接口,兼容各类 协议 可用性、稳定性 需要强大的旁路运 维能力 简化运维、自动化 容量和故障转移 云原生数据库其特点,使得应用场 资源成本 等等都需要同时满足(和传统CAP相悖) • 接入层需要能够根据规则的路由,以及兼容各类协议接 口以及数据模型,并能根据应用的规模来自动拓展。 • 实现HTAP(OLTP+OLAP),将在线事务|分析混合计算模型 基础上,实现多模数据模型,使得集成成本经一步降低。 • 计算层,与存储彻底剥离开来,实际是微服务化架构, 可以自由伸缩,并自动故障转移,采用读写分离,适应 高负荷的场景。另外也需要进一步将计算和内存分离出 这个例子,也给数据库云原生化上的技术架构演进提 供了一个范本,并不是原封不动的迁移就变成云原生 高级能力-云原生数据库-应用的基石-3-场景 数据源 数据日志 消息数据 订单数据 云原生 DB 高并发写入 用户 MR 云DB 用户 日志消息类数据实时分析 支持企业低成本、大容量存储和查询各类日志、消息、交易、用户行为、画像等 结构化/半结构化数据,支持高吞吐量实时入库及数据实时查询,实现数据资源 智慧化运营。 优势 低成本存储:0 码力 | 22 页 | 4.39 MB | 5 月前3CurveFS rename 接口实现方案
1. 2. 1. 3. 1. 2. 背景 方案调研 Chubaofs Juicefs 方案实现 方案一:chubaofs 方案二:事务方案 方案三:利用 KV 自带的分布式事务 Q&A 1. 是否需要实现跨文件系统的 rename 操作? 2. 在多客户端情况下,是否需要加锁来保证其原子性? 3. rename 流程举例说明? 例 1:rename KV/DB 中(如 redis、tikv...),而这些 KV 本身就支持事务,所以它只要把这些操作打包成事务扔给 KV 就可以了 如果采用 Juicefs 的方案,我们需要在 metaserver 层实现分布式事务 方案实现 方案一:chubaofs 从以上的分析来看,chubaofs 的方案是可行的,参照其实现就行 方案二:事务方案 前言(关于 MVCC): MVCC ( ) MVCC 可以保证事务 ACID 中的 C(一致性) 和 I(隔离性)) 方案主要借鉴 leveldb 与 etcd(boltdb) 中事务的实现(主要利用 mvcc),方案设计如下:© XXX Page 7 of 15 整体思路如下: 在 MDS 所有 copyset 中增加一个 txid 字段,保存当前 copyset 已成功的事务 id(该事务 id 顺序递增,事务每成功一次则加一)0 码力 | 15 页 | 555.93 KB | 5 月前3Service Mesh的延伸 — 论道Database Mesh
Mesh产品多样化Service Mesh的优势 云原生 零入侵 可观察性 面向运维服务化之后,数据库怎么办? 服务 • 无状态 • 根据规则路由 • 业务方处理事务 数据库 • 有状态 • 根据SQL路由 • 数据库自动处理事务数据库的进化趋势 • SQL • ACID • 分布式 RDBMS • SQL • BASE ACID • 分布式 NoSQL • SQL • Transparent Sharding Middleware Database-as-a-Service What's Really New with NewSQL?数据库中间层的优势 系统 •事务 运维 • DBA 开发 • SQL数据库中间层应具备的能力 分片化 多副本 数据一致性 弹性化 治理能力 观察能力数据分片 App2 DB App1 App3 App2 DB1 sync read分布式事务:定义 传统事务:ACID Atomicity - 原子性 Consistency - 一致性 Isolation - 隔离性 Durability - 持久性 柔性事务:BASE Basically Available - 基本可用 Soft state -软状态 Eventual consistency - 最终一致性分布式事务:分类 XA 最大努力送达0 码力 | 35 页 | 4.56 MB | 5 月前3分布式NewSQL数据库TiDB
12 12 12 12 13 14 14 14 14 15 15 16 16 18 ⽬录 ⽬录 ⽬录 ⽬录 概览 概览 什么是 什么是TiDB 产品优势 产品优势 ⾼度兼容 MySQL 动态扩展 分布式事务 HTAP 真正⾦融级⾼可⽤ 适⽤场景 适⽤场景 对数据⼀致性及⾼可靠、系统⾼可⽤、可扩展性、容灾要求较⾼的⾦融⾏业属性的场景 对存储容量、可扩展性、并发要求较⾼的海量数据及⾼并发的 OLTP 场景 connection to MySQL server during query Q5: TiDB 是否⽀持 select for update? Q6: 事务太⼤(insert ... select),或者select..for update,以及⽹络问题,执⾏事务TiDB会返回错误,有什么办法可以区分吗? Q7: TIDB能否⽀持session级别的悲观锁 Q8:TiDB binlog的⽬标端在以下情况不⽀持udb-mysql5 分布式NewSQL数据库 TiDB Copyright © 2012-2021 UCloud 优刻得 10/120 什么是 什么是TiDB TiDB 是 PingCAP 公司研发的开源分布式关系型数据库。定位于在线事务处理、在线分析处理 HTAP 的融合型数据库产品。兼容 MySQL 协议,⽀持⽔平伸缩,具备强⼀致性和⾼可⽤性。 UCloud 基于PingCAP的TiDB,实现TiDB在公有云的产品化,给⽤⼾提供0 码力 | 120 页 | 7.42 MB | 5 月前3PingCAP TiDB&TiKV Introduction OLTP
挑战:擅长简单读写,无法处理 交易类数据及复杂业务逻辑的特 性限制其在非互联网领域的发展 • 背景:随着互联网向银行、电信、电 力等方向的渗透,传统行业数据量 迅速提升,需要同时满足低成本、线 性扩容及能够处理交易类事务的新 型数据库,大数据的存储刚需不可 避免 • 挑战:基于 Google Spanner/F1 论 文,基础软件最前沿的领域之一,技 术门槛最高 资料来源:公开资料整理 数据库技术发展演进 Google TiDB Google Spanner / F1 - The First NewSQL ● 全球级别分布式 / 跨数据中心复制 ○ Paxos ● ACID 事务支持 ○ 两阶段提交 ● 无锁快照读 / 无锁只读事务 ○ MVCC ● External Consistency ○ TrueTime API ● SQL 支持 ● the Next BigTable Powered By Jeff 兼容接 口轻松处理高并发实时写入、实时查询和分析,极大的简化程序设计、应用维护 ,轻松应对大数据存储问题。 ● 高并发、高吞吐、完整的跨行事务支持、强一致性 通过简单的增加节点,提供无上限的、线性扩展的的高并发、高吞吐的处理能力 ,卓越的集群处理能力。同时提供跨行事务处理能力。 我们的数据库能解决什么问题 - 2 ● 高可用、跨数据中心多活 分布式算法 Raft 自动完成多副本写入、数据分片(region)的拆分、聚合、重分布0 码力 | 21 页 | 613.54 KB | 5 月前3MySQL 兼容性可以做到什么程度
中间件只是起点,PolarDB-X 可能是离终点最近的那个 对近十年的探索以及五年的上云 经验进行重新思考,面向未来设 从运维视角实现计算存储一体化 计新架构 产品形态 基于MySQL XA实现分布式事务 基于外部组件进行扩容 支持扩容 分布式事务 一体化尝试 Review 2.0 开源 2016 2017 2018 2019 2020 2021 2021年10月20日,云栖大会宣 布开源 2020年5月,PolarDB-X 多节点产生多个增量事件队列 • 不同队列中事件之间的顺序 • 分布式事务完整性 • DDL 引起的多 Schema 版本问题 • 扩缩容引起的队列增减 ? Maxwell Debezium A: PolarDB-X 全局 Binlog:完全兼容 • 与 MySQL Binlog 体验完全一致 • 保障分布式事务完整性 • 透明:下游系统或工具改造成本为零 • 实现复杂度高 Q: 保证分布式事务完整性与顺序 • 同一连接串 已验证工具或系统 • MySQL Slave(change master) • DTS • Canal/CloudCanal • Maxwell • Debezium • Streamsets • mysql-binlog-connector-java • Flink CDC 性能指标 • 25w rps • 8GB 大事务 • 5s0 码力 | 18 页 | 3.02 MB | 5 月前312-从数据库中间件到云原生——Apache ShardingSphere 架构演进-秦金卫
摩尔定律失效 分布式崛起 1.数据库框架 随着数据量的增大,读写并发的增加,系统可用性要求的提升,单机 MySQL面临: 1、容量有限,难以扩容 2、读写压力,QPS过大,特别是分析类需求会影响到业务事务 3、可用性不足,宕机问题 1.数据库框架 1.数据库框架 计算机领域的任何问题都可以通过增加一个中间层来解决。 数据库框架技术:在业务侧增强数据 库的能力。 直接在业务代码使用。 Spanner Aurora GaussDB PolarDB OceanBase TiDB Cockroach DB …… 3.分布式数据库 1.水平扩展性 2.计算存储分离 3.分布式事务 4.多副本机制 5.SQL接入支持 6.云原生支持 容量 性能 一致性 可高用 易用性 伸缩性 代替单机数据库(注意,主要解决容量问题)。 3.分布式数据库 1、需要较多的机器资源; 2、 是一套开源的分布式数据库中间件解决方案组成的生 态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款相互独立,却又能够 混合部署配合使用的产品组成。 它们均提供标准化的数据分片、分布式事务和 数据库治理功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的 应用场景。 5.数据库解决方案 Level 3:Sharding-Proxy中间件(3.x+) Level 2:Sharding-JDBC框架(10 码力 | 23 页 | 1.91 MB | 5 月前3Curve文件系统元数据管理
300 5、client给server1发送请求: 修改记录 "C"的inode link++ 这里涉及到增加dentry和增加link,这两个操作不在一个节点上,也需要使用分布式锁进行控制,做成事务。 list:遍历/A目录 1、client给server0发送请求: parentid 0 + name "A",查询"A"的inodeid为100 inode 100,查询的"A"的inode信息。 这里rename的时候,涉及到inode不需要变动,只是dentry改变。存在着一个中间状态,新的dentry生成,旧的dentry还未删除,这对文件的inode本身不会改变。这里如何保证事务性,上半年的demo先不考虑,留 到下半年解决。 hardlink:生成一个hardlink /B/E,指向文件/A/C 1、client给server0发送请求: parentid 0 + name 400 5、client给server0发送请求: 修改记录 "C"/"E"的inode link++ 这里只需要增加一台dentry,然后inode中link++。同样这里的操作也分为两步,事务性也需要处理,留到下半年考虑。 6、curve文件系统的多文件系统的设计 curve文件系统设计上支持多文件系统。文件系统的super block元数据设计。 多文件系统相对于单文件系统,多了0 码力 | 24 页 | 204.67 KB | 5 月前3CurveFS Client 概要设计
parent,并修改name为newname。 二是,在new parent创建新的inode和dentry,然后删除旧的parent下的inode和dentry 两者都涉及到rename的事务性的问题?( ) 这里可能还需要详细分析到底是否需要完整的事务的4个特性acid,还是只需要实现其中部分 目前阶段rename可先不实现,但是可以先考虑一些方案。 symlink & readlink void (*symlink)0 码力 | 11 页 | 487.92 KB | 5 月前3
共 46 条
- 1
- 2
- 3
- 4
- 5