所以。
我们正在进行一些我从未经历过的规模的分析。我们必须从一大堆服务器日志中提取一些汇总数字和数据。(估计每月总计 2GB)。
我估计每月大约有 2500 万行数据要插入到表中。相对较宽的表,10 列 varchar(25)。
然后我们必须进行分组(字符串列),然后计算唯一值。我们将按月处理,然后可能按季度/年度处理,具体取决于业务反馈。
那么,最坏的情况
count(string_column) from table group by (string_column)
超过3亿行(25 * 12)。
SQL Server 是可行的解决方案吗?可行,例如:
- 可计算。分组/计数操作不超过 10 到 15 分钟。
- 可维护。备份时间不超过 10 到 15 分钟。
- 可操作。例如,每天向具有 5 个索引列的 3 亿行表中插入 200 万行,不会花费太长时间。
- 经济实惠。在具有 8 个虚拟核心(不管这意味着什么。他们说这是 1:1 到物理)和 16 GB RAM 的虚拟机上运行,磁盘 IO 通常很差。这够了吗?是否需要优化的裸机主机?
我投入的时间确实正是我所期望的(10 到 15 分钟)。具体来说,我们可以连夜工作。当我们第二天来的时候,如果出了问题,备份/恢复数据库,第二天重新计算数字必须“及时”进行。
抱歉,无法提供更多细节,但如果有人能使用这些参数提供一些说明,我们将不胜感激。