暂存数据库需要哪些 Azure 产品?

Which Azure products are needed for a staging database?

我有几个外部数据 API 可以使用一些 Python 脚本访问。我的脚本 运行 来自本地服务器,转换数据,并将其存储在同一服务器上的 SQL 服务器数据库中。我想这是一个基本的 ETL 系统 运行 with Python and T-SQL.

系统将随着新的 APIs 增长相当大,并且将需要更复杂的数据管道(例如,一些 API 数据将被分拆到多个table)。我认为现在是将系统迁移到 Azure 的好时机(我们与 Microsoft 高度集成,所以它必须是 Azure!)。

我花了几天时间研究可以让我 运行 Python 脚本从 Web API 访问数据并将处理后的数据存储在云数据库中的 Azure 产品.我正在寻找有关其他人用于类似工作的 Azure 产品类型的建议。目前看来我需要:

  1. Azure SQL 用于保存可供不同同事访问的已处理数据的数据库。
  2. Azure 数据工厂来管理、记录和安排管道作业以及 运行 我的自定义 Python 脚本(这甚至可能吗?)。
  3. Azure Batch 到 运行 上述 Python 脚本,但我对此不确定。

我基本上想提出一个提案并开始考虑成本,但最好能听听做过类似事情的人的意见 - 我是在正确的轨道上还是完全偏离了轨道?我应该留在本地吗?提前谢谢你。

  1. Azure SQL 数据库,Azure SQL 数据仓库适用于关系数据。如果你想使用 NoSQL,你可以使用 Azure Cosmos DB。如果要使用文件存储数据,可以使用 Azure Data Lake。
  2. 对于 python 脚本,您可以将 custom activity or Data bricks 用于 Azure 数据工厂。

Azure SQL 如果要加载的数据量以 PB 为单位,则应使用 Warehouse。此外,Azure 数据仓库不适用于复杂的转换。我会推荐它用于使用 PolyBase 加载纯数据。