我们的一个小程序在使用 MySQL 做数据存储,最大的单表 1-2 千万行,每天的增量不到 100W 行。
现在要做统计,可能会关联很多其他的表(活动,产品页面,用户等)。
直接在 navicat 中查,关联几个表,在 distinct 一下,就要一分钟了。
统计结果要做成 API,提供给网页端报表和 APP 端报表使用。
有什么更好的方案吗?
目前想到的临时方案是存储过程写结果表,定时更新。
比如一张表记录每天的新用户数和活跃用户数,一张表记录每天的订单情况。
这样做可以减轻数据库压力,但是不够灵活,运营方有一个需求要统计就需要写一个结果表。
也考虑过数据分层,构建多维数据仓库,然后使用微软的 SSAS 构建 CUBE,不知道这样做还能否通过 API 取 SSAS 中的数?
另外这种方案的成本怎么样?
再另外,现在这种数据量,有上 Hadoop 的必要吗?(目前开发团队主要技术栈是 Node,Python,.Net )
现在要做统计,可能会关联很多其他的表(活动,产品页面,用户等)。
直接在 navicat 中查,关联几个表,在 distinct 一下,就要一分钟了。
统计结果要做成 API,提供给网页端报表和 APP 端报表使用。
有什么更好的方案吗?
目前想到的临时方案是存储过程写结果表,定时更新。
比如一张表记录每天的新用户数和活跃用户数,一张表记录每天的订单情况。
这样做可以减轻数据库压力,但是不够灵活,运营方有一个需求要统计就需要写一个结果表。
也考虑过数据分层,构建多维数据仓库,然后使用微软的 SSAS 构建 CUBE,不知道这样做还能否通过 API 取 SSAS 中的数?
另外这种方案的成本怎么样?
再另外,现在这种数据量,有上 Hadoop 的必要吗?(目前开发团队主要技术栈是 Node,Python,.Net )