TiDB入门(四):从入门到“跑路”

前言

前面三章基本把 TiDB 的环境弄好了,也做了一下简单测试,有兴趣的同学可以看一下:
TiDB 入门(一):TiDB 简介
TiDB 入门(二):虚拟机搭建 TiDB-Ansible 部署方案
TiDB 入门(三):简单测试
本来还有一些用 jmeter 压力测试的,后来测试的结果非常不好,就不想写出来了,因为自己毕竟是用虚拟机模拟的和 TiDB 官网推荐的配置差很多,如果自己写出来是有失偏颇的。

为何“跑路”

我们可以看到,TiDB 对性能要求特别高,简单看一下配置。参考:软硬件要求

开发测试环境:

组件

CPU

内存

本地存储

网络

实例数量(最低要求)

TiDB

8 核

16 GB+

无特殊要求

千兆网卡

1(可与 PD 同机器

PD

4 核+

8 GB+

SAS, 200 GB+

千兆网卡

1(可与 TiDB 同机器

TiKV

8 核

32 GB+

SSD, 200 GB+

千兆网卡

3

生产环境:

组件

CPU

内存

硬盘类型

网络

实例数量(最低要求)

TiDB

16 核+

32 GB+

SAS

万兆网卡(2 块最佳)

2

PD

4 核+

8 GB+

SSD

万兆网卡(2 块最佳)

3

TiKV

16 核+

32 GB+

SSD

万兆网卡(2 块最佳)

3

监控

8 核+

16 GB+

SAS

千兆网卡

1

开发环境大概就需要两台 DELL 服务器才能满足 CPU 和内存的要求。
并且最贵的应该是 SSD,因为是需要服务器级别的 SSD 所以会非常贵。如果要高可用 raid 5 磁盘序列需要再乘以 3 倍。 而生产环境感觉需要六台 DELL 服务器才能满足,大概是开发环境的 3 倍要求。

用不到

我们之前也简单测试过,以我那台虚拟机搭建的 TiDB 只有在数据量千万级别才会和 MySQL 的性能相当, 我好好回顾了一下自己公司用的表大小,过百万的都非常少,其实 MySQL 完全够用, 现在完全没有足够的理由去说服公司去使用 TiDB。

再次翻开TiDB 正确使用姿势, 结尾的一句话好好记住:
<em><b>如果整篇文章你只想记住一句话,那就是数据条数少于 5000w 的场景下通常用不到 TiDB,TiDB 是为大规模的数据场景设计的。
如果还想记住一句话,那就是单机 MySQL 能满足的场景也用不到 TiDB。</b></em>

结尾

当然这次“跑路”并不是永远放弃 TiDB,等单表业务需求到了 5000w 以上的时候,我们不能用 MySQL 解决问题的时候,我相信 TiDB 仍然是值得用的,因为 MySQL 做扩展的能力没有 TiDB 好,用现在一句流行的话来说,能用钱搞定的就不是问题,性能达到瓶颈,我用机器性能去堆就可以了。

当然以后还是会持续学习 TiDB 的,希望有一天能够用上。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )