数据库设计&第三方集成

时间:2017-09-11 03:51:36

标签: sql database database-design relational-database

我们正在构建一个应用程序,电子商务所有者可以从不同的平台(例如Shopify,Magento,Woocommerce)连接他们的商店。我们这样做是为了从这些不同的平台导入数据。

所以我们有一个Stores表。在那里,我们拥有所有平台共有的数据和一些特定于平台的数据。

我不知道该怎么做。我们应该创建包含特定于平台的信息的特定表,还是创建用于存储某些信息的列,但是对于其他平台的商店来说这是空的?

利弊是什么?知道如果我们选择2,我们就需要为我们集成的所有新平台创建表格。

1 个答案:

答案 0 :(得分:0)

您还没有说过您正在使用的特定RDBMS,但使用PostgreSQL,您可以选择使用外部数据包装器。这些允许您将来自其他源和API的数据联合到您的应用程序数据库中,并像读取内部表一样读取和写入外部表(假设外部API允许您修改数据)。使用此方法,您只需确保stores与外表中的相应条目正确关联。使用Multicorn开发FDW相对容易。

如果这不是一个选项:使用列有效查询,因为信息就在商店记录中。但是,它可能会变得笨拙,具体取决于它有多少,如果你可以在其中一个外部平台上拥有多个存在的租户 - 那些发生了的事情 - 你'为了一些麻烦。关系表单可以更轻松地添加和更改对外部平台的支持,因为您不必锁定整个租户表来添加或删除列。

更简单的方法可能就是你需要开始的所有方法,但最终可能很聪明地计划表格。