我是一个相对noob的程序员。我正在创建基于Web的GIS工具,用户可以上传10行到1百万的自定义数据集。数据集可以具有可变列和数据类型。您如何管理这些用户提交的数据集?
每个数据集创建一个表是个坏主意吗? (顺便说一下 - 我将使用postgresql作为数据库)。
如果已经在某个地方得到了解答,我很抱歉,但我的搜索结果没有得到任何好处。我可能在搜索中使用了错误的关键字。
谢谢!
答案 0 :(得分:1)
我的同事和我最近解决了类似的问题,我们在MySQL中有一个糟糕的数据模型,并且正在寻找更好的方法来实现它。我们权衡了一些不同的选项,包括MongoDB,最后使用了实体属性值模型。 EAV模型本质上是一个3列模型。它允许我们使用单个模型来表示可变数量的列和数据类型。
您可以阅读一些关于our problem here的内容,但听起来它也可能适合您。
答案 1 :(得分:1)
根据数据集创建表格根本不是一个“坏”的想法。 swivel.com是一个与你所描述的非常相似的应用程序,我们使用每个数据集的表格,它非常适用于用户上传数据集的图形生成以及使用连接比较数据集中的数据。我们有超过10k的数据集和接近一百万个图表,一些数据集非常大。
你也可以从你的orm层获得大量的免费使用,例如我们可以使用活动记录来处理数据集(每个数据集都是一个生成的模型类,其表格设置为实际的表格)
陷阱明智的是,如果您有任何类型的交叉数据集计算,您必须做很多连接。