【发布时间】:2020-04-18 02:15:33
【问题描述】:
我有一个大矩阵,目前存储在特定表中。
每个矩阵行都有一个与不同表相关的特定 ID。 (这就是我使用 RDBMS 的原因)。
目前,我使用“JSONB”类型列作为矩阵行的字段(每个矩阵行包含 10000 列)。
所以它看起来像这样 -
ID , 不同的表 ID, 矩阵行 (JSONB)
现在,我想查询此表以使用矩阵。例如,当查询应该已经在 python 中以矩阵形式检索它时,迭代 500 行矩阵的批次。
我该怎么做?
有没有更好的方法来存储这个矩阵,以便我以后可以操作它?
我应该使用 HDF5 而不是 SQL 吗?
【问题讨论】:
-
您能否发布更多信息。单元格是什么类型,可能是数字?这500行,是怎么选出来的?你需要所有这些吗?为什么不同的表 ID?那是外键吗?不同的表与矩阵行有什么关系?
-
矩阵单元格是数字,所有列都被选中,另一个表ID是连接到不同表的外键(一对一)
-
通常插入多少行。您是因为范围而选择一行,要在其中找到单个单元格,还是因为特定的数字组合而需要这些行?数字分布均匀吗?是否有很多不同的单元格编号值,如果没有,您可以考虑使用位图索引。
-
@aschoerk 有超过 100000 行。这些行也分批插入。数字分布不均。该矩阵代表一个特定的向量空间 - 一个训练有素的模型。我需要批量查询它,因为我不想将所有这些都保存在内存中,并且我需要能够将它用于一些数字操作,例如使用点积等...
标签: python sql postgresql matrix hdf5