【发布时间】:2018-01-11 12:11:09
【问题描述】:
在我们的数据库(Oracle 12c、Exadata)中,我们计划存储销售数据。包含销售数据的输入文本文件每天都会出现(每天约 1000 个文件,每个文件包含约 20000 行)。文本文件被读取并尽快传输到数据库。根据我们的计算,它将在一年内增长到 5 TB。
数据格式:
[transaction date][category][sales_number][buyer_id][other columns]
销售数据有 10 个不同的类别,具有相同的字段。从逻辑上讲,数据可以只存储在一个表中,也可以分为 10 个表(相对于类别)。
在 oracle 中存储此类大数据的最佳做法是什么?应该应用什么样的分区和索引策略?
限制条件:数据应在 2-3 天内提供给营销部门进行分析。基于 [sales_number] 或 [category]、[buyer_id] 或 [buyer_id] 列的查询。
【问题讨论】:
-
你的意思是1000行当你写“每天~1000个文件”吗?
-
您有基于类别的查询吗?
-
每天 1000 个文件,每个文件包含 ~10000 行,大多数情况下查询都有类别。
-
更新:每天1000个文件,每个文件包含~20000行,
-
通常,营业日期是分区键。您可以按类别进行细分,但如果不进行详细分析,则很难说。