TiDB lightning 可以有物理导入和逻辑导入模式。
TiDB dumpling 仅逻辑导出。
想问一下,为什么 TiDB 没有去支持物理导出?是有技术原因,还是觉得效益不大,还是有什么其他原因呢?没业务背景,纯好奇讨论:)
BR 就是物理的
BR 那不一样啊,只能在 TiDB 之间做备份恢复。
这就和即使有 restore ,还有 lighting 的物理导入道理一样。lighting 的物理导入可以支持各种格式。
虽然有 backup 了,但他并不能导出为其他格式,直接用于分析或者导入到其他数据库。
mysql 的物理备份也不能在tidb恢复啊,既然是物理备份就得原产品吧。
lightning是的物理导入是将 非物理数据处理成物理数据,我是这么理解的。
如果要做 异构数据库的物理导出,也应该是需求方取做,而不是TiDB去做。如果让TiDB去做物理导出,总不能每出一种数据库,就要支持一种吧。
TiDB的BR支持本数据库的物理导出导入就可以了。
从来没有考虑过这个问题,学习了。开拓思路
物理导出就是数据文件直接导出来,tikv数据存储用sst文件,所以br备份的也是sst文件
物理导出一般只适合本数据库再进行物理导入。不同数据库编码语言都不同啊
emm,看了大家的回答,感觉可能是我表述的不太对。
我是这么理解的:
-
Backup&Restore:纯从 TiKV 导入导出 SST file
-
lighting 的物理导入模式:支持各种格式的导入。首先需要把 sql/csv/parquet 等格式编码处理成键值对,然后再直接插入 TiKV
-
Dumpling: 仅支持从 TiDB 读取。
我的问题是,为什么没有这样一个工具:当想导出某一个大表时,从 TiKV 直接读取,然后解码成 sql/csv/parquet 等格式
物理导出,我觉得除非是同类型数据库,或者是控制文件,数据文件是一样的数据库才能够满足楼主所说的这种物理导出;
同种数据库的物理导出,TIDB是支持的,如BR,操作系统复制等方式
有些第三方客户端可以实现导出sql文件。不知道企业版本的客户端是否有类似功能
1、这个操作的目的是什么,是为了满足第三方么?那这个操作应该第三方来做。
2、这个操作的描述说的就是Dumpling吧。 除非说这个sst不是tidb的,但是想读取解析成sql格式。
直接mysql的客户端即可以了