MySQL 兼容性可以做到什么程度PolarDB-X 如 何 做 生 态兼 容 好的 MySQL 兼容性可以做到什么程度 胡中泉(舟济) 阿里云数据库解决方案架构师为什么要兼容 MySQL 01 The longer you look back, the farther you can look forward.也从阿里巴巴的“去IOE”运动说起 业务驱动下的分布式技术实践之路 5月17日,支付宝最后一台小型 机下线标志去IOE落下帷幕 反推出了天价账单也谈所谓的“中间件” 中间件只是起点,PolarDB-X 可能是离终点最近的那个 对近十年的探索以及五年的上云 经验进行重新思考,面向未来设 从运维视角实现计算存储一体化 计新架构 产品形态 基于MySQL XA实现分布式事务 基于外部组件进行扩容 支持扩容 分布式事务 一体化尝试 Review 2.0 开源 2016 2017 2018 2019 2020 2021 2021年10月20日,云栖大会宣 it probably is a duck.业务系统 上游 Single Source of Truth 问题背景 数据孤岛怎么办? 下游MySQL 怎么做 Binlog Maxwell DebeziumPolarDB-X 完全兼容 MySQL Binlog 可行性 • 多节点产生多个增量事件队列 • 不同队列中事件之间的顺序 • 分布式事务完整性 • DDL 引起的多 Schema0 码力 | 18 页 | 3.02 MB | 6 月前3
Curve Cloud NativetuningCloud native Feature list • Features for Cluster • Features for CurveBS • Features for CurveFS • Features for monitorFeature list for cluster • Install / uninstall/ upgrade and configure CurveBS/CurveFS CurveBS/CurveFS through helm chart • upgrade automation • Supporting Curve Cluster provisioning in helm chart • metadata backup and recovery • MDS / ChunkServer should respect failure domains of cloud environments • Dashboard-driven configuration after minimal Curve installFeature list for cluster • CurveBS mirroring configured with CRDs • Different Curve clusters may share MDS and ETCD server0 码力 | 9 页 | 2.85 MB | 6 月前3
Estimation of Availability and Reliability in CurveBSannual probability of cluster data loss is as follows: 𝑃 = (𝑃! ∗ 𝑃) ∗ 𝑃-) The probability of no data loss in a cluster is as follows: 1 − 𝑃 Assume that in a CurveBS cluster consisting of 1200 minutes, i.e. 0.083 hours. Therefore, the probability of no data loss in the annual of the CurveBS cluster is P = 0.9999997810 码力 | 2 页 | 34.51 KB | 6 月前3
OID CND Asia Slide: CurveFSdecreased by 21% and TPS improved by 26%Performance compare with CEPH The test environment ● A cluster consists of six nodes. Each node consists of 20 x SSDS, 256GB memory, and 2 x e5-2660 cpus Performance death 4s Slow response 1s frequentlyData availability analysis Copyset allocation algorithm cluster with 1200 disks (each have MTBF 1.2 million hours) 3 replicas Restore data on a disk within 5 CURVE Community You can take awayKey designs used by CURVE High availability and reliability ● Cluster topology ● CopySet pre-allocation algorithm ● Raft Consistency protocol High performance ● pre-created0 码力 | 24 页 | 3.47 MB | 6 月前3
CurveFS Copyset与FS对应关系partition管理的元数据,data partition管理数据。meta partition管理inode和dentry信息。 创建一个文件系统时,如何初始化meta partition? master\cluster.go, chubaofs的文件系统使用volume的来表示,在创建一个文件系统的时候,会创建3个meta partition和10个data partition。chubaofs的data p usage来选的,通常选择内存和disk使用率最低的节点。 并去对应的meta node上去创建对应的meta partition。 如何选择partition的host,通过这个函数去选择。 func (c *Cluster) (excludeZone , excludeNodeSets [] , excludeHosts [] , replicaNum , crossZone , specifiedZone partition使用第一个叫做MetaWrapper的结构体组织起来© XXX Page 7 of 19 type MetaWrapper struct { sync.RWMutex cluster string localIP string volname string …… // Partitions and0 码力 | 19 页 | 383.29 KB | 6 月前3
Curve for CNCF MainCSI plugin for CurveBS • Deploy CurveBS as container service (in Plan) • Config CurveBS by (Cluster and Pool CRDs) in Kubernetes (in Plan) • Support Operator capability level 5 (in Plan) • horizontal occasionally CAN SYNC WITH REMOTE DISK SERVER Y NI/O Jitter (vs. Ceph) 3 replicas with 9 nodes cluster each node has 20 x SSD, 2xE5-2660 v4 and 256GB mem FAULTS CASE CURVE I/O JITTER CEPH I/O JITTER plugin for CurveFS (in Plan) • Deploy CurveFS as container service (in Plan) • Config CurveFS by (cluster and storage pools) CRDs in Kubernetes (in Plan) • Support Operator capability level 5 (in Plan)0 码力 | 21 页 | 4.56 MB | 6 月前3
CurveBS IO Processing FlowServer (MDS) l Manages and stores metadata information and persists the data in ETCD l Collect cluster status and schedule. 2. Chunkserverl Responsible for data storage l Multi-replicas consistency 1. Fs-meta Cluster is used to manage the inode and dentry metadata of files. The architecture is like CurveBS, so metadata scalability is very good in this way. 2. Fs-data cluster is used to store0 码力 | 13 页 | 2.03 MB | 6 月前3
Curve文件系统元数据持久化方案设计的方案是不行了. redis 的高可用、高可扩方案? 主要是 redis cluster + 主从复制 (或者第三方 codis + 哨兵) redis cluster/codis 主要解决扩展性的问题,它会进行分片,每个 redis 实例保存分片的 key 主从复制主要解决高可用,一个分片实例挂 2 个从实例,当主节点挂掉时,cluster/哨兵会自动将从节点升为主节点 redis + muliraft0 码力 | 12 页 | 384.47 KB | 6 月前3
Curve核心组件之mds – 网易数帆在物理pool上,还创建了一个逻辑pool,逻辑pool使用3个zone,采用 3副本,有100个copyset。 cluster pool1 zone1 zone2 zone3 server1 server2 server3 192.168.0.1:8200 192.168.0.2:8200 192.168.0.3:8200 cluster_map: servers: - name: server1 internalip: OPYSET Copyset的生成策略:Source code : curve/src/mds/copyset/ bool GenCopyset(const ClusterInfo& cluster, int numCopysets, std::vector* out); 例如要在(zone1 zone2 zone3 zone4)中创建8个copyset: result: 0 码力 | 23 页 | 1.74 MB | 6 月前3
PolarDB开源生态介绍 - 杭州Meetup 2022.10.15PolarDB开源生态介绍 阿里云 digoal为什么开源是未来?阿里巴巴开源缩略图数据库开源大图PolarDB开源云原生分布式数据库家族 : 兼容MySQL&PostgreSQL用户 生态伙伴 人才 降本提效 团队成长 商业服务 用户合作 • 联合实验室 PolarDB云原生分布式开源数据库产品 高校合作 • 课程合作 • 科研项目合作 • 工作组 高校 协同育人、教学优化成果 ... 2022S1: 3500W曝光 150W学习人次 2万+实践体验 2K+持证人才 PolarDB开发大赛: 230+参赛选手 21K+ 社区用户 • 全面开源 • 兼容PG&MySQL • 透明分布式 • HTAP • 企业特性(闪回、TDE、冷热分离...) 50+全链路伙伴: 韵达、莲子数据、网易数帆、 龙蜥、武汉大学 ... 等 需求 手段 需求 手段 需求0 码力 | 7 页 | 1.45 MB | 6 月前3
共 13 条
- 1
- 2













