gpt4 book ai didi

sql-server - 如何设计一个存储非常大数据的表?

转载 作者:行者123 更新时间:2023-12-03 16:37:18 24 4
gpt4 key购买 nike

我需要在Oracle中设计一个表,每天存储2-5TB的数据。它可以增长到 200TB,超过 200TB 时将清除记录。

将其保留在OLTP中是一个可行的选择,还是我需要将其转移到数据仓库DB中?请建议我在设计此表或数据库的架构时应牢记的注意事项。

此外,如果它是 SQL 服务器,请告知,因为我可以使用任何一个数据库。

最佳答案

该大小使您处于 VLDB 领域(非常大的数据库)。在那个高度,情况根本不同。

如果没有对您的应用程序职责的全部要求,您的问题将无法得到回答。您需要针对您的应用程序应对数据执行的操作进行性能设计。

我的建议是让有经验的人加入,否则你几乎 100% 肯定会失败。

如果您使用 Oracle,它提供了多种类型的分区,您需要非常小心地使用它们。您需要分区用于管理目的(移动数据、构建索引、恢复数据)以及查询性能:

  • 范围划分,例如按日期范围划分
  • 列表分区,用于存储国家/地区数据切片('SE'、'US'、'GB')
  • 散列分区。根据哈希函数将您的数据存储在其中一个分区中
  • 或以上的任意组合

此外,您还需要知道如何构建和配置具有真正出色 I/O 吞吐量的巨型机器的人。您需要超过 1GB/s,当您还需要存储 200 TB 时,这并不是很便宜。实际上,如果这 200 TB 只是表数据,您需要将其增加一倍或三倍才能创建索引、聚合表、备份等。

抱歉,我无法为您提供现成的解决方案,但我想确保您了解您不仅仅是在构建一个高于平均规模的数据库。这是巨大的!

关于sql-server - 如何设计一个存储非常大数据的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5410811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com