我需要在Oracle中设计一个表,它将在一天内存储2-5 TB的数据。它可以增长到200TB,记录将在超过200TB时被清除。
将它保留在OLTP中是否可行?或者我是否需要将其转移到数据仓库DB? 请在设计此表或数据库的模式时牢记建议。
另外,请告知它是否是SQL服务器,因为我可以使用任何一个数据库。
答案 0 :(得分:6)
该大小使您进入VLDB区域(非常大的数据库)。 在那个高度,情况根本不同。
如果没有您的申请职责的全部要求,您的问题就无法回答。您需要根据应用程序 DO 的数据来设计性能。
我的建议是让那些有过往经验的人,或者接近100%保证会失败。
如果您使用Oracle,它会提供您需要非常小心使用的几种类型的分区。您需要用于管理目的的分区(移动数据,构建索引,恢复数据)以及查询性能:
此外,您需要知道如何构建和配置具有真正令人敬畏的I / O吞吐量的怪物机器的人。您需要超过1GB / s,当您还需要存储200 TB时,这不是很便宜。实际上,如果那些200 TB只是表数据,则需要将其加倍或加倍才能创建索引,聚合表,备份等。
抱歉,我无法为您提供可供使用的解决方案,但我想确保您了解您不仅仅是在构建一个高于平均水平的数据库。这是巨大的!
答案 1 :(得分:3)
我首先会看一下你的磁盘子系统,并确保它能够处理你每天都会做的2-5 TB负载。 Oracle和SQL Server都内置了分区。在SQL Server中,您还可以使用压缩来最小化磁盘上的存储(不确定Oracle)
这主要用于OLAP还是OLTP?