vivo数据库与存储平台建设和探索

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 2021 vivo开发者大会 互联网技术专场 vivo存储技术团队研发总监
2. 2021.12.16 vivo 开发者大会-互联网技术专场
3. 2021.12.16 vivo 开发者大会-互联网技术专场
4. 在网总用户数达 数据库与存储平台 建设背景 vivo移动互联网 累计总用户超过 浏览器 日活突破 月活过亿的应用 2019 2018.11 2020.2 2020.5 数据库实例 数据库&存储服务器 应用商店 钱包 浏览器 小视频app 布局内容生态 视频 数据来源:vivo 2021.12.16 vivo 开发者大会-互联网技术专场
5. 数据库与存储平台 建设背景 故障频次高:数据库故障数量为16起,占整个数 架构不合理:公司绝大多数场景业务使用的都是内 据库实例数量的比率为0.14%(2018年数据库 存KV数据库,内存资源昂贵 可用性数据回顾) 资源利用率低:数据库服务实例密度低,硬件资源 故障类型多:低效SQL、人为误操作、基础设施 利用不充分 故障、业务流量突增、开源产品不健壮原因导致的 有10起故障 变更操作不规范:误删、误更新目标数据、误更新 权限控制,存在弱密码、不合理的公网权限等 数据范围、误更新目标环境等 数据安全,缺少敏感数据识别、存储、使用的全流 变更流程不规范:变更流程不规范、变更步骤不完 程把控 善等 变更无平台支撑:人工操作变更、变更耗时长等 2021.12.16 vivo 开发者大会-互联网技术专场
6. 2017-2021数据库运营数据 数据实例规模 60000 16.00 56236 14.49 14.00 50000 12.00 数据库与存储平台 建设背景 数据库服务器规模 40000 37806 10.00 30426 30000 数据库实例部署密度 10.54 8.00 8.21 6.00 20000 4.10 4.00 10000 人均运维数据库实例规模 0 2.64 1507 570 376.75 2017年 11452 2793 1908.67 3704 3803.25 3586 4193.78 5623 2.00 3880 0.00 2018年 实例数量 2019年 服务器数量 DBA人均运维实例数量 2020年 2021 数据库服务实例密度 2021.12.16 vivo 开发者大会-互联网技术专场
7. 2021.12.16 vivo 开发者大会-互联网技术专场
8. 工 具 产 品 数据库与存储平台 产品介绍 数 数 库 & 存 储 产 品 DaaS DTS DBshell SQL审核 数据库、存储统一管理,研发&运维平台 数据传输服务,支持数据同步、数据迁移 运维白屏化工具 SQL检测与审核 MySQL TiDB 传统关系型数据库 稳定可靠、易使用 支持版本:5.6/5.7 分布式关系型数据库 分布式架构、弹性伸缩、 高性能 版本:4.0.8 Redis Key-Value缓存数据库 高性能、高可用、弹性伸缩 版本:3.0/4.0/自研 ElasticSearch 分布式搜索和数据分析引擎 全文/结构化检索、近实时处理 版本:6.3/7.4 磁盘KV Key-Value数据库 Redis协议兼容、持久化存储 版本:2.0 MongoDB 面向集合存储 支持动态查询 、完全索引 版本:3.4.4/3.4.10 对象存储 基于对象的存储 支持pdf/音频/图像/视频文件等 文件存储 基于文件的存储 支持多客户端访问,吞吐量高 块存储 数据存储在大小相等的存储块中 适用频繁访问和编辑的数据 2021.12.16 vivo 开发者大会-互联网技术专场
9. 服务申请 DaaS 平台:旨在提供高度自助、高度智能化、高可用、低成本的 数据存储使用与管理平台。 服务下线 数据存储 服务平台 隔离人员与数据库账号密码的接触,提供集群粒度权限管控及敏感字段脱敏, 所有操作可审计追踪,备份数据加密存储 数据恢复 研发自助使用数据库,提供变更检测、优化诊断等功能,减少人工沟通流程, 项目变更规范流程清晰,提升研发效率 DBA仅需配置好流程规范、设计规范、审批流程等信息,研发可自助使用 数据库,减少DBA重复工作 通过巡检、监控、预案、故障跟踪等对故障进行事前防范、事中及时处理、 事后复盘总结,提升数据库可用性 服务部署 持续 改进 体系 闭环 服务维护 产品 支撑 服务变更 数据变更 服务优化 2021.12.16 vivo 开发者大会-互联网技术专场
10. DTS(Data Transmission Service)提供RDBMS、 NoSQL、OLAP等数据源间的数据交互,集数据迁移/订阅/同步 于一体,构建安全、可扩展、高可用的数据架构。 数据传输服务 DTS 不停机迁移数据库 业务异步解耦 横向扩张读能力 数据异地灾备(待支持) 异地多活 源数据库停止写入 影响较大 业务逻辑需全部变更 耗时长/稳定性差 大量读请求 单实例压力大 机房故障 单可用区 访问延迟高/扩展限制 迁移不停机 结构迁移+全量迁移+ 增量数据迁移 实时消息通知 异步耦合 实时同步 只读实例 读请求分流 跨机房实时同步 保障数据一致性 流量切换快速恢复 同城/异地业务单元 双向同步/秒级恢复 就近访问 DaaS APIs 99.99%服务可用性保障 数据不重不丢 控制中心 任务调度 存取 元数据 MySQL 异构多源同步支持 迁移/订阅/同步等交互功能 源 端 MySQL 主实例 ElasticSearch 主实例 Kafka 备实例 备实例 ES 节点级故障容灾,同步链路秒级恢复 断点续传,可有效解决因硬件、网络等异常导致的传输中断 格式转换 集中存储 目 标 端 ElasticSearch ES Zookeeper 高可用/任务记录/位点 2021.12.16 vivo 开发者大会-互联网技术专场
11. 业务客户 MySQL 2.0基于原生MySQL,结合集群高可用管理与数据库 DNS/ Naming Service 代理的一体化架构,通过域名服务、名字服务即可轻松接入。 关系型 数据库服务 拓扑信息全局更新 Proxy-1 …… 接入层探活 Proxy-n Zookeeper …… 100%兼容MySQL协议 与SQL语法 三级读写分离,业务灵活接入 流量管控 (令牌限流,IP黑白名单等) MySQL Master 集群拓扑信息上报 MySQL Slave 自动/手动主从切换 解决数据双写问题 基于RAFT实现的Agent 节点高可用 透明加密 日志审计 SQL防火墙 MySQL Cluster Instance Polling 探活 MySQL Slave Instance Polling 探活 Agent Leader RAFT Agent Follower Agent Follower 2021.12.16 vivo 开发者大会-互联网技术专场
12. 基于原生Redis Cluster产品开发,支持双机房读写、故障自动切换, 并保障数据最终一致,解决Redis Cluster单IDC容灾风险和Redis 自动化运维过程中的可用性和性能问题 Redis 服务 用 户 层 业务应用 接 入 层 Tuna Proxy 流量监测 监控上报 流量控制 Redis Kernel 原生Redis协议兼容 多活版本支持Set,hash, Sort-Set,String 支持就近读写,双向同步,冲突解决 支持断点续传,故障透明转移 流量监测与流量控制 AOF Management 存 储 层 Replication AOF日志结构改造 异步复制 AOF异步Write 文件缓存 AOF Purge 水位控制 Access Control Cluster Slots/Nodes 命令性能优化 Forkless Background Save Data Structure Tuna Agent Tuna Transfer CRDT Hash CRDT Counter BloomFilter CRDT Set CRDT Sting CuckooFilter CRDT ZSet CRDT GC RoamingBitmap AEP硬件支持 架 构 异步复制 文件缓存 Cluster Slots/Nodes 命令性能优化 Delay Background Save Client Management ACL支持 AOF日志优化 Forkless RDB Cluster Management 水位控制 Cluster指令性能优化 硬 件 多活 Tuna Agent Tuna Manager 硬件 Tuna Transfer AEP 性能 Memory 存储缓存一体化 2021.12.16 vivo 开发者大会-互联网技术专场
13. 基于TiKV研发的磁盘型KV存储 推荐平台组 支持Redis协议并提供大容量持久化存储 磁盘KV 服务 官网商城开发组 业务场景:部门的绩效考核和项目考核 数据描述:数据版本号,解决定时保存功能 数据覆盖的问题 业务场景:UCP(用户中心平台),为智能平台 中心推荐算法提供用户离线特征服务 数据描述:离线特征数据/TB级别 完全兼容Redis协议/兼容 低成本,大容量,可存储 大部分原始Redis命令 TB级别的数据 支持快速扩缩容,数据自动平衡 支持海量数据Bulk Load导入 数据迁移过程中不影响使用 业务描述:搜索排序 数据描述:召回时拼接离线特征/TB Client Tula 读写延迟,P99 10ms(value<=1KB) 应用中心组 Tula Tula Tula Placement Driver Cluster TIKV TIKV TIKV Region1 Region1 Region2 基于raft算法实现故障切换 断电数据不丢 Region2 Region3 Region1 后台节点故障,客户端拓扑 数据备份,支持回档 Region3 Region2 Region3 未更新不影响业务访问 保证线性一致性 2021.12.16 vivo 开发者大会-互联网技术专场
14. 对象存储服务,提供海量、安全、低成本、高性能、高可靠的存储服 务解决方案。目前提供多种语言SDK,方便开发者快速接入存储集群。 对象与文件 存储服务 支持普通、单表、分块上 支持平台上传、下载、 传、上传回调、复制、修 生成外链等操作 支持HPC/AI EC/副本冗余、 高弹性、可扩 SLA:99.99% Hadoop/云原生生态、 训练场景 生命周期管理 展、EB级支撑 11个9可靠性 主流语言SDK 接入集群(NGX) 缓存集群 改元数据信息 元数据存储(KV) 支持图片水印、剪裁、 支持视频的裁剪、拼接、 缩放、格式转换、加密 截图、切片、转码、水印、 元数据集群M 元数据集群S 业务集群(APIServer) 异步任务处理集群 数据存储(Object) 标准存储 集群 标准存储 集群 低频存储 集群 图片处理 服务 视频处理 服务 去音频、去视频流 2021.12.16 vivo 开发者大会-互联网技术专场
15. 2021.12.16 vivo 开发者大会-互联网技术专场
16. IDC自建数据库、云数据库、云主机自建数据库云上云下 运维研发 效率提升 元数据管理 数据变更 结构变更 数据查询 数据导出 SQL审核 工单协同 服务部署 服务变更 …… 统一管理 网络专线和安全隔离技术,统一管控生产、测试、预发、 开发4种环境数据存储资源 目前支持7种数据库产品的全生命流程管控 IDC内网 专线访问 IDC与云厂商 专线访问 测试域和生产域 专项互联 云主机自建数据库 云数据库 IDC自建数据库 MYSQL Redis MongoDB ElasticSearch RDS KV-Store OSS GDB TDB Table-Store 提供从服务申请到回收下线的一站式数据存储服务 满足开发、运维、测试、产品等多个角色的数据存储产品需求 2021.12.16 vivo 开发者大会-互联网技术专场
17. 精确记录SQL查询: 数据库数据查询和变更可审计追踪 敏感数据查询脱敏 数据 安全管理 敏感数据导出权限控制和数字水印 数据库账号密码加密传输和使用,对开发、测 敏感数据识别: 人员审计 业务审计 影响审计 字段规则 字段内容 数据库密码加密传输 安全+审计 过滤+脱敏+升级审批人 SQL 试、运维均不可见 DSL 敏感数据自动识别标注 代理层敏感数据透明加解密 网 络 访 问 隔 离 库 表 权 限 隔 离 敏 感 字 段 标 记 操 作 权 限 隔 离 数据标注 数据脱敏 密码加密 数据加密 独立对象存储集群备份数据加密存储 2021.12.16 vivo 开发者大会-互联网技术专场
18. 智能的SQL 审核代码发布 不锁表结构、不锁表数据变更能力 数据 变更管理 前、中、后三道防线,杜绝烂SQL影响线上业务 一键回滚数据变更,变更历史可追踪、可审计 大批量 数据变更 发布风险高 高危SQL发现滞后 xml SQL 文件 代码文件智能提取SQL 变量替换 注解SQL 数据库负载飙升 业务大范围受到影响 一条大SQL SQL审核引擎 多条SQL 启发式规则与执行计划 执行引擎 审核引擎规则判断影响行数 SQL自定义分拆执行 解决编写在代码中的SQL文 件审核代价高,审核成本高, 人工审核遗漏问题 解决大批量数据变更对业务 产生影响 数据变更稳定性解决方案 大表结构 变更 锁表 直接阻塞业务 大表变更DDL语句 无锁表结构变更 异步回调通知结果 表结构在线变更不影响业务, 提升业务稳定性和变更效率 多环境、多集群一键同步数据变更 可视化GUI库表设计平台 24小时自助变更 日常数据 修订 等待周期长 变更效率低 低风险SQL自助变更 变更一键回滚 修订少量条数据 业务开发者在审核流程通过 后自助实施变更,不依赖于 DBA排期 2021.12.16 vivo 开发者大会-互联网技术专场
19. 预算 以资源维度提报业务预算 预算消费软管理 服务器消耗预测 数据存储成本管控 监控 成本 部署 套餐化,定制服务标准套餐 混合部署,按照服务资源用量多实例、多产品混合部署 容量 容量预警和容量巡检,及时升降配套餐 关注业务状态,及时回收下线数据存储集群 2021.12.16 vivo 开发者大会-互联网技术专场
20. 业务层 业务1 业务2 业务2 业务3 业务4 标准场景 高性能场景 高可靠场景 冷存场景 元数据扫描高性能场景 引入高密度大容量存储服务服务器 11个9数据可靠性的EC策略 对象与文件存储 建设思考 网关层 API-Server API-Server API-Server 数据透明压缩,无损压缩存储 数据生命周期管理,及时清理过期数据 数据分层存储,冷数据进行归档存储 中转层 Worker 根据桶或者Object粒 度选取对应的存储集群 进行存储 Zookeeper 异步删除/生命周期管理 Kafka 删除操作消息 三副本集群 桶&对象粒度底层存储引擎IO隔离 服务端+客户端缓存,提升热点数据读取性能 opencas与io_uring等技术提升磁盘IO吞吐 存储层 Block Block 多AZ冗余集群 Block Block 标准存储集群信息 冷存储集群信息 KTS SSD元数据集群 高性能存储集群信息 低频存储集群信息 KTS NVME元数据集群 EC集群 EC块 SSD高性能集群 EC块 NMVE高性能集群 Block Block Block Block 高密度冷备集群 Block Block 存储桶粒度对 应的KTS集 群信息 存储桶及 Object粒度 对应的存储集 群信息 KTS SSD 元数据集群 KTS NVME 元数据集群 Bucket-kts信息 Bucket-meta 信息 Object-meta信息 Object-meta信息 2021.12.16 vivo 开发者大会-互联网技术专场
21. 运 营 权限管理 账单系统 用户管理 工单服务 平台配置 智能客服 文档中心 生 态 CICD CMDB BDSP 存储自治服务 性能自治 慢日志 数据库与存储 平台规划 SQL洞察 容量自治 SQL诊断 全局优化 空间分析 安全服务 智能诊断 容量趋势预测 健康检查 根因分析 场景服务 异常自愈 数据库画像 定制优化 数据变更 数据查询/导出 任务编排 SQL自检优化 数据追踪 数据归档 数据脱敏 数据加密 数据管理服务 功 能 层 BI 测试数据构建 流量复制 代码生成器 报表分析 基础存储服务 权限管控 命令通道 预算管理 部署管理 下线回收 配置管理 日志服务 接入管理 版本管理 资源池 扩/缩容 数据库迁移 监控告警 高可用 备份恢复 账号管理 数据审计 数据水印 存储服务 存 储 层 备份服务 数据集成 对象存储 网盘服务 日志服务 分布式文件系统 NoSQL数据库 关系型数据库 媒体处理 传统性 MySQL+Proxy 文档型 MongoDB 集群 加速服务 块存储 分布式 TiDB 搜索分析型 ElasticSearch KV存储 缓存型Redis\存 储型Neptunus 生态工具 资产梳理 时间序列 数据库 数据传输 DTS 安全评估 图数据库 SQL审核 数据库防火墙 2021.12.16 vivo 开发者大会-互联网技术专场
22. 2021 vivo开发者大会 互联网技术专场 肖博 | vivo存储技术团队研发总监 相关技术文章后续 将在公众号发布 敬请关注

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-16 02:35
浙ICP备14020137号-1 $Map of visitor$