我需要在Oracle中设计一个表,每天将存储2-5TB的数据。它可以增长到 200TB,超过 200TB 时记录将被清除。
将其保留在 OLTP 中是一个可行的选择,还是需要将其转移到数据仓库 DB?
请建议我在设计该表或数据库的架构时应牢记的注意事项。
另外,如果它是 SQL 服务器,请告知,因为我可以使用任一数据库。
这个大小使您进入 VLDB 领域(非常大的数据库)。
在那个高度,情况就完全不同了。
如果您的申请没有完整的责任要求,则无法回答您的问题。您需要根据应用程序的性能进行设计DO与数据。
我的建议是找一个有过经验的人加入,否则你几乎 100% 肯定会失败。
如果您使用 Oracle,它提供了几种类型的分区,您需要非常小心地使用它们。您需要分区用于管理目的(移动数据、构建索引、恢复数据)以及查询性能:
- 范围分区,例如按日期范围
- 列表分区,用于存储按国家/地区划分的数据切片(“SE”、“US”、“GB”)
- 哈希分区。根据哈希函数将数据存储在其中一个分区中
- 或者以上的任意组合
此外,您还需要知道如何构建和配置具有真正出色 I/O 吞吐量的怪物机器的人。您需要超过 1GB/s,当您还需要存储 200 TB 时,这并不是很便宜。实际上,如果这 200 TB 仅是表数据,您将需要将其增加一倍或三倍才能创建索引、聚合表、备份等。
抱歉,我无法为您提供可供使用的解决方案,但我想确保您了解您不仅仅是构建一个高于平均大小的数据库。它是巨大的!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)