如何稳定高效地进行 TiDB 数据导入导出?

news2024/9/20 9:37:55

对于在数据库行业中摸爬滚打多年的老鸟 DBA 来说,TiDB 可是一点也不陌生,作为 PingCAP 公司自主研发的真开源分布式数据库,其先进的设计理念以及丰富的生态工具,可算得上是业界自主创新和性能领先的代名词。

TiDB 是谁?​

显然这个章节在这里有点多余,但我们也想为不了解 TiDB 的小伙伴们做一个科普,TiDB 是一款开源的分布式关系型数据库管理系统,由PingCAP开发,旨在解决传统关系型数据库在扩展性和灵活性上的局限。它有很多的优点:

  • TiDB 是开源产品:TiDB 具有一个相当成熟的社区,并且具有相当数量并持续增长的代码贡献者,这使 TiDB 的成熟度越来越高。
  • 强大的可扩展性:TiDB 是一个分布式数据库,有着非常好的读、写扩展性,尤其是写扩展性,可以存储海量的数据,数百 TB 数据轻松存储。
  • 存算分离架构:使用户可以单独为计算资源或存储资源进行扩容,避免其中一方资源的浪费。
  • HTAP 能力:OLTP 和 OLAP 能力相融合,提供 HTAP 的混合负载能力,赋予 TiDB 强大的业务处理能力和数据查询能力。
  • 在线扩缩容与升级:在 TiDB 的存算分离架构下,数据库的扩缩容和升级再也不用停机了,对于长期在线的业务系统来说尤为重要。

TiDB 配套工具的弊病?​

TiDB 很强,在配套工具方面,TiDB 也提供了各式各样的功能,例如 Dumpling、Lightning、Data Migration(DM)、Backup & Restore、TiCDC 等等,这些工具各自都有不同的使用场景和限制,想要熟练运用这些工具,那就需要花大量的时间去学习。

然而,即使你可以很熟练地去运用这些工具,也可能会碰到一些问题,就拿 TiDB 的数据导入和数据导出方面举例,Dumpling 工具用于 TiDB 数据库导出数据,而 Lightning 用于 TiDB 的数据导入,这两个工具就存在如下一些限制:

  • 通过 Dumpling 工具导出较大的单表(超过 1 TB)时,可能会因为数据过大导致 TiDB 内存溢出(OOM)。

  • Lightning 工具需要 tikv-importer 等工具配合使用,操作复杂难以上手,并且该工具运行后,TiDB 集群无法正常对外提供服务。

  • 最重要的一个点,使用数据导入导出工具(包含上述两个工具)会对数据库本身的业务读写造成负面影响,降低数据库的性能。

整体来讲,使用这些工具多多少少需要数据库来配合,这样会对业务的可用性带来很大的影响,这就有点和企业所注重的点背道而驰,对于企业来说,我最关注的是数据库的稳定性,你不能对我的业务造成任何影响,然后我还要高效,还要操作简单,有办法吗?

NineData 的 TiDB 导入导出解决方案​

在 NineData 最新发布的版本中,提供了对 TiDB 数据导入导出的支持,得益于 NineData 天然的独立性,在对 TiDB 进行数据导入导出时,再也无需 TiDB 数据库进行各种各样的妥协了,让 TiDB 该干什么干什么去,剩下的交给 NineData 就行。

在功能方面,导入功能支持 SQL、CSV、EXCEL 等文件格式,同时支持多种自定义配置,例如可以自定义指定导入到哪个表的哪个列、遇到重名冲突时的执行策略等;导出功能支持通过 SQL 语句或直接选择目标库表进行导出,还支持数据、结构、结构+数据三种形式,支持导出到 SQL、CSV、EXCEL 三种文件类型,除此之外,还有多种高级设置(大字段导出、SQL 脚本扩展、触发器|函数|视图|存储过程|事件导出等)可供选择。

在操作方面,页面全程傻瓜式流程引导,只要没有语言障碍,就能轻松玩转。

在安全方面,非管理员用户执行导入导出时,系统自动生成审批流程,只有在管理员审批通过后,才能实际执行到 TiDB 数据源。

功能实操演示​

数据导出

  1. 登录 NineData 控制台,单击数据库 DevOps>数据导出,然后在页面中单击创建数据导出,在如下页面中根据提示配置导出任务,然后单击创建数据导出

  2. 任务跑完后,可以在任务详情页面单击下载,将导出的文件下载到本地,该文件可用于下方的数据导入任务。

数据导入

  1. 登录 NineData 控制台,单击数据库 DevOps>数据导入,然后在页面中单击创建数据导入,在如下页面中根据提示配置导入任务,然后单击创建数据导入

  2. 等待任务跑完即可。

总结​

在本次的功能验证过程中可以发现,NineData 对 TiDB 的数据导入导出功能都提供了良好的支持,并且完美绕开了官方配套工具对业务库带来的性能影响,真正意义上做到了企业所关注的稳定高效简单安全

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1807562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《Brave New Words 》3.4 最重要的学科领域

Part III Empowering the Next Innovators 第三部分 赋能下一代创新者 The Most Important Subject-Matter Domain to Master 最重要的学科领域 In the world of education, it’s crucial for developers to field-test their ideas. Essentially, it means taking our educat…

LabVIEW进行图像拼接的实现方法与优化

在工业检测和科研应用中,对于大尺寸物体的拍摄需要通过多次拍摄后进行图像拼接。LabVIEW 作为强大的图形化编程工具,能够实现图像拼接处理。本文将详细介绍LabVIEW进行图像拼接的实现方法、注意事项和提高效率的策略。 图像拼接的实现方法 1. 图像采集…

前端UI框架Element Plus 和 Ant Design Vue哪个好

