我有几个 OLTP 数据库与 API 对话。我也有每隔几个小时将数据推送到 OLAP 数据库的 ETL 作业。
我的任务是构建一个自定义仪表板,显示来自 OLAP 数据库的高级数据。我想构建几个指向 OLAP 数据库的 API。我是不是该:
- 添加到我现有的 API 并调用 OLAP 数据库并使用 CQRS 类型模式,因此读取来自 OLAP,而写入来自 OLTP。我在这里担心的是读取和写入之间的数据可能不匹配。数据的不匹配程度取决于您运行 ETL 作业的频率(在我的情况下为小时数)。
- 添加到我现有的 API 并调用 OLAP 数据库,然后要求客户端选择是否需要 API 重叠的 OLAP 或 OLTP 数据。我在这里担心的是客户端不需要知道数据来自哪里的实现细节。
- 编写仅指向 OLAP 数据库的新 API。这是很多额外的工作。