设计 - JSON字符串为大量用户存储大量数据

时间:2018-01-11 21:08:46

标签: php mysql json

我不确定这是否是发布此内容的正确交换,所以如果我应该移动它,请告诉我。

这更像是一个设计问题。

我有一个网站,允许用户“跟踪”并跟踪他们的时间/工作。这涉及用户最多每分钟都可以使用我的网站更新其帐户,但通常用户每天只会执行几次。但是,没有什么可以阻止其他人更新您的帐户。

每次更新都会创建一个数据点,如果愿意,还可以创建他们的帐户状态和工作量。

用户可以查看他们在过去一天或过去一周内完成的工作量。这可以通过更改要查看的数据点的范围来完成。

我现在的问题是:很有可能拥有300k +用户。还有一些用户帐户比其他用户更密切地关注,例如,首席执行官或经理,因此这些帐户将更频繁地更新。这导致单个用户可能在仅仅一年左右的时间内获得100k +数据点。

目前我正在考虑通过以下映射存储这些:

unixtime -> account snapshot

这似乎最容易存储为用户的大型json数组(例如我将存储的其他详细信息):

jsonArray = {
    "alice": {
        "totalHours": 31.6,
        "updates": {
            1515653260 : { work: 95%, hours: 8 },
            1515691399 : { work: 93%, hours: 10 },
            1515695125 : { work: 91%, hours: 7.6 },
            1515698694 : { work: 56%, hours: 6 },
         }
    }
     "bob": {
        "totalHours": 7.32,
        "updates": {
            1515654356 : { work: 95%, hours: 1 },
            1515690342 : { work: 93%, hours: 6.32 },
         }
    }
}

这是一个有效的解决方案吗?我无法想象一个json字符串会占用太多空间而MySQL无法容纳它,但我从来没有处理过这么大的事情。

我是否可以使用其他数据结构,或者在获取/存储数据方面更有效?

感谢。

0 个答案:

没有答案
相关问题