前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >国产数据库TiDB初体验

国产数据库TiDB初体验

原创
作者头像
喵喵侠
发布2024-07-13 00:58:12
1052
发布2024-07-13 00:58:12
举报
文章被收录于专栏:喵喵侠的社区活动征文

目录

前言

近年来,国产数据库技术迅速发展,得到了广泛应用和认可。中国的数据库市场由传统的外资品牌主导,逐步转向国产数据库。随着国家信息安全战略的推进,以及云计算、大数据、人工智能等新兴技术的快速发展,国产数据库在性能、可靠性、安全性等方面不断提升,逐步缩小与国际领先技术的差距。

TiDB作为国产数据库的代表,有着简单易上手、高度兼容传统数据库MySQL、高可用性等特点,对于国内特定业务场景下的表现十分优异。本文将以TiDB为例,介绍TiDB的特点和优势,以及快速上手体验,让你对这款国产数据库有一个大致的了解。

TiDB介绍

TiDB数据库有以下特点:

  1. 高度兼容MySQL:TiDB在大多数情况下无需修改代码即可从MySQL迁移到TiDB,分库分表后的MySQL集群也可以通过TiDB工具进行实时迁移。它支持SQL,并对外暴露MySQL的网络协议,使得用户可以轻松迁移现有应用至TiDB平台。
  2. 分布式架构:TiDB采用计算、存储分离的架构,能够水平扩展和缩容,计算最大支持512节点,每个节点最大支持1000并发,集群容量最大支持PB级别。这种架构设计使得TiDB可以应对海量数据存储和高并发读写场景。
  3. 高可用性:TiDB默认支持高可用,在少数副本失效的情况下,数据库本身能够自动进行数据修复和故障转移,对业务透明。
  4. 分布式事务:TiDB完全支持标准的ACID事务,对于需要强一致性的场景非常友好,例如银行转账等。
  5. HTAP解决方案:TiDB提供了一站式Hybrid Transactional/Analytical Processing(HTAP)解决方案,能够同时处理事务型和分析型工作负载。

相比较传统数据库MySQL而言,又具备以下优势:

  1. 扩展性:与MySQL的单机式数据库相比,TiDB采用分布式架构,可以方便自由地增加节点来扩展存算能力,而MySQL则需要通过定向策略如中间件路由或读写分离等方式来增加节点以提升性能,这使得MySQL的扩展性相对受限且僵化。
  2. 并发性能:TiDB通过智能的负载均衡和并发控制机制,在高并发环境下表现出色,确保数据的一致性和准确性。
  3. 写入性能:在数据量达到千万级以上时,TiDB的写入性能优于MySQL,因为MySQL在大容量下无法均匀分布到其他服务器,导致B+树高度过高进而影响写入性能。
  4. 复杂SQL处理能力:TiDB在复杂SQL处理方面显著优于MySQL,大部分过滤计算可以下推到TiKV充分利用分布式能力,从而减少数据网络传输并利用列存优势只读取需要的列,减少IO和CPU消耗。
  5. 丰富的工具链生态:TiDB具有丰富的工具链生态,覆盖数据迁移、同步、备份等多种场景。

TiDB 快速上手体验

本机部署支持macOS和Linux,由于我目前使用的电脑有一台是MacBook Pro,这里就以 macOS 本机安装为例子,做一个体验演示。

安装

首先输入命令:

代码语言:bash
复制
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

很快就安装完成了,大概 3s,如下图所示:

接着声明一下全局变量:

代码语言:bash
复制
source ${your_shell_profile}

这里值得注意的是,${your_shell_profile}是你本地的配置文件路径,在上面安装完成的信息中的Shell profile里面有写。替换下就好,我的是这样的:

代码语言:bash
复制
source /Users/cooper/.zshrc

启动集群

输入命令并回车,结果会运行最新版本的 TiDB 集群,默认配置是TiDB、TiKV、PD 和 TiFlash 实例各 1 个:

代码语言:bash
复制
tiup playground

出现提示,点击允许。等待下载完成。

等待片刻后,TiDB就安装好了!

代码语言:bash
复制
Connect TiDB:    mysql --comments --host 127.0.0.1 --port 4000 -u root
TiDB Dashboard:  http://127.0.0.1:2379/dashboard
Grafana:         http://127.0.0.1:3000

分别解释下这三行结果:

  1. Connect TiDB:你可以用MySQL 客户端的方式,以这个命令连接 TiDB。
  2. TiDB Dashboard:可以直接访问TiDB Dashboard页面,默认用户名为 root,密码为空。
  3. Grafana:通过地址可以直接访问 TiDB 的 Grafana 界面,默认用户名和密码都为 admin

注:Grafana 是一个跨平台的开源的度量分析和可视化工具,可使用内置的 MySQL 的插件连接 TiDB 数据库。

Dashboard 控制台页面如下:

Grafana 界面如下:

清理集群

  1. 首先Control+C,停止上面启用的 TiDB服务。
  1. 执行命令tiup clean --all,清理集群。

其他

其他的操作,比方说SQL查看、创建和删除数据库,可以在官方文档上找到相应的示例,基本跟MySQL 用法查不多。如果你属于 MySQL 的使用,学习上手 TiDB 是非常简单的。

总结

本文以TiDB 作为国产数据库的代表,简单介绍了下 TiDB 特点,以及与传统数据库MySQL的区别。对于海量数据处理上,性能优势十分明显,适合电商、金融等用户基数大、并发高等复杂业务场景。而对于中小型应用来说,国产数据库TiDB的优势就不那么明显了,所以还是要根据实际的业务需要,做相应的数据库技术选型。另外值得一提的是,现在国产数据库的官方社区和技术支持,做的都相当不错,有机会也可以体验下别家的数据库。比方说腾讯云也有自己的数据库产品,对应的文档和工单技术支持响应很及时,后续有机会的话,我再写一写关于腾讯云数据库的产品介绍和技术实践文章。希望本篇文章能对你有所帮助。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 前言
  • TiDB介绍
  • TiDB 快速上手体验
    • 安装
      • 启动集群
        • 清理集群
          • 其他
          • 总结
          相关产品与服务
          云数据库 MySQL
          腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档