0

我遇到了 Oracle 数据量问题,我认为这是由数据表示问题引起的。我有一个由七个不同列表组成的层次结构,并且需要存储这些元素的所有独特的潜在组合。我需要存储所有可能的组合,因为我需要与它们一起存储附加信息。

从历史上看,我们一直在管理四个列表,其中包含几千种组合。这很好,但是要求已经改变,因为它们是惯常的,现在我们正在运行七个列表。在我的真实环境中,列表存储 20 到 200 个项目。现在,令人难以置信的组合总数约为 3500 亿。

作为我们试图用这个表示的一个例子,您可以选择以下列表:

颜色:红色、绿色、蓝色

形状:圆形、方形、三角形

口味:桃子、香蕉、覆盆子

这些将在 Oracle 中存储为单独的表,如颜色、形状、风味等,我们要做的是将它们全部相乘(通过笛卡尔连接)以获得分解表:这就是我们存储的内容甲骨文目前。

COLOUR    SHAPE   FLAVOUR    DATA_1 DATA_2
Red       Circle  Peach      -- these hold additional information
Red       Circle  Banana
Red       Circle  Raspberry
Red       Square  Peach
Red       Square  Banana
...

等等。

我们发现我们无法在 Oracle 表中存储数十亿条记录,也无法及时对它们执行任何操作。我试图想出不同的方法来存储这些信息,但我的大脑一直在纠结组合的数量。我能做些什么来以不同的方式存储记录吗?请记住,它们都是独特的组合,我们需要将数据与它们一起存储。

谢谢你的帮助!

4

2 回答 2

0

将数据存储到非关系数据库怎么样?

我会推荐 MongoDB 或 Hypertable。

于 2013-04-05T14:34:53.070 回答
0

最后,我们选择对列表进行透视,这样我们就可以选择具有许多列的表,而不是拥有数百万行。这不是一个理想的方法,但它确实对其他人有一些优势。

于 2013-04-25T22:11:23.213 回答