Q1、如何解决计算节点schema 版本不一致的问题?
A: 引入中间状态:delete-only and write-only
Q2、对于事务,如何保证事务的ACID?
A: F1的实现依赖于spanner的garbage collection and write fencing,必须保证事务的生命周期在一个schema 版本之内
Q3、 F1 服务器最多同时使用两种不同的schema,由于 F1 不维护全局服务器成员资格,因此我们无法直接联系服务器以检查它们正在运行哪个schema version或用new schema更新它们。此外,即使有全局成员资格数据,F1 也需要一种处理无响应服务器的方法。这一块怎么解决的?
A: 每个 F1 服务器一个schema lease(通常为几分钟)来解决这个问题。F1 服务器通过在每个租约期内从键值存储中众所周知的位置重新读取schema来续订lease。如果服务器无法续订租约,它将终止 - 因为 F1 服务器在托管集群执行环境中运行,它们将在健康节点上自动重新启动。
Q4、 F1 实例中schema change频繁发生,在从一个schema迁移到另一个schema时,如何保证每个 F1 服务器不会延迟或导致大量用户操作失败?
A: 每个服务器都会在其易失性内存中存储一个schema repository, 存储多个版本的schema

847

被折叠的 条评论
为什么被折叠?



