1 / 22

网易海量数据存储平台

网易海量数据存储平台. 王磊@网易杭研院. wanglei@corp.netease.com. 海量存储空间 高效的数据访问:高并发、低延迟 高可扩展性 高可用性:7x24 安全性和可靠性 功能和接口丰富、简单易用 有效应对系统(数据、模式、环境)变更和升级 易维护:管理便捷,自动化程度高 控制成本. 互联网应用的数据存储需求. 设计目标: 为博客、相册、邮箱、网盘、 IM 等各类大型互联网应用提供一种 通用 的用户数据存储和管理解决方案。 实现方案:分布式数据库 + 分布式文件系统

taji
Download Presentation

网易海量数据存储平台

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 网易海量数据存储平台 王磊@网易杭研院 wanglei@corp.netease.com

  2. 海量存储空间 高效的数据访问:高并发、低延迟 高可扩展性 高可用性:7x24 安全性和可靠性 功能和接口丰富、简单易用 有效应对系统(数据、模式、环境)变更和升级 易维护:管理便捷,自动化程度高 控制成本 互联网应用的数据存储需求

  3. 设计目标: 为博客、相册、邮箱、网盘、IM等各类大型互联网应用提供一种通用的用户数据存储和管理解决方案。 实现方案:分布式数据库+分布式文件系统 分布式数据库(DDB):基于关系数据库集群解决结构化数据的海量存储和高效访问。 分布式文件系统(DFS):以文件为存储单位的非结构化数据存储解决方案。 网易海量数据存储平台简介

  4. 基于水平Sharding的Scale Out,表大小不受限。 多平台和多语言环境下的SQL访问接口。 支持常用的RDBMS功能: DDL:支持大多数常用语句,union和嵌套查询除外 DML:表、视图、存储过程、触发器等 用户管理和权限控制 全局ID分配 事务支持:节点内、跨节点、跨DDB。 支持MySQL和Oracle混合使用。 命令行和图形化管理工具。 DDB的功能特点

  5. DDB系统架构

  6. DDB Sharding实现原理 DBN1 DBN2

  7. 访问性能优化 安全性问题 监控和故障处理 系统更新和升级 系统扩容 需要解决的问题

  8. 去中心化,Client通过DBI直接访问DBN 尽量避免分布式查询 DBI Cache Meta Data Cache DBN Connection Pool DBN PreparedStatement Cache SQL Syntax Tree Cache 优化排序操作:Merge Sort优先 内部游标 基于Master-Slave的读负载均衡和读写分离 DDB访问性能优化——系统设计优化

  9. 访问认证 用户名、口令认证和IP地址检查 DDB认证+DBN(RDBMS)认证 权限管理 区分普通用户和管理员用户 权限粒度控制到表的读、写和授权 用户访问配额控制 管理员权限细分:Schema配置、维护、监控统计、用户管理 管理员操作日志 其他: 口令加密传输和保存 只允许内网访问 DDB系统安全

  10. DBN状态监视:By Master 心跳监视和报警,故障时切换到Standby Node。 Session自动监视、统计和报警 Slow Log自动监视、统计和报警 复制延迟和异常自动监视和报警 Query Server监视:By Master 心跳监视和报警,动态调整和广播可用的QueryServer列表。 负载监视,动态调整和广播可用的QueryServer访问权值。 Master监视:By Monitor or Zookeeper 采用主从模式,故障时自动切换 Meta Data复制 DDB状态监视和故障处理

  11. 系统变更: 产品升级、硬件升级、系统软件升级、DDB版本升级 技术挑战: 降低影响、避免误操作、时间可控、自动化、可回退 应对策略 硬件和系统软件升级:主备切换,逐步替换 测试环境 -> 线上环境:正确性验证和实施时间评估 管理操作支持命令行方式执行,降低重复操作中的误操作 计划任务:支持多任务、多模式、异常处理、详细日志和执行结果通知 数据备份:Mirror + backup(snapshot) + Binlog DDB版本升级:Master和DBI升级,通信协议向下兼容 应对系统变更和升级

  12. 技术挑战 降低对线上服务的影响 灵活地扩充资源 降低复杂度 保证执行效率 实现原理 DDB扩容(1)

  13. 实现方案 方案一:DBN间数据导出导入 优点:迁移效率较好,实现较简单,灵活性好 缺点:停服时间长,容易导致数据不一致,删除数据的负面影响 方案二:基于事务的批量数据迁移 优点:不用停服,应用透明,灵活性好 缺点:实现复杂,迁移效率低,对线上访问有一定影响。 方案三:基于复制的数据扩容 优点:对应用透明,不需停服,效率高,对线上访问基本无影响。 缺点:操作较为复杂,只能实现成倍扩容,灵活性较差。 DDB扩容(2)

  14. 面向海量的非结构化用户数据存取 支持大量的高并发数据操作 支持动态扩展,存储量和处理能力线性增加。 高可靠性,避免数据丢失和单点故障 负载均衡,可控性好 存储成本可控 DFS的设计目标

  15. 数据访问去中心化 文件读取和写入不经过中心节点,提高访问效率 通过ID(64bit)标识和定位文件 文件元信息:不支持目录、文件名、权限信息,支持SIZE,UpdateTime,MD5。 访问接口: 不支持POSIX文件接口 面向Java/C++的API:read,insert,delete,append,update等 HTTP文件读取接口 支持多副本 支持数据复制和迁移 支持文件粒度的数据去重 定制硬件降低成本 DFS的功能特点

  16. DFS系统架构

  17. 数据定位——ID到文件地址的映射

  18. 以Bucket为单位进行配置和管理 将Bucket映射到不同SN的不同磁盘上 FSI负责多副本的同步写 FSI和前端机随机挑选副本读取数据 SN故障处理: MDS检查到SN心跳失效 MDS通知所有FSI和前端机停止对故障SN的访问 MDS通知其他副本所在SN将桶数据复制到空闲SN上 MDS修改数据映射表 多副本管理

  19. 应用场景: 恢复或增加副本 SN系统软硬件更换或升级,服务器搬迁 跨数据中心灾备 均衡负载 实现策略: 以桶为单位进行迁移,通过Redo日志避免停服或只读. 操作步骤: 源SN记录Redo日志 源SN将桶目录复制到目标SN的指定目录 在目标SN上Redo操作日志并记录完成时的日志结束位置 禁止到源SN的写操作 从记录的位置Redo操作日志 增加桶到目标SN的映射关系 开启源和目标SN上对应桶的读写操作 数据复制和迁移

  20. 定制存储服务器 配备桌面级SATA硬盘 24x2T 电源管理功管理磁盘上下电状态 DFS对定制服务器的支持 通过多副本减少磁盘故障的影响 对只读或只有少量写操作的磁盘组轮流上下电,通过Redo日志保证数据一致。 带来的好处: 降低硬件采购的成本 降低功耗 延长磁盘寿命 DFS定制存储服务器

  21. 使用平台的产品 网易博客 网易微博 网易相册 网易邮箱 网易POPO(即时通信) 社区、休闲游戏 DDB存储节点数量 400+ DDB总数据量 60TB DFS存储节点数量 1200+ DFS总数据量 4PB 平台应用情况

  22. 感谢您的关注! Q&A

More Related