首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

TiDB初探

翻了一下TiDB的文档,对TiDB有了个大概的了解。简单说,TiDB的实现架构是:底层是分布式KV引擎TiKV,上层是SQL引擎TiDB Servers。...在TiKV之上实现SQL引擎就简化了很多,因此TiDB Servers是无状态的。...简化的抽象架构分层: TiDB官方文档里的架构图: 可以看出,TiDB的基础工作和最突出的创新在TiKV,理论上有了这个KV,可以把单机版的SQl引擎实现方式搬过来,就有了一个可扩展的分布式数据库。...按照TiDB的文档,TiDB 实现的 snapshot 隔离级别,该隔离级别不会出现幻读,但是会出现写偏斜。...从文档看,TiDB利用了成熟的开源项目,自己实现了分布式事务、分布式存储和SQL引擎,整体方案诱人,至于软件成熟程度,还需要经过实际的使用测试。

17010

TiDB Lab 诞生记 | TiDB Hackathon 优秀项目分享

[1240] 项目简介 简介 TiDB Lab,全称 TiDB Laboratory,是一个集 TiDB 集群状态的在线实时可视化与交互式教学的平台。...通过 TiDB Lab 这种对操作进行可视化反馈的交互模式,用户可以快速且生动地理解 TiDB 内部原理。 功能 实时动态展示 TiDB、TiKV 节点的新增、启动与关闭。...我们希望能实现 TiDB Lab + TiDB 生态组件的沙盒,从而在 TiDB Lab 在线平台上直接提供命令执行与 SQL 执行功能。...事件:TiDB 启动 TiDB 事件:TiDB 关闭 TiDB 事件:TiDB 收到一条 SQL TiKV 事件:TiKV 启动 TiKV 事件:TiKV 关闭 TiKV 事件:TiKV 收到一条 KvGet...事件:TiDB 启动,若首次启动认为是新部署 TiDB 事件:TiDB 关闭 TiDB 事件:TiDB 收到 SQL 并发起 KvGet 读请求 TiDB 事件:TiDB 收到 SQL 并发起 PreWrite

94600

TiDB 源码阅读系列文章(二)初识 TiDB 源码

本文为 TiDB 源码阅读系列文章的第二篇,第一篇文章介绍了 TiDB 整体的架构,知道 TiDB 有哪些模块,分别是做什么的,从哪里入手比较好,哪些可以忽略,哪些需要仔细阅读。...TiDB 架构 [1240] 本次 TiDB 源码之旅从这幅简单的架构图开始,这幅图很多人都看过,我们可以用一句话来描述这个图:『TiDB 是一个支持 MySQL 协议,以某种支持事务的分布式 KV 存储引擎为底层存储的...本篇文章会先介绍一些 TiDB 有哪些模块及其功能简要介绍,然后以这三点为线索,将这些模块串联起来。 代码简介 TiDB 源码完全托管在 Github 上,从项目主页可以看到所有信息。...是 TiDB 1.1 版本引入的一种数据表示结构。...如果是相对源码有全面的了解,那么可以从 tidb-server/main.go 入手,看 tidb-server 是如何启动,如何等待并处理用户请求。再跟着代码一直走,看 SQL 的具体执行过程。

2K110

TiDB测试小结

最近调研了下TiDB,总体对这门基于关系型的分布式方案做了一些相对全面的测试。...首先,让我感兴趣的不是TiDB的NewSQL角色,而是对TiDB的发展过程,TiDB的架构演进对于理解TiDB技术还是很有帮助的,也对我们的工作和实践具有一定的借鉴。...TiDB 0.5版本的架构如下: ③ 存储引擎引入HBase 初期的TiDB是没有存储引擎的,数据都是在内存层面,接入HBase,也是一个战略选型,主要是为了初步验证SQL层的实现是否稳定。...技术架构层面,TiDB和Oracle中的RAC其实很像(组件和功能),当然最大的不同就是一个是分布式,弹性扩缩容,另外一个是集成共享式。 我测试的时候使用了如下的部署架构。...12 故障自动恢复 13 产品定制能力强,定制了将近30个参数,针对TiDB的使用需求 还有一些细节的小错误或者问题,后续和朋友对接集中反馈下。

1.3K20

TiDB Best Practice

本文档用于总结在使用 TiDB 时候的一些最佳实践,主要涉及 SQL 使用、OLAP/OLTP 优化技巧,特别是一些 TiDB 专有的优化开关。...如果利用好二级索引,对业务非常重要,很多 MySQL 上的经验在 TiDB 这里依然适用,不过 TiDB 还有一些自己的特点,需要注意,这一节主要讨论在 TiDB 上使用二级索引的一些注意事项。...部署 在部署之前请务必阅读 TiDB 部署建议以及对硬件的需求。 推荐通过 TiDB-Ansible 部署 TiDB 集群,这个工具可以部署、停止、销毁、升级整个集群,非常方便易用。...除了文档之外,还有很多不错的文章介绍 TiDB 的各项技术细节内幕,大家可以关注下面这些文章发布渠道: 公众号:微信搜索 PingCAP 知乎专栏:TiDB 的后花园 官方博客 TiDB 的最佳适用场景...TiDB 源码地址:https://github.com/pingcap/tidb

2.7K10

TiDB初感

