跟踪表格或某些数据以进行分析的最佳方法是什么?
What is the best way to keep track on tables or some data for analytics?
举个例子,django
模型类如下。
所以,现在的问题是我如何有效地实施分析以生成每天的产品销售数量、每月的销售数量、每天的利润数量等等 ?
一个可能的解决方案是针对特定日期的每个销售更新计数。但是如果我有非常大的客户群(即 100 万客户和每小时 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()
...
...
这通常由 google 分析等服务完成。
您可以在此处找到文档:https://support.google.com/analytics/answer/1009612
创建一个模型 SalesStatistics
,它存储每个预定义时间间隔的销售计数。如果需要按小时、按天、按月统计,存储按小时统计就可以了。
有两种简单的方法可以实现这一点 -
- 写一个每小时 运行s 的 cron 作业,计算一个小时内的销售量。
id, sales_count, timestamp
__________________________________
1231 304 "2 pm, 21st April 2019"
1232 443 "3 pm, 21st April 2019"
您可以使用任何 RDBMS 轻松地从中检索每小时、每天或每月
MYSQL offers a vast number of date time function to making querying time series data easy. https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
- 在数据库中使用内置
event schedulers
。在数据库中,您可以安排 运行 在某个时间间隔进行查询,并将结果存储在 table 中。 [MySQL Event Scheduler][1]
举个例子,django
模型类如下。
所以,现在的问题是我如何有效地实施分析以生成每天的产品销售数量、每月的销售数量、每天的利润数量等等 ?
一个可能的解决方案是针对特定日期的每个销售更新计数。但是如果我有非常大的客户群(即 100 万客户和每小时 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()
...
...
这通常由 google 分析等服务完成。
您可以在此处找到文档:https://support.google.com/analytics/answer/1009612
创建一个模型 SalesStatistics
,它存储每个预定义时间间隔的销售计数。如果需要按小时、按天、按月统计,存储按小时统计就可以了。
有两种简单的方法可以实现这一点 -
- 写一个每小时 运行s 的 cron 作业,计算一个小时内的销售量。
id, sales_count, timestamp
__________________________________
1231 304 "2 pm, 21st April 2019"
1232 443 "3 pm, 21st April 2019"
您可以使用任何 RDBMS 轻松地从中检索每小时、每天或每月
MYSQL offers a vast number of date time function to making querying time series data easy. https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
- 在数据库中使用内置
event schedulers
。在数据库中,您可以安排 运行 在某个时间间隔进行查询,并将结果存储在 table 中。[MySQL Event Scheduler][1]