gpt4 book ai didi

performance - 为什么有很多用户生成的表不是一个好主意

转载 作者:行者123 更新时间:2023-11-29 13:31:00 25 4
gpt4 key购买 nike

我遇到的情况是,有许多不同的结构化数据集(成千上万),行数 (100-10,000) 和列数 (10-100) 相对较少。这些数据集中的每个数据集一次只能访问一个。我事先不知道确切的列。

对于那些对造成上述情况的业务问题感到好奇的人。每个客户将输入一个完全自定义的数据集。然后将分析数据集并返回输出。随着新数据的加入,分析被重做。每个客户的列几乎完全不同。分析是一些中等强度的统计数据。

看起来正确的解决方案应该是这样的:NoSql 客户端数据。存储有关客户端在关系上下文中存储何种数据的元数据。拉取nosql数据以及添加更多数据的分析。

然而,在试图给自己确凿的事实说明为什么创建大量表格不是一个好主意时,我还没有得出满意的答案。

性能

据我所知,创建表的速度相对较快,更改具有 100-10,000 行的表也是如此。我查了一些基准似乎都很合理。访问数据也将与 nosql 相当,因为我一次只查看一个表,而不是一次查看所有表。

管理困惑

我知道至少对于 postgres 表元数据存储在表中。向我表明,使用表元数据可以管理困惑的表。在 NoSql 世界中,我同样会使用元数据来管理困惑。

表命名是另一个可能困惑的领域,但如果我看看 Redis 命名空间的世界,我会看到管理大量名称的不错的解决方案。

我很想知道为什么这是一个糟糕的想法的具体例子。性能、管理、开发时间等。

最佳答案

旧版本的 PostgreSQL 中有很多地方会花费 N^2 的表数来进行数据库转储、从转储中恢复以及使用 pg_upgrade 进行升级。大约 100,000 个表时,这可能变得难以忍受。因此,虽然系统在正常操作中运行良好,但在维护方面基本上变得难以管理。

大多数情况已在 9.2 或 9.3 中修复,因此如果您确实想这样做,您应该从 9.3 版开始。

关于performance - 为什么有很多用户生成的表不是一个好主意,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23271407/

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