【问题标题】:Data warehouse fetch data directly from db or through api数据仓库直接从db或通过api获取数据
【发布时间】:2016-03-20 21:00:46
【问题描述】:

我们需要将数据提取到我们的数据仓库中。数据源之一来自内部。 我们有两个选择: 1. 要求数据源团队通过API公开数据。 2. 要求数据源团队每天转储数据,授予我们只读数据库凭据以访问转储。 谁能给点建议?

非常感谢!

【问题讨论】:

    标签: mysql database architecture data-warehouse


    【解决方案1】:

    这在很大程度上取决于数据的大小和性质、您使用的工具类型、数据源团队是否知道“API”等。

    我认为我们需要更多信息才能在此处提出明智的建议。我真的建议您与您的 DBA 进行对话,看看他们为您提供了哪些选择,并认真考虑他们的建议。对于什么对您的问题最有效,他们可能比我们有更多的洞察力。

    【讨论】:

      【解决方案2】:

      API 解决方案缺点:

      • 成本。您的数据源团队将不得不构建 api。然后,您将必须构建客户端应用程序以从 api 读取数据并将其插入到数据库中。您还必须在某处托管 api 并设计部署过程。这是相当多的工作,我认为这不值得。
      • 性能。没有必要,但通常当涉及到数据仓库时,这意味着必须处理大量数据。使用 api,您很可能必须先转换数据,然后才能使用数据库的批量插入功能

      Daily db dumps 解决方案对我来说看起来好多了,但如果我是你,我会稍微改变它。我会使用平面文件。大多数数据库都具有从文件中批量插入数据的功能,而且它通常是完成任务的最快方法。

      所以根据我从你的问题中了解到的情况,我认为你应该做到以下几点:

      1. 就数据文件格式与您的数据源团队达成一致。这样您就可以独立工作,甚至可以使用不同的 RDBMS。
      2. 选择数据源团队数据库和您的数据库都可以快速访问的良好共享。
      3. 请数据源团队将导出逻辑实现到文件。
      4. 从文件实现导入逻辑。

      请注意项目 3 和 4 应该只需要几行代码。正如我所说,大多数数据库都内置并优化了将数据导出/导入文件的功能。

      希望对你有帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-21
        • 2018-07-17
        • 2018-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-21
        • 2022-01-14
        相关资源
        最近更新 更多