现在有一个表 暂时有80多个字段 数据量比较大 一天几亿条数据
1、不是每一个字段都能够用得上 不同的设备上传上来的数据不同(使用通用表会有冗余)
2、数据要进行计算 不能以以文本的方式存储,计算的时候会大量消耗cpu 内存等 (非实时计算,可离线)
3、后期还会继续增加字段
4、分布式应用场景
请问 如何选择数据库、表设计, 以及实体类的设计
看要求这是一个典型的大数据场景。传统的关系型数据库就显得不够了。
可以用Hive,数据文件存储在hdfs, 用ORC等column based 格式,方便压缩和值计算部分字段时高效运算。增加字段时也不影响之前的数据文件。
可以按日期建立partition。
计算也用cluster分布处理。
Spark 正时基于内存的大数据处理引擎。编程语言可以用你熟悉的。python门槛相对低一些。
附注:求赞助积分和C币。加入CSDN将近20年了。最近几年忙小孩没登录。刚才搜索到一本电子书想下载,需要20积分/C币。赞助多少都可以。多谢。
建议:
1.用大型数据库,Oracle,DB2等;
2.表的设计应该使用多表处理,可以指定一下规则,比如按天建表;
3.数据计算使用定时任务处理。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
你这几亿条数据,最少都得分表了,像mysql,之前在800w数据量下查询数据,就有明显的等待时间了,几亿条单表肯定是顶不住的;
其次分表还有个好处,单表可以去除掉那些没用的字段,比如你A分类需要5个字段,B分类需要8个字段,总共80个字段,分摊到单表上面,从原来固定的80+,变成5,8;也大量节约了存储成本;
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y