例如,请使用django
模型类,如下所示。
那么,现在的问题是,我如何有效地实施分析,以产生每天的产品销售数量,每月的销售数量,白天的利润数量等等?
一种可能的解决方案是该特定日期的每个销售更新计数。但如果我有非常大的客户群(即1M客户和每小时500销售额)。
那么有没有更好的方法来实现这一目标?
这些模式仅供参考
class Product(models.Model):
name = models.CharField(max_length=20)
category = models.ManyToManyField("Category", null=True)
...
...
class Sales(models.Model):
product = models.ForeignKey("Product")
price = models.DecimalField(max_digits=20)
timestamp = models.DateTimeField()
...
...
创建一个模型SalesStatistics
,它存储每个预定义间隔的销售计数。如果需要每小时,每日和每月统计数据,则存储每小时统计数据就足够了。
实现这一目标有两种简单方法 -
id, sales_count, timestamp
__________________________________
1231 304 "2 pm, 21st April 2019"
1232 443 "3 pm, 21st April 2019"
您可以使用任何RDBMS轻松地每小时,每天或每月检索一次
MYSQL提供了大量的日期时间功能,使查询时间序列数据变得容易。 https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
这通常通过谷歌分析等服务来完成。
你可以在这里找到doc:event schedulers