【问题标题】:Generate denormalized view of normalized relational data生成规范化关系数据的非规范化视图
【发布时间】:2020-05-21 22:43:24
【问题描述】:

我参与了一个正在开发基于 CQRS 的应用程序的项目。 该应用程序将从 NoSQL 存储中获取其所有数据,并在其中以非规范化格式检索数据。但是,实际数据驻留在关系系统中。 NoSQL 存储用作关系数据的视图。此视图应定期更新(可能每隔几分钟)。

我不确定应该使用什么技术来自动执行此更新过程。非规范化视图是可以在 SQL 查询中生成的 JSON,但这会使更新过程数据库供应商特定,这将成为一个问题。我尝试使用 Pentaho Kettle,但构建一个真正的非规范化结构被证明是非常乏味和耗时的。

考虑到它应该易于维护和适应,什么技术是合适的?

我正在考虑编写 Python 脚本,但我不确定它们的可维护性。

NoSQL 存储是 Couchbase,用于开发的 RDBMS 是 MariaDB。

【问题讨论】:

    标签: json nosql etl denormalization denormalized


    【解决方案1】:

    一个似乎运作良好的解决方案是使用 Pentaho Kettle 仅用于查询数据库和更新 NoSQL 存储。 JSON 作为查询的一部分生成(大多数 JSON 函数在 RDBMS 之间标准化,所以这很好)。因为我的数据库用户不能使用JSON_ARRAYAGG,所以所有子查询都表示为序列化的 JSON,在 Kettle 转换中被解析并替换为实际的 JSON。

    【讨论】:

      猜你喜欢
      • 2020-04-06
      • 2011-03-08
      • 2018-02-07
      • 2013-12-11
      • 2013-01-18
      • 2012-12-31
      • 2014-12-23
      • 2017-01-14
      • 2013-08-21
      相关资源
      最近更新 更多