我们正在构建一个应用程序,eCommerce用户可以从不同的平台(例如Shopify,Magento,Woocommerce)连接他们的商店。我们这样做是为了从这些不同的平台导入数据。
所以我们有一个Stores
表。在那里,我们有所有平台通用的数据和一些特定于平台的数据。
我不知道在这里该做什么。我们是应该创建包含特定于平台的信息的特定表,还是应该创建列来存储特定的信息,但对于来自其他平台的存储将是空的?
这样做的利弊是什么?如果我们选择选项2,我们将需要为所有与之集成的新平台创建表。
发布于 2017-09-14 06:32:48
您还没有说明您使用的是哪种特定的RDBMS,但是对于PostgreSQL,您可以选择外部数据包装器。它们允许您将来自其他来源和API的数据联合到您的应用程序数据库中,并像读取和写入内部表一样读写外部表(假设外部API允许您修改数据)。使用这种方法,您只需要确保您的stores
与它们在外部表中各自的条目正确关联。使用Multicorn开发FDW相对容易。
如果这不是一个选择:使用列进行查询是有效的,因为信息就在您的商店记录中。然而,它可能会变得笨拙,这取决于它的大小,如果你有一个租户在这些外部平台上有多个存在--奇怪的事情已经发生了--你会遇到一些麻烦。而且,关系表单使得添加和更改对外部平台的支持变得更容易,因为您不必锁定整个租户表来添加或删除列。
更简单的方法可能是您开始时所需要的全部,但在最后计划表可能是明智的。
https://stackoverflow.com/questions/46147925
复制相似问题