Azure Synapse Analytics-摄取过程和锁定



我有一个5TB的SQL Server数据库,我想将其纳入Azure Synapse Analytics。我的问题:

  • 当数据被摄入时会发生什么
  • 当摄入运行时,源数据库上会有锁吗
  • 在摄取运行时,其他应用程序还能使用数据库吗

从这个意义上说,实际上并没有数据库锁定这样的东西。读取锁将在行、页或表级别获取,具体取决于您为提取数据而运行的查询类型,甚至这也是一个简化的解释(例如,请参阅此处了解更多详细信息(。这将允许其他应用程序在摄取运行时使用该数据库。如果您的应用程序同时执行更新/插入/删除操作,则此可能生成锁定(甚至阻塞(。其他读卡器不应被阻止。

所有这些都取决于许多因素,例如:读取操作的长度、给定操作的事务隔离级别、数据库上已提交读取快照的状态等,因此这实际上不是"是"或"否"的答案。

我的观察结果是,以这种方式消耗5TB是一个很大的数据库。它是挥发性的吗?读的时候记录在变吗?

如果是这样,您可能会考虑另一种方法,例如备份某个时间点固定的数据库,将其恢复到云中的VM并从中提取。这将是确保不间断访问和在特定时间点拥有一致快照的一种方法。如果对此一致性有更严格的要求,则应考虑其他选项,例如将数据库标记为只读(在提取过程中(或删除所有写访问权限。

这在某种程度上取决于数据库的易失性,以及这对您的流程是否重要。

最新更新