您在查询具有 >10B 行的 Oracle 表方面有何经验?表被很好地分区可以使用“noraml”机器(集群)来完成,还是 - 它需要一台巨大的机器吗?
谢谢!
行数本身不是问题。系统是否符合规范还取决于数据访问模式、存储性能(通常严重不足)、访问它的会话数、是否存在预先计算的摘要等。
所以,我不会说一定需要特殊的硬件。
假设表是分区的并且查询指定了分区键,那么表的大小是无关紧要的。您唯一需要关心的是为了执行查询而需要扫描的分区的大小。这通常只是一个或两个分区,您应该能够用最少的硬件资源来完成。
当然,如果你有 100 亿行数据,这通常意味着你有一个相对较大的公司的数据仓库,这是更大的问题。大公司有大量员工希望能够针对数据仓库进行报告。他们有大量需要进入数据仓库的罐装报告。他们有大量的数据源。他们有大量需要填充的数据集市。它们的加载窗口相对较短。这些需求推动了对更多硬件的需求,有时还需要像 Exadata 盒子这样的专用硬件。