首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏luozhiyun的技术学习

    1.深入TiDB:初见TiDB

    TiDB 架构以及它能支持哪些功能为主。 为什么要研究 TiDB ? 其实 TiDB 我想要了解已经很久了,但是一直都有点不想去面对这么大一滩代码。 /stable/tidb-architecture https://pingcap.com/blog-cn/tidb-internal-1/ https://pingcap.com/blog-cn/tidb-internal -2/ https://pingcap.com/blog-cn/tidb-internal-3/ https://docs.pingcap.com/zh/tidb/stable/tidb-best-practices https://book.tidb.io/

    1.1K30发布于 2021-09-14
  • 来自专栏luozhiyun的技术学习

    1.深入TiDB:初见TiDB

    TiDB 架构以及它能支持哪些功能为主。 为什么要研究 TiDB ? 其实 TiDB 我想要了解已经很久了,但是一直都有点不想去面对这么大一滩代码。 ; 支持 ACID 事务; [tidb-architecture] 从图上我们可以看出主要分为:TiDB Server 、PD (Placement Driver) Server、存储节点。 /stable/tidb-architecture https://pingcap.com/blog-cn/tidb-internal-1/ https://pingcap.com/blog-cn/tidb-internal -2/ https://pingcap.com/blog-cn/tidb-internal-3/ https://docs.pingcap.com/zh/tidb/stable/tidb-best-practices

    1.5K20发布于 2021-07-08
  • 来自专栏全栈程序员必看

    tikv和tidb_tidb优缺点

    file-num-compaction-trigger compaction-pri 其中[rocksdb]和[raftdb]组中的参数一致,[rocksdb] 多了如下参数: rate-bytes-per-sec = "0KB" TiDB messages-per-tick = 4096 # gRPC 线程池大小 # grpc-concurrency = 4 # TiKV 每个实例之间的 gRPC 连接数 # grpc-raft-conn-num = 10 # TiDB block-cache-size = "256MB" TiDB 系统调优的官方建议: TiKV 内存使用情况 除了以上列出的 block-cache 以及 write-buffer 会占用系统内存外: 需预留一些内存作为系统的 page cache TiKV 在处理大的查询的时候(例如 select * from ...)会读取数据然后在内存中生成对应的 数据结构返回给 TiDB,这个过程中 TiKV

    1.3K20编辑于 2022-09-29
  • 来自专栏mazhen.tech

    TiDB初探

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

    38710编辑于 2023-11-24
  • 来自专栏Kubernetes 与 Devops 干货分享

    TIDB使用

    TIDB 数据库集群 一、TiDB数据介绍 1.1、TiDB数据简介 TiDB 是 PingCAP 公司设计的开源分布式 HTAP (Hybrid Transactional and Analytical 用户,并生成 ssh key # 创建tidb用户 useradd -m -d /home/tidb tidb && passwd tidb # 配置tidb用户sudo权限 visudo tidb ALL=(ALL) NOPASSWD: ALL # 使用tidb账户生成 ssh key su tidb && ssh-keygen -t rsa -C mikel@tidb 在中控机器上下载 TiDB-Ansible | SUCCESS | rc=0 >> tidb # 检测tidb 用户 sudo 免密码配置 [tidb@tidb-tikv1 tidb-ansible]$ ansible -i inventory.ini , TiKV2 tidb-tikv3 172.16.5.52 PD3, TiKV3 # 新增一台TIDB节点 添加一个 TiDB 节点(tidb-tikv4)

    88050编辑于 2022-10-31
  • 来自专栏AustinDatabases

    TIDB 学习计划 --- 如何快速开始接触TIDB

    先注册一个账号, 然后登陆到下面的网址 https://tour.pingcap.com/ 在页面的左边是相关的操作介绍, 在页面的右边是 tidb-wasm 通过web页面可以对TIDB 进行操作的一种方式 你在页面的右面类似shell的界面就可以开始键入左面的命令, 这是一个最新版的TIDB 的操作环境. TIDB的方式,. 和其他的数据库相比,TIDB在对初级用户除此了解性的使用上是友好的, 并且直接在WEB页面上操作的手段也是别的数据库目前不能提供的,所以要快速解除TIDB 是一件很轻松的事情,并且还可以通过上的界面,直接去查看 TIDB 的系统表的一些结构和内容,这里就不做了. ?

    62720发布于 2020-07-01
  • 来自专栏杨建荣的学习笔记

    TiDB 初体验

    其实从2017年就打算测试下TiDB了,因为工作安排的关系,这个事情在年后才开始计划来做。 而根据时间线来看,2015年的那个时候,我正和老杨张罗DBAplus的事情,而东旭已经在构思TiDB的雏形了,几年过去了,TiDB已经很火热,发展势头很不错,难得有这样一批热爱技术的人通过自己的行动来助力开源社区 关于TiDB的一些设计思想,强烈推荐大家看看东旭分享的内容,对于理解TiDB还是大有帮助的。 报道|TiDB 架构的演进和开发哲学:http://mp.weixin.qq.com/s? tar -xzf tidb-latest-linux-amd64.tar.gz [root@localhost tidb]# cd tidb-latest-linux-amd64 启动PD [root@ tidb-latest-linux-amd64]# .

    1.4K70发布于 2018-03-22
  • 来自专栏PingCAP的专栏

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

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

    2.4K110发布于 2018-03-05
  • 来自专栏PingCAP的专栏

    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

    1.1K00发布于 2018-12-14
  • 来自专栏PingCAP的专栏

    TiDB 6.0:让 TSO 更高效丨TiDB Book Rush

    本文作者:h5n1,TiDB爱好者,目前就职于联通软件研究院,asktug 主页1. 前言TiDB 作为一个分布式数据库,计算节点 tidb server 和存储节点 tikv/tiflash server 有着近乎线性的扩展能力,当资源不足时直接在线扩容即可。 TiDB 跨数据中心访问 PD Leader 时,数据中心间的延迟导致事务延迟增加。 通过设置全局变量 tidb_enable_tso_follower_proxy 为 true 即可开启 PD follower 的 TSO 代理功能,该功能适用于 tidb server 数量较多并发请求很高 图片通过 TiDB –> PD Client –> PD Client CMD OPS 监控可以看到 256 线程下开启 tidb_rc_read_check_ts 后 PD client 中等待 TSO

    81220编辑于 2022-06-27
  • 来自专栏Oracle数据库技术

    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问答

    62810编辑于 2022-08-22
  • 来自专栏PingCAP的专栏

    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.9K10发布于 2017-07-06
  • 来自专栏Tidb

    The lifecycle of a SQL in TiDB

    当Sql进入TiDB时先获取Token,事务开始时获取Start TS (异步方式获取) 2.  开始/提交事务都会向PD获取TSO,经历两个阶段: I.Wait Duration  (延迟大时说明TiDB的负载高)   II.RPC Duration  (延迟大时说明TiDB和PD之间的传输耗时大 DistSQL是TiDB 向Tikv发送请求、接收数据的接口 2.  Local Latch:Tidb在commit前对事务排序用的锁(默认为关闭),当锁冲突较多时可以打开。 TiDB上的kv request延迟是gRPC+网络延迟的总和(若kv request与gRPC差异大,证明TiDB和Tikv之间的网络延迟大 ) 96.jpg 重写和重解析锁在Dashboard中以上两个位置可看到

    84930发布于 2021-02-04
  • 来自专栏杨建荣的学习笔记

    TiDB测试小结

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

    1.5K20发布于 2018-07-26
  • 来自专栏学习内容

    TiDB安装简介

    一、TiDB概述 官网地址 https://docs.pingcap.com/zh/tidb/stable/quick-start-with-tidb TiDB可以理解为是MySQL的加强版/分布式MySQL 除此以外,TiDB 不支持 MySQL 复制协议,但提供了专用工具用于与 MySQL 复制数据: 二、架构 TiDB 集群主要包括三个核心组件:TiDB Server,PD Server 和 TiKV TiDB Operator:云上部署组件。 内部架构 与外界架构 三、安装 1、本地版安装 参考地址 https://docs.pingcap.com/zh/tidb/stable/quick-start-with-tidb TiDB 是一个分布式系统 最基础的 TiDB 测试集群通常由 2 个 TiDB 实例、3 个 TiKV 实例、3 个 PD 实例和可选的 TiFlash 实例构成。

    1.1K30编辑于 2023-08-10
  • 来自专栏PingCAP的专栏

    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 的

    86031发布于 2020-04-09
  • 来自专栏luozhiyun的技术学习

    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为啥要自己实现一个。

    57320发布于 2021-09-14
  • 来自专栏luozhiyun的技术学习

    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为啥要自己实现一个。

    59020发布于 2021-09-12
  • 来自专栏AustinDatabases

    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 的集群。

    42140发布于 2021-09-02
  • 来自专栏菜菜小屋

    TiDB学习笔记(二)

    本文是《极客时间》-《TiDb极简入门》的学习笔记。 传送门:https://time.geekbang.org/opencourse/videointro/100089601 这部分讲解了Tidb的整体概述。 在云计算场景下,弹性的颗粒度是机器,不能做到真正资源的弹性 TiDB高度分层架构 弹性是整个架构设计的核心考量点,计算与存储分离 从逻辑上TiDb主要分为3层 1.TiDB-Server: 支持标准SQL 的分配 调度中心 二 如何构建一个分布式存储系统 我们需要一个什么样的存储引擎 1.更细粒度的弹性扩缩容 2.高并发读写 3.数据不丢不错 4.多副本保障一致性及高可用性 5.支持完整的分布式事务 TiDb 里需要进行合理的匹配计算 分布式sql引擎主要优化策略 最大程度让数据在分布式存储层尽快的完成过滤以及预计算(最大下推策略 push down) 关键算子分布式化 如何构建一个Online DDL 1.tidb

    1.1K51编辑于 2021-12-30
领券