gpt4 book ai didi

google-bigquery - BigQuery 中的事务隔离级别是什么

转载 作者:行者123 更新时间:2023-12-03 16:21:52 24 4
gpt4 key购买 nike

任何人都可以帮助解释谷歌云 BigQuery 中的事务隔离级别是什么?似乎没有关于此的任何文件。我们知道在其他数据库中,例如sql server 数据库,有事务隔离级别:未提交读、已提交读、可重复读、快照、可序列化。

谢谢。

最佳答案

关于它的信息并不多,但在本迁移指南中,我们可以找到 BigQuery 之间的一些比较。和 Teradata这可以给我们一个线索。

正如指南中所说,BigQuery使用乐观并发控制,该控制不使用锁操作,假设多个事务可以频繁完成而不会相互干扰。当多个DML事务同时在同一张表中执行时,BigQuery使用使用锁操作的悲观并发控制。确保隔离 , BigQuery使用 snapshot isolation方法。

BigQuery helps ensure optimistic concurrency control (first to commit wins) with snapshot isolation, in which a query reads the last committed data before the query starts. This approach guarantees the same level of consistency on a per-row, per-mutation basis and across rows within the same DML statement, yet avoids deadlocks. In the case of multiple DML updates against the same table, BigQuery switches to pessimistic concurrency control. Load jobs can run completely independently and append to tables. However, BigQuery does not yet provide an explicit transaction boundary or session.



它在指南中还说

Because there is no explicit transaction boundary in BigQuery yet, there is also no concept of an explicit rollback in BigQuery. The workarounds are table decorators or using FOR SYSTEM_TIME AS OF.



鉴于我们可以假设 BigQuery有它的特定实现 optimistic concurrency controlpessimistic concurrency control这使得我们很难获得更深入的信息。

我希望它有帮助

关于google-bigquery - BigQuery 中的事务隔离级别是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60866909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com