整体架构

Yugabyte通过一组节点(可以是VM、Docker、逻辑)组成的集群对外提供数据库服务。

Yugabyte有两组服务:Master和TServer:

  • Tserver负责用户数据的存储和访问;
  • Master负责存储元数据信息,以及提供数据库的创建、删除等功能;同时负责数据负载均衡控制、TServer故障处理等。

分层设计

分层1

1. 协议解析层

yugabyte的协议解析层(又称作YQL层)提供对外的API接口,负责直接与客户端驱动进行通信,以可扩展的方式进行实现,目前支持SQL和CQL接口

2. DocDB层

DocDB实现了一个分布式文档存储

  • 强一致的数据写入;
  • 自动分片和负载均衡;
  • 基于MVCC的分布式事务;
  • 可靠的数据存储;

分层2

2.1 事务层

  • 基于多版本的并发控制
  • Repeatable Read(SI)和Serializable两种隔离级别
  • 分布式事务控制

2.2 数据分布层

  • 支持基于hash和range的分片策略
  • 支持tablet分裂
  • 提供并置表支持

2.3 数据复制层

  • 基于raft实现
  • 提供cdc支持

2.4 存储层

基于rocksdb

Copyright © itrunner.cn 2020 all right reserved,powered by Gitbook该文章修订时间: 2024-08-01 14:07:50

results matching ""

    No results matching ""