来源公众号|SQL和数据库技术(ID:SQLplusDB) 浏览了一天PingCAP(TiDB)--官方公众号文章、官方网站文档、TUG(TiDB用户组)、Github等各种互联网上能找到各种资源。...TiDB相关的各种资源 以下TiDB相关的各种资源。 官网地址 了解一个产品当然要从官网开始。...https://pingcap.com/ 以下是官网对TiDB的定位: TiDB 开源分布式关系型数据库TiDB 是一款定位于在线事务处理/在线分析处理( HTAP: Hybrid Transactional...https://docs.pingcap.com/zh/tidb/stable 重视实操的TiDB工具书 https://book.tidb.io/ 《TiDB in Action》是一本重视实操的书工具的介绍和使用部分会深入浅出...TiDB_PingCAP 的博客 官方博客用于最新 TiDB 技术解析、案例分享 https://blog.csdn.net/TiDB_PingCAP 微信公众号 ID:pingcap2015 TUG问答

40910

2.深入TiDB:入口代码分析及调试 TiDB

本文基于 TiDB release-5.1进行分析,需要用到 Go 1.16以后的版本 ; 转载请声明出处哦~,本篇文章发布于luozhiyun的博客: https://www.luozhiyun.com.../archives/592 启动与调试 其实 TiDB 的调试非常的简单,我这里用的是 TiDB release-5.1,那么需要将 Go 的版本更新到 1.16 之后。...main 函数是在 tidb-server 包里面,直接运行就好了。为了保证环境的统一,我用的是 Linux 的环境。...如果想要对自己的代码进行调试,只需要: 从 main 函数开始 学会了如何调试 TiDB 之后,下面看看 TiDB 的 main 函数执行逻辑,它是在 tidb-server 包下面: func main...对于 TiDB 的启动环节我们还可以参照前几次写的文章:《一文说透 Go 语言 HTTP 标准库》一起看看同样是服务端,TiDB为啥要自己实现一个。

39720

The Overview of TiDB 4.0

一分钟部署 TiDB 集群 「在单机部署一个 TiDB 集群要多久?」 之前,我们其实很难回答这个问题,但现在可以很自豪的说「一分钟」。为什么会这么快?...上面只是单机测试的情况,真的要生产环境上线了,我们如何部署 TiDB 集群呢?假设我们现在有十台机器,部署一个 TiDB 集群要多久?...Serverless TiDB 我们一直希望,让用户无感知的使用 TiDB,他只需要关注自己的业务就可以了。TiDB 对于用户来说就是一种数据库资源,他可以按需去使用。...现在,用户只需要使用最小规模集群部署 TiDB 集群,然后 TiDB 会根据用户自身的业务负载,自动做一些事情,包括: 弹性的扩缩容,当业务高峰来临,TiDB 会自动增加实例,满足业务请求,反之也能自动收缩实例...另外,这里放上一个简单的跑分,让大家快速感受一下 TiDB 4.0 的性能提升: TPC-C (注:测试使用 TiDB DBaaS(AWS) 高配置集群,其中 TiDB 使用 2 台 16核 32G 的

70431

2.深入TiDB:入口代码分析及调试 TiDB

本文基于 TiDB release-5.1进行分析,需要用到 Go 1.16以后的版本 博客地址:https://www.luozhiyun.com/archives/589 启动与调试 其实 TiDB...的调试非常的简单,我这里用的是 TiDB release-5.1,那么需要将 Go 的版本更新到 1.16 之后。...如果想要对自己的代码进行调试,只需要: 安装 mysql 客户端;yum install mysql 启动 TiDB tidb-server 包里面 main 函数; 启动 mysql 客户端;...之后,下面看看 TiDB 的 main 函数执行逻辑,它是在 tidb-server 包下面: func main() { ... // 注册store registerStores() //...对于 TiDB 的启动环节我们还可以参照前几次写的文章:《一文说透 Go 语言 HTTP 标准库》一起看看同样是服务端,TiDB为啥要自己实现一个。

40220

TIDB 初级课程体验 5 ( 搭建一个TIDB

这样一个TIDB 的测试环节就安装完毕了. TIUP 是TIDB4.0引入的集群运维的工具,通过TIUP来进行tidb的日常运维,以及部署,启动关闭,销毁和弹性扩展的工具....通过TIUP 来进行组件的展示,与安装 tiup install tidb tiup list --installed 这里TIDB 部署的硬件需求如下: TIDB 的最低生产配置....这里通过拓扑文件来让管理节点来好安排相关的集群的设置, 这里通过拓扑文件可以分析出, 我们的管理数据库的用户为 tidb, 并且部署的软件放置在/tidb-deploy /tidb-data 存放数据文件...TIDB 的启动顺序是 PD TIKV TIDB TIFLASH TIUP 是从TIDB 4.0 出现的 TIDB PD TIKV 都是通过TIUP来进行部署的, TIUP在执行时,命令和组件是要同时出现的...TIDB 的启动顺序是 PD ,TIKV ,TIDB TIFLASH 总结TIUP是一个非常棒的工具,通过TIUP工具可以轻松的部署和创建一个TIDB 的集群。

27440

TiDB 源码阅读系列文章(五)TiDB SQL Parser 的实现

本文为 TiDB 源码阅读系列文章的第五篇,主要对 SQL Parser 功能的实现进行了讲解,内容来自社区小伙伴——马震(GitHub ID:mz1999 )的投稿。...TiDB 源码阅读系列文章的撰写初衷,就是希望能与数据库研究者、爱好者进行深入交流,我们欣喜于如此短的时间内就收到了来自社区的反馈。...后续,也希望有更多小伙伴加入到与 TiDB 『坦诚相见』的阵列中来。 PingCAP 发布了 TiDB 的源码阅读系列文章,让我们可以比较系统的去学习了解TiDB的内部实现。...TiDB 是使用 goyacc 根据预定义的 SQL 语法规则文件 parser.y 生成 SQL 语法解析器。...有了上面的背景知识,对 TiDB 的 SQL Parser 模块会相对容易理解一些。TiDB 的词法解析使用的 手写的解析器(这是出于性能考虑),语法解析采用 goyacc。

4.5K100
领券