请问如何更好地管理数据库冗余字段 (数据)?

问题:请问如何更好的管理冗余字段和数据?

背景:在一张users表中用户附加很多特殊统计字段如:活跃天数,评论数,文章数,浏览文章总长,发布文章总字数等等,各个模块冗余在users中冗余的字段有26+及以上,维护和更新起来非常困难,因为有些统计数据需要查询大表(数据量在亿级别),不仅查询效率低下,而且容易引发性能问题,请问各位同行大佬是如何维护和管理冗余字段和数据的呢?

个人解决方案:拆分冗余字段到user_info表中,大表进行sum运算又很消耗系统性能,我考虑通过每日归档用户数据来进行更新统计字段,但是随着系统业务扩展,冗余字段会越来越多,届时难道又要进行分表吗?希望各位同行大佬能够提供一些思路和方向, 谢谢.

服务配置:
MYSQL (8核 16G)
Mongo (8核 16G)

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2
aodaobi

user 表从来没有亿级别,最高才20w+用户,但是流水表每天差不多有3-5百万条数据,我们解决方案是,第二天凌晨会把确认没问题的数据备份到mongodb 提高查询效率

4年前 评论

@vsenver 谢谢,不是users表亿级别,是一个用户行为数据表有1亿+数据,user_info表中有一两个字段,需要对这张大表进行sum运算,目前这张大表在mongodb中,之前考虑数据切割这种方案,但是当前场景是冗余字段管理,整体查询方面没什么毛病. :sweat_smile:

4年前 评论
aodaobi 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!