可变数量的列的数据库模式

时间:2015-09-28 13:03:49

标签: sql database-schema

所以我有一个应用程序可以采用任何类型的数据文件(csv,tsv等),但数据可能会有所不同 - 它可能是体育,天气,甚至基因组学数据,因此列将是不同的。

我想到的一种模式是每种特定文件格式都有一个表。例如,当加载新文件时,它将检查所有列以查看具有这些特定列的表是否完全匹配并将数据转储到该表中,否则它将创建一个新表。还将有一个主表列表,其中包含每个文件的校验和,以确保在将文件添加到数据库时没有重复。

所以

TABLE LIST
MD5 | File Name

FILE DATA
NAME | COLUMN 1 | COLUMN 2 | COLUMN 3

列实际上是列的名称,列不仅限于3。

我也研究了EAV架构并考虑了NoSQL解决方案,但我不确定这些是否是最佳选择。将需要考虑数十万个文件和大量的连接/查询。

我可以使用Postgres的hstore,但只能映射string:string。我在考虑为数据中该列下的所有行映射列名:[数组的数组],还有另一种方法吗?使用postgres的数组是否合适?

0 个答案:

没有答案