30G 的数据库如何高效搬运到服务器?

2022-10-12 22:32:59 +08:00
 tellmeworld

30G 的 mysql 数据表,大概 4000 万条数据,本地用 elasticsearch 做的全文搜索,要搬运到服务器,

是直接把 mysql 数据库传到服务器上,然后服务器搭建 elasticsearch 慢慢建立索引比较好,

还是本地直接全部 es 索引,然后把 mysql 和 es 索引数据直接搬到服务器? mysql 数据表还可以打包上传,es 索引数据也可以打包上传直接使用吗?

4290 次点击
所在节点    程序员
31 条回复
Maxwe11
2022-10-12 22:44:17 +08:00
mysql 和 es 我都很少用,但是这类使用习惯都是先分析,想清楚历史数据和增量数据以及使用的特征,先在服务器建好库分区分表索引,把数据直接扔上去再根据新结构插进去,这样逻辑清楚,兼顾未来使用,就几千万条数据而已,很快。
GTim
2022-10-13 08:16:19 +08:00
30G dump 很快的,然后再压缩一下,估计没多少
tellmeworld
2022-10-13 08:48:57 +08:00
@GTim 都是文本,压缩完都还有 25G
tellmeworld
2022-10-13 08:49:23 +08:00
@Maxwe11 意思就是先上传数据,然后在服务器建立 es 索引?
xsir2020
2022-10-13 08:57:14 +08:00
都是文本,不是压缩完更小吗?
tellmeworld
2022-10-13 08:59:04 +08:00
@xsir2020 都是实打实的文本,没有多少压缩空间的
xsir2020
2022-10-13 09:14:46 +08:00
实打实的文本是啥意思?感觉我们聊的不在一个时空。
yggd
2022-10-13 09:19:09 +08:00
@tellmeworld 纯文本压缩空间非常大啊
zddwj
2022-10-13 09:20:15 +08:00
可以跟本地数据库组个主从同步
tellmeworld
2022-10-13 09:26:02 +08:00
@xsir2020
@yggd 纯文本压缩空间是很大,我是说压缩出来文件还是很大
cco
2022-10-13 09:32:48 +08:00
ES 可以打个快照,然后再恢复,mysql 就 dump 一个文件上传吧。30G 上传也没多久吧。撑死半小时吧。
skys215
2022-10-13 09:39:15 +08:00
压缩,分块,多线程上传,合并,解压,导入
wxdiy
2022-10-13 09:51:47 +08:00
你问这个问题的时间,估计就能够处理完了。do it
xuanbg
2022-10-13 09:55:30 +08:00
你有这个问的功夫,直接上传也早传完了。才 30G ,没必要用什么奇技淫巧。
king888
2022-10-13 10:32:24 +08:00
才 30G ,直接传就完事,等待时间就当在摸鱼吧
iPc666
2022-10-13 12:19:30 +08:00
正确方法:压缩 mysql 上传到百度网盘,配合直链下载助手,生成直链使用 curl 链接下载到服务器上,比自己上传到服务器上快多了。
user100saysth
2022-10-13 12:23:17 +08:00
@iPc666 厉害了
godall
2022-10-13 14:53:24 +08:00
@iPc666 需要百度超级会员,否则 10k 的速度,直接撞墙。
sun522198558
2022-10-13 15:55:47 +08:00
RedisMasterNode
2022-10-13 15:58:24 +08:00
这些数据都是不变的咩,其实既然是 mysql 就应该用 binlog 将变更数据发送到消息队列,再由消费者消费写入 ES ,做准实时的同步;

存量的数据可以用 SELECT 的方式下发给消费者一并处理,也可以直接 SELECT 然后程序写入 ES 。至于要跑多少时间如果两个机器都在同一个网络内的话应该速度会挺快的,还是不要考虑跨网络的方案了叭

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/886484

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX