首页 > 解决方案 > 从 REST API 获取数据并将其存储在 Azure Data Lake 中

问题描述

从 REST API 获取数据并将其作为 JSON 存储在 Azure 数据湖中是否有意义?或者数据应该直接存储到 Azure SQL 中?

我已经尝试了这两个选项,但不清楚在哪种情况下值得将数据保存到 Azure Data Lake。

标签: azure-data-factoryazure-data-lake

解决方案


是的,这是一种完全正常的模式,特别是为收集大量数据而出现的模式。写入数据库很棒,但有(至少)两个方面需要考虑:

  1. schema-on-write -在写入数据库之前,您必须知道架构。这意味着所有列、所有数据类型、可空性、排序规则,甚至在您考虑写入记录之前。例如,您将如何处理 JSON 更改的架构?
  2. 事务日志 - 大多数 Microsoft SQL 数据库使用预写日志或 WAL,这意味着事务日志必须在事务被视为 ACID 事务的一部分之前完成。在数据库负载重或高并发的情况下会发生什么 - 排队和阻塞。通常这些事情需要几毫秒,但低层等开始发挥作用。如果您需要这种东西,则可以使用诸如最终一致性(例如与 Cosmos 之类的)的替代模式。

合同中的数据湖是读取时模式,即您不必知道模式即可写入湖,因此您可以登陆它并稍后找出其他内容。

这不一定适用于您关于 Synapse 的其他问题,因为您冒着丢失完美 SQL Server 数据类型的风险。请查看其中一个迁移向导


推荐阅读