我有一个Oracle数据量问题,我认为这是由数据表示问题引起的。我有一个由七个不同列表组成的层次结构,需要存储这些元素的所有独特潜在组合。我需要存储所有可能的组合,因为我需要存储其他信息。
从历史上看,我们一直在管理四个列表,这些列表有几千个组合。这很好,但需求已经改变,因为他们不习惯,现在我们正在运行七个列表。在我的真实环境中,列表存储20到200个项目。现在,令人难以置信的是,这个组合的总数约为3500亿。
作为我们试图用此代表的一个例子,您可以选择以下列表:
颜色:红色,绿色,蓝色
形状:圆形,方形,三角形
味道:桃子,香蕉,覆盆子这些将作为单独的表存储在Oracle中,如COLORS,SHAPES,FLAVORS等,我们正在做的是将它们相乘(通过笛卡尔连接)以得到爆炸表:这就是我们'现在重新存储在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表中存储数十亿条记录,并且及时对它们执行任何操作。我试图想出不同的方法来存储这些信息,但我的大脑一直在干扰组合的数量。有什么办法可以用不同的方式存储记录吗?请记住,它们都是独特的组合,我们需要将数据与它们一起存储。
感谢您的帮助!
答案 0 :(得分:0)
如何将数据存储到非关系数据库?
我推荐使用MongoDB或Hypertable。
答案 1 :(得分:0)
最后,我们选择透视列表,以便不是拥有数百万行,而是选择包含许多列的表。这不是一种理想的方法,但它确实对其他人有一些好处。