我有一个java应用程序。我的应用程序有'n'个用户,有3种角色(r1,r2和r3)。我需要用户的每日使用情况报告。换句话说,我需要找到每天使用我的应用程序的用户数(按角色)。
我需要每天用户数,因为, role1的用户 - 456, role2的用户 - 3463等。
我该怎么做?我打算将用户登录日期存储在单独的表中。这样我就可以按日期轻松计算用户数量。但是数据库中这些数据所需的存储空间可能太高了。
任何人都可以建议我上述过程是否是一种有效的方式,或者是否有任何预定义(开源或付费)工具来跟踪用户数量(按角色)和活动。或者还有其他有效的方法吗?
答案 0 :(得分:1)
你的想法很好。如果你需要的只是用户登录计数那么好。我认为在用户登录时保留日志是好的。我知道您不需要跟踪活动。您可以使用用户登录,登录日期等将数据保存在表中。如果数据过大,请使用MongoDB等非关联数据库或上个月/年的汇总数据等。我的意思是创建聚合行,如{{1}只需保留每天的角色数量并删除“原始”数据。
答案 1 :(得分:0)
如果您确定基于3个(或更多)角色只需要计数,那么我建议以下方法可以节省大量空间。 (假设它是Oracle数据库)
在这种方法中,您只有等于角色数量的行。在删除序列之前,检索每个角色的“计数器”值,然后将其删除以重置。您可以进一步自动化整个过程。