【发布时间】:2017-02-19 03:54:04
【问题描述】:
我想以某种方式桥接 2 个现有应用程序。两者都有相似的域(产品目录),但第一个应用程序使用 NoSQL 文档存储来存储记录,而第二个应用程序使用 SQL 表。
第一个表中的示例记录如下所示:
{
"productId": 123,
"sku": "abc",
"packageSizes": {
"container": 20,
"pallet": 50
}
}
而第二个域中的相同项目将是 ProductItem 表中的 1 行:
| id | sku |
| 123 | abc |
然后ProductPackageSizes 表中的 2 行:
| productId | type | size |
| 123 | container | 20 |
| 123 | pallet | 50 |
系统目前是完全独立的,但我希望这样每当在 NoSQL 应用程序中创建记录时,在 SQL 应用程序中创建相同的项目。
我可以为此编写一个一次性脚本,它只是根据当前数据的样子以程序方式创建它。但是,我很想知道是否有任何既定的设计模式来描述这种转换?特别是如果将来有新的packageSizes 或其他关系添加。
【问题讨论】:
-
取决于最终目的?只是为了在 NoSQL 和 SQL 之间复制数据库模式。可以,但我为什么要问?
-
@user7568042 虽然应用程序有一些相同类型的数据,但它们并不完全相同。第一个目的略有不同,更受我控制。而第二个应用程序 (SQL) 是我们碰巧与之集成的第 3 方报告应用程序,但需要将数据发送到其中。
标签: sql node.js design-patterns nosql