api - 带有 OLTP 和 OLAP 数据库的 CQRS 有意义吗?

标签 api olap microservices cqrs oltp

我有几个 OLTP 数据库,它们的 API 与它们对话。我也有每隔几个小时将数据推送到 OLAP 数据库的 ETL 作业。

我的任务是构建一个自定义仪表板,显示来自 OLAP 数据库的高级数据。我想构建几个指向 OLAP 数据库的 API。我是不是该:

  • 添加到我现有的 API 并调用 OLAP 数据库并使用 CQRS 类型模式,因此读取来自 OLAP,而写入来自 OLTP。我在这里担心的是,读取和写入之间的数据可能不匹配。数据不匹配的程度取决于您运行 ETL 作业的频率(在我的情况下为小时)。
  • 添加到我现有的 API 并调用 OLAP 数据库,然后要求客户端选择他们是否需要 API 重叠的 OLAP 或 OLTP 数据。我在这里担心的是,客户端不应该需要知道数据来自何处的实现细节。
  • 编写仅指向 OLAP 数据库的新 API。这是很多额外的工作。
  • 最佳答案

    不要使用#1:当管理层谈论分析报告时,它不会打扰ETL过程之间的数据不匹配-显然您将在完成当天的ETL后生成CEO报告

    不要使用#2:这样你将加载具有分析开销的跨国系统并消除两个系统目的之间的隔离(不利于操作和维护)

    使用 #3 作为获取 的最佳方式处理结果 , 使用 Excel、PowerQuery、PowerBI 等现代工具,让您可以快速创建丰富的仪表板,而无需进入表格和编写 API。

    关于api - 带有 OLTP 和 OLAP 数据库的 CQRS 有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42486386/

    相关文章:

    html - HTML5 Web音频API-临时录制声音

    MDX 'is not equal to' 在 where 子句中

    angularjs - 如何在不打开浏览器的情况下在 docker 环境中测试 Angular 应用程序?

    php - API响应: Access member with hyphen in name

    c++ - C++ 中用于 NLP 的现有 API?

    ruby-on-rails - 如何从外部访问 Ruby on Rails 应用程序的数据?

    data-warehouse - 在数据仓库设计中识别事实表

    mdx - icCube 架构刷新时间

    python - 如何用flask和docker部署rabbitmq?

    api - 将微服务内部错误代码组合在一起?