数据仓库直接从数据库或通过 api 获取数据

Data warehouse fetch data directly from db or through api

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

非常感谢!

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

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

API 解决方案缺点:

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

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

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

  1. 同意数据源团队关于数据文件格式的意见。这样您就可以独立工作,甚至可以使用不同的 RDBMS。
  2. 选择数据源团队数据库和您的数据库都可以快速访问的良好共享。
  3. 要求数据源团队实现文件导出逻辑。
  4. 从文件实现导入逻辑。

请注意第 3 项和第 4 项只需几行代码。正如我所说,大多数数据库都内置并优化了 export/import 数据到文件的功能。

希望对您有所帮助!