Element Plus 和 Ant Design Vue 都是基于 Vue.js 的 UI 组件库,它们具备一系列可复用的组件和丰富的功能,并且是当前国内主流的两个 UI 组件库。 (1)Element Plus 是饿了么前端团队推出的开源项目,是对 Element UI 的…

基于Python + Flask+ Mysq实现简易留言板

使用Python Flask Mysql实现简易留言板,包括网友编辑留言、修改留言,删除留言、分页显示四大功能。 写出留言板建设过程,包括开发使用工具、留言板模块设计、数据库设计、页面设计、关键技术。 留言板建设过程总结 一.开发使用…

RapidMiner数据挖掘4 —— 决策树

0. 序章 0.1 文本说明 所有应用程序操作的名称和编程说明都以黄色背景书写,问题以蓝色背景书写,以方便他们在文本中识别。 在整个课程中,请逐步遵循所有说明,并确保获得预期结果,然后再继续下一部分或问题。 通过在Ub…

文刻ai工具跟绘唐AI工具有什么区别

文刻AI工具和绘唐AI工具是两种不同的人工智能工具。点击查看 文刻AI工具是一种自然语言处理工具,可以用于生成、修改和校对文本。它可以帮助用户更高效地写作,提供词汇和语法建议,检查拼写和语法错误,并提供自动补全和自动纠正功…

网络安全难学吗?2024该怎么系统学习网络安全?

学习网络安全需要循序渐进,由浅入深。很多人对网络安全进行了解以后,就打算开始学习网络安全,但是又不知道怎么去系统的学习。 网络安全本身的知识不难,但需要学习的内容有很多,其中包括Linux、数据库、渗透测试、等保…

ue5肉鸽游戏视频教程学习记录

先在虚幻商城下载免费的paperzd插件,并启用。 导入资源后,先通过应用paper2d纹理资源,将去掉导入ue时产生的边缘模糊,再点击下面的创建瓦片集, 打开瓦片集,发现选中不对, 改变瓦片大小为16*…

64. UE5 RPG 创建新的双手攻击怪物

在上一篇文章中,我们实现了新的功能,现在可以创建多个普通攻击动画,并且可以根据你所使用的普通攻击动画,设置不同的攻击位置。比如,你使用武器,那么攻击位置需要从武器上获取,如果你没有持有武…

保存图片奇怪的bug

今天发现一个奇怪的bug 这个的dpi是100de ,但是我取完切片之后,发现这个结果就变了

温度传感器十大品牌

温度传感器品牌排行榜-十大热电偶品牌-热敏电阻品牌排行-Maigoo品牌榜

西门子学习笔记11 - PTO脉冲指令的使用

1、使用指令前的设置 1、打开一个脉冲发生器,并启用 2、选择使用PTO(脉冲A和方向B) 3、硬件设置输出 4、这样前期的准备工作就完成了 2、指令的使用 1、添加指令CTRL_PTO 2、配置如下 3、方向控制程序如下 4、最后进行测试即可

专业的数字雕刻和绘图软件Pixologic ZBrush 2024.0.4

Pixology ZBrush是一款专业的数字雕刻和绘图软件,适用于Windows、Linux和Mac OS。 皮克斯学ZBrush允许您使用可定制的画笔实时塑造、纹理和绘制虚拟粘土,从而提供即时反馈。当您使用皮克斯学ZBrush时,您可以访问世界各地艺术家使用的相同工具。 下面是一些特点和好处的像素…

【设计模式】结构型设计模式之 从IO流设计思想来看装饰器模式

介绍 装饰器模式也称为包装模式(Wrapper Pattern) 是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。 装饰器模式的核心是功能扩展,使用装饰器模式可以透…

Java | Leetcode Java题解之第142题环形链表II

题目: 题解: public class Solution {public ListNode detectCycle(ListNode head) {if (head null) {return null;}ListNode slow head, fast head;while (fast ! null) {slow slow.next;if (fast.next ! null) {fast fast.next.next;} else {ret…

Qt qtpropertybrowser使用实例(1)

属性界面实例&#xff1a; 代码如下&#xff1a; #include <QDate> #include <QLocale> #include "qtpropertymanager.h" #include "qtvariantproperty.h" #include "qttreepropertybrowser.h" int main(int argc, char *argv[]) {…

LLM大语言模型(十六):最新开源 GLM4-9B 本地部署,带不动,根本带不动

目录 前言 本机环境 GLM4代码库下载 模型文件下载&#xff1a;文件很大 修改为从本地模型文件启动 启动模型cli对话demo 慢&#xff0c;巨慢&#xff0c;一个字一个字的蹦 GPU资源使用情况 GLM3资源使用情况对比 前言 GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 …

VUE + nodejs实战

BVDN搭建 D: cd nodejs ::npm install bootstrap ::npm install jquery ::npm install popper.js ::npm install vue npm install vue-router pauseapp.html <!DOCTYPE html> <!DOCTYPE html> <html> <head><!--bootstrap--><link rel"…

Understanding Diffusion Objectives as the ELBO with Simple Data Augmentation

Understanding Diffusion Objectives as the ELBO with Simple Data Augmentation 引言 本文前作 VDM 已经推导出了扩散模型可以将优化 ELBO 作为目标函数。然而现在 FID &#xff08;也就是感知质量&#xff09;最好的模型还是用的其他目标函数&#xff08;如 DDPM 的噪声预…

Mysql使用中的性能优化——索引数对插入操作性能的影响

表的索引可以给数据检索提升效率&#xff0c;但是也给表的增删改操作带来代价。本文我们将关注&#xff0c;索引数量对INSERT操作的影响。 结论 索引数的新增会造成INSERT操作效率下降&#xff0c;约每增一个索引会降低10%效率。 实验数据 可以看到0个索引的效率是7个索引效…