论文发表于2010年,论文提出了一个新概念:提供云SQL服务,
SQL Azure提供完全的关系型数据库服务
SQL Azure有以下特点:
- share nothing architecture
- 单区提供ACID级别的事务一致性
- full relational support
- Cloud SQL Server currently only supports full ACID
properties within a single partition
其他大厂,都在研发自己的分布式存储系统,如Google的BigTable,Amazon的Dynamo,这些系统弱化了一致性(consistency),采用了最终一致性或者局部一致性,有的厂还取消了逻辑关系型模型,
基础设施和部署服务层(IDS)
- 协调集群机器
- 根据节点在集群的角色加载软件初始镜像到机器上
- 运行各种工作流 如:节点关闭or重新启动、软件重新加载镜像
节点角色有:
- 前端负责协议活动
- 管理集群数据的数据库节点
- 全局状态管理
分布式结构层
协调许多低级别集群的活动,例如
- 管理副本集合的quorum
- 全局分区的管理
- 故障检测
- 集群多角色领导选举
数据引擎层
- 数据库虚拟化,每个服务器可以放置很多虚拟的数据库,多个虚拟的数据库共享一个公共事务日志,每个虚拟的数据库与其他数据库隔离(容器)
- 分区和reconfiguration管理,任意时间有一个主副本和多个辅助分区备份
- 部署,跨区查询不具备完整的ACID一致性
关于可用性和负载均衡
cloud SQL server系统知道集群布局、所有节点的拓扑、分区、机架和物理网络路由,因此可以以某种协调方式在升级的过程实现高可用
workload balance:将分区副本从一个节点移到另一个节点
结语
1.Loose and controlled coupling is essential at extreme scale.
2.The separation of logical and physical administration