如何使用AWS RDS DataService(Aurora Serverless)在多个SELECT上实现一致的读取

伊夫·M。

我不确定如何在多个SELECT查询中实现一致的读取

我需要运行几个SELECT查询,并确保在它们之间不存在UPDATEDELETE或者CREATE已经改变了整体一致性。对我而言,最好的情况当然是不受阻碍的事情。

我正在将MySQL 5.6与InnoDB和默认REPEATABLE READ隔离级别一起使用。

问题是当我将RDS DataServicebeginTransaction与多个executeStatement(带有提供的transactionId)一起使用时。致电时,我最后没有得到完整的结果commitTransaction

commitTransaction只为我提供了一个{ transactionStatus: 'Transaction Committed' }..

我不明白,不是应该通过提交事务处理功能来获取全部(全部SELECT)数据集结果?

相反,即使有一个transactionId,每个executeStatement也都返回我单独的结果...这种行为显然是不一致的。

奥列格·罗斯金

在与SELECTs的一个事务中REPEATABLE READ您应该看到相同的数据,而看不到其他事务进行的任何更改。是的,数据可以被其他事务修改,但是在事务中,您在视图上操作并且看不到更改。因此,这是一致的。

要确保在选择之间没有实际更改任何数据,唯一的方法是锁定表/行,即用SELECT FOR UPDATE-锁定,但事实并非如此。事务应该简短/快速,并且锁定表/阻止更新,而长时间运行的selects链显然不是一种选择。


针对数据库的已发布查询在发出时运行查询结果将保持未提交状态,直到提交为止。如果查询的目标是另一个事务已获得锁定的资源,则可能会阻止查询。如果另一个事务修改资源导致冲突,查询可能会失败。

事务隔离影响应该如何处理此事务以及同时发生的其他事务的影响。维基百科

使用隔离级别REPEATABLE READ对于Aurora MySQL,Aurora副本始终用于InnoDB表操作)在数据库的读取视图上进行操作,并且仅查看BEGIN事务处理之前提交数据

这意味着SELECT即使在其他事务中进行了更改,在一个事务中的s也将看到相同的数据。

相比之下,在事务隔离级别READ COMMITTED中,一个事务中的后续选择可能会看到不同的数据-其他事务在它们之间提交了这些数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Boto3与RDS上的Amazon Aurora进行交互

来自分类Dev

AWS RDS Aurora群集启用加密

来自分类Dev

如何使用cloudformation模板创建Amazon RDS aurora Master并读取副本集群

来自分类Dev

将CSV从S3加载到AWS RDS Aurora MySQL Serverless

来自分类Dev

负载均衡活动TCP会话到AWS Aurora RDS

来自分类Dev

在RDS AWS中读取副本

来自分类Dev

如何使用node.js在AWS RDS PostgreSQL上实现回调

来自分类Dev

如何使用node.js在AWS RDS PostgreSQL上实现回调

来自分类Dev

使用AWS CDK和RDS(Aurora),在哪里可以更改证书颁发机构?

来自分类Dev

AWS RDS Aurora查询编辑器:对用户'admin'@'#.#.#.#'的访问被拒绝(使用密码:是)

来自分类Dev

AWS RDS Aurora PostgreSQL 无服务器:如何将公共可访问性设置为是

来自分类Dev

在AWS RDS上使用ASP会话状态数据库

来自分类Dev

在AWS RDS上使用ASP会话状态数据库

来自分类Dev

AWS RDS Aurora MySQL群集,阅读器副本未显示任何连接

来自分类Dev

AWS RDS aurora Mysql 5.6 无法创建与默认引擎不同的表

来自分类Dev

AWS DynamoDB和RDS多个区域同步

来自分类Dev

Aurora Serverless不支持Boto3 rds-data continueAfterTimeout吗?

来自分类Dev

AWS RDS上的文档“迁移快照”

来自分类Dev

如何开发在本地使用AWS RDS的AWS Web App?

来自分类Dev

使用 MySQL 5.7 for MySQL Aurora 在不同区域之间快速迁移 RDS

来自分类Dev

如何从python中的URL读取(.RDS)文件?

来自分类Dev

如何从EKS Pod中读取RDS实例?

来自分类Dev

AWS RDS:使用Navicat连接

来自分类Dev

RDS Aurora AppSync 错误:400 错误请求

来自分类Dev

AWS RDS:如何将 SELECT PG_BUFFERCACHE 授予非 aws 超级用户

来自分类Dev

Ruby on Rails如何与Amazon RDS一起使用

来自分类Dev

将数据从AWS RDS实例复制到另一个RDS

来自分类Dev

将数据从AWS RDS迁移到另一个RDS

来自分类Dev

如何使用JMESPath通过DBInstanceIdentifier查询AWS CLI RDS实例

Related 相关文章

  1. 1

    使用Boto3与RDS上的Amazon Aurora进行交互

  2. 2

    AWS RDS Aurora群集启用加密

  3. 3

    如何使用cloudformation模板创建Amazon RDS aurora Master并读取副本集群

  4. 4

    将CSV从S3加载到AWS RDS Aurora MySQL Serverless

  5. 5

    负载均衡活动TCP会话到AWS Aurora RDS

  6. 6

    在RDS AWS中读取副本

  7. 7

    如何使用node.js在AWS RDS PostgreSQL上实现回调

  8. 8

    如何使用node.js在AWS RDS PostgreSQL上实现回调

  9. 9

    使用AWS CDK和RDS(Aurora),在哪里可以更改证书颁发机构?

  10. 10

    AWS RDS Aurora查询编辑器:对用户'admin'@'#.#.#.#'的访问被拒绝(使用密码:是)

  11. 11

    AWS RDS Aurora PostgreSQL 无服务器:如何将公共可访问性设置为是

  12. 12

    在AWS RDS上使用ASP会话状态数据库

  13. 13

    在AWS RDS上使用ASP会话状态数据库

  14. 14

    AWS RDS Aurora MySQL群集,阅读器副本未显示任何连接

  15. 15

    AWS RDS aurora Mysql 5.6 无法创建与默认引擎不同的表

  16. 16

    AWS DynamoDB和RDS多个区域同步

  17. 17

    Aurora Serverless不支持Boto3 rds-data continueAfterTimeout吗?

  18. 18

    AWS RDS上的文档“迁移快照”

  19. 19

    如何开发在本地使用AWS RDS的AWS Web App?

  20. 20

    使用 MySQL 5.7 for MySQL Aurora 在不同区域之间快速迁移 RDS

  21. 21

    如何从python中的URL读取(.RDS)文件?

  22. 22

    如何从EKS Pod中读取RDS实例?

  23. 23

    AWS RDS:使用Navicat连接

  24. 24

    RDS Aurora AppSync 错误:400 错误请求

  25. 25

    AWS RDS:如何将 SELECT PG_BUFFERCACHE 授予非 aws 超级用户

  26. 26

    Ruby on Rails如何与Amazon RDS一起使用

  27. 27

    将数据从AWS RDS实例复制到另一个RDS

  28. 28

    将数据从AWS RDS迁移到另一个RDS

  29. 29

    如何使用JMESPath通过DBInstanceIdentifier查询AWS CLI RDS实例

热门标签

归档