tidb这种行式数据库确实不是存储日志用的,但是对于tidb这种新数据库,我们从引入到部署到核心系统,需要一个熟悉的过程,用户行为数据不是核心数据,就算是数据丢失,也没有什么问题,因此就从这个系统引入了tidb。
我们原来一直用的买的三方的用户行为分析系统,它里面提供了比较完善的功能,但是有个问题,就是我们业务系统数据导入比较费劲,不提供批量导入的接口,和他们提了需求,但是也没有实现,另外我们买的是部署在我们自己机房的服务,但是对方可以直接访问,数据安全也存在问题。正好最近分布式数据库技术的完善,给我们提供了另一种方式记录海量数据的简单方式。我们就基于TiDB自己设计开发了一套记录用户行为的系统,设计如下:

user_behavior记录用户的行为,是整个系统中最大的表,里面记录的都是各种外键id,尽可能压缩空间,详细信息如下
| 字段名 |
字段类型 |
字段意义 |
| system |
TINYINT |
系统id(联合主键) |
| uid |
INT |
用户id(联合主键) |
| access_t |

本文介绍了如何利用TiDB构建用户行为分析系统,以解决原有系统数据导入困难和数据安全问题。通过设计多个表如user_behavior、func、func_msg等,记录并统计用户行为数据。系统采用实时推送消息到队列,然后批量写入Redis和TiDB,提升效率。经过优化,系统能够支持任意维度的数据插入和高效查询,展示了TiDB在处理大数据场景的优势。
最低0.47元/天 解锁文章
1101

被折叠的 条评论
为什么被折叠?



