

# Aurora PostgreSQL Limitless Database 中的分布式查询
<a name="limitless-query.distributed"></a>

分布式查询在路由器和多个分片上运行。查询由其中一台路由器接收。路由器创建并管理分布式事务，该事务将发送到参与的分片。分片使用路由器提供的上下文创建本地事务，然后运行查询。

提交事务时，如果需要，路由器会使用优化的两阶段提交协议，并使用基于时间的多版本并发控制（MVCC）在分布式数据库系统中提供 [ACID](https://en.wikipedia.org/wiki/ACID) 语义。

基于时间的 MVCC 记录每笔事务的提交时间，并使用事务开始时间生成数据快照时间。为了确定给定阅读器快照的事务是否已提交（可见），数据库会将其提交时间与快照时间进行比较。如果它的提交时间小于阅读器的快照时间，则它可见；否则，不可见。在此协议下，您将始终有望在 Aurora PostgreSQL Limitless Database 上看到高度一致的数据。