page contents

上G的数据文件要怎么处理

Pack 发布于 2020-01-17 15:49
阅读 510
收藏 0
分类:数据库

问题描述

数据文件,大约3~5个G,需要对每条数据处理之后入库。有没有具体的解决方案或者解决思路

问题出现的环境背景及自己尝试过哪些方法

大数据平台向前置管理系统输送文件,文件大小突然增大到G的地步。

你期待的结果是什么?实际看到的错误信息又是什么?

思路即可,少踩点坑

220
Pack
Pack

你的问题的指标要求如何?指标不同,可能解决的方式略有不同.

第一个点:文件可能需要切分.这样可以多线程入库.但是可能还有其他问题出现,比如重入读写,数据的纠错,每条数据的切分入到几个表的完整性事务保证等.一般来说,用批量入库可能会有一些数据的损耗,但是这个看指标,如果可以,批量仍然是最快的方式

第二个点:入库之后,如何读取,在可预期的不久,亿级表,TP级 PB级数据极度是有可能出现的,那么,你是想使用或分析完数据之后定期迁移数据呢还是自己写脚本或逻辑自动建表建库分库分表呢,之后业务上如何处理全局数据呢

第三个点:入库的时候,也可以考虑某些数据纠错,倾斜,前置计算的字段(比如唯一性每条数据上全局唯一)等等.

第四个点:留份,备份一定要留,以我的经验来看, 很有可能是在未来的某个时候又要重新入库全部的数据,原因各式各样,比如,后期中间处理环节结果被覆盖,某个公式计算误差较大,需要重新计算等等.

第五个点:你这个问题非常重实战,业务不一样,量级不一样,方案很不一样,比如全局加锁,有的业务需要有的不需要,比如数据的丢失,有的业务是容许的少量的,因为结果趋势不会改变,有的是绝对强完整性的.还有的多服务多线程跑入库,有的快有的慢,如何自动路由等等.再比如如果想生产消费解耦,那么抽取->MQ->消费,那么重复数据的幂等又要加进去等等,这种问题,我觉得更多的还是你自己思考.

请先 登录 后评论