Pegasus

单位: 小米Pegasus团队

开源类型: 开源产品

Apache Pegasus是一个可水平扩展、高性能、强一致的分布式Key Value存储系统,适合数据存储总量较大(TB级),延迟敏感(毫秒级)且有持久化存储需求的业务,是Apache孵化器项目。 Pegasus使用分布式存储系统经典的中心架构,由控制节点MetaServer和数据节点ReplicaServer组成。控制节点是集群管理中心,负责元数据管理,请求路由和负载均衡等功能。数据节点以分片为单位对数据进行管理,每个分片的数据存储在本地的RocksDB实例中,保证数据本地持久化。Pegasus采用哈希分片,每个分片有三个副本,使用PacificA协议(强一致性协议)保证多个副本的数据一致性。 Pegasus采用二级Key数据模型,设计了HashKey和SortKey两种键值:HasKey+SortKey才唯一确定映射的Value,支持更丰富的接口语义和业务场景。Pegasus还提供冷备份、热备份、批量加载数据、权限控制、分片扩展、热点检测等功能,满足不同的业务需求。 Pegasus被小米、神策数据、华为等公司广泛使用。在小米,Pegasus已经部署了数十个集群,机器节点数超500个,存储了超过200TB数据,为广告算法、小爱等多个核心业务提供存储服务。神策数据部署了超过1000个Pegasus集群,存储包括渠道追踪、用户画像等各种场景,基本涵盖了大部分产品线。