网易海量数据存储平台ppt课件-精选文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 管理员权限细分:Schema配置、维护、监控统计、用户管理 – 管理员操作日志
• 其他:
– 口令加密传输和保存 – 只允许内网访问
DDB状态监视和故障处理
• DBN状态监视:By Master
– 心跳监视和报警,故障时切换到Standby Node。 – Session自动监视、统计和报警
– Slow Log自动监视、统计和报警
DDB扩容(1)
• 技术挑战
– 降低对线上服务的影响 – 灵活地扩充资源 – 降低复杂度 – 保证执行效率
• 实现原理
哈希表
7 5 9 7 4 8 7
存储映射表 (可调整)
哈希表
负载 9+7+7=23
7
存储映射表 (可调整)
负载 9+7=16
数据迁移后
SN 1
负载 7+5+4+8=24
5 9 7 4 8 7
数据库节点(DBN) MySQL/ Oracle
数据库节点(DBN) MySQL/ Oracle
DDB Sharding实现原理
哈希函数 (固定)
哈希表
存储映射表 (可调整)
逻辑ID
H
SN 1 DBN1
负载信息
SN 2 DBN2
需要解决的问题 • 访问性能优化
• 安wk.baidu.com性问题
• 监控和故障处理
• 系统更新和升级
SN 1
负载 7+5+4=16
SN 2
SN 2
负载信息
负载 8+7=15
SN 3
DDB扩容(2)
实现方案
• 方案一:DBN间数据导出导入
– 优点:迁移效率较好,实现较简单,灵活性好
– 缺点:停服时间长,容易导致数据不一致,删除数据的负面影响
• 方案二:基于事务的批量数据迁移
– 优点:不用停服,应用透明,灵活性好
• 控制成本
网易海量数据存储平台简介
•设计目标:
为博客、相册、邮箱、网盘、IM等各类大型互联网应 用提供一种通用的用户数据存储和管理解决方案。
•实现方案:分布式数据库+分布式文件系统
–分布式数据库(DDB):基于关系数据库集群解决结构 化数据的海量存储和高效访问。 –分布式文件系统(DFS):以文件为存储单位的非结构化 数据存储解决方案。
• 高可靠性,避免数据丢失和单点故障 • 负载均衡,可控性好 • 存储成本可控
DFS的功能特点
• 数据访问去中心化
– 文件读取和写入不经过中心节点,提高访问效率 – 通过ID(64bit)标识和定位文件 – 文件元信息:不支持目录、文件名、权限信息,支持SIZE,UpdateTime,MD5。
• 访问接口:
– 复制延迟和异常自动监视和报警
• Query Server监视:By Master
– 心跳监视和报警,动态调整和广播可用的QueryServer列表。
– 负载监视,动态调整和广播可用的QueryServer访问权值。
• Master监视:By Monitor or Zookeeper
– 采用主从模式,故障时自动切换
网易海量数据存储平台
王磊网易杭研院
wangleicorpease
互联网应用的数据存储需求
• 海量存储空间
• 高效的数据访问:高并发、低延迟 • 高可扩展性 • 高可用性:7x24 • 安全性和可靠性 • 功能和接口丰富、简单易用 • 有效应对系统(数据、模式、环境)变更和升级 • 易维护:管理便捷,自动化程度高
– 不支持POSIX文件接口
– 面向Java/C++的API:read,insert,delete,append,update等 – HTTP文件读取接口
• 支持多副本 • 支持数据复制和迁移 • 支持文件粒度的数据去重 • 定制硬件降低成本
– 缺点:实现复杂,迁移效率低,对线上访问有一定影响。
• 方案三:基于复制的数据扩容
– 优点:对应用透明,不需停服,效率高,对线上访问基本无影响。 – 缺点:操作较为复杂,只能实现成倍扩容,灵活性较差。
DFS的设计目标
• 面向海量的非结构化用户数据存取
• 支持大量的高并发数据操作
• 支持动态扩展,存储量和处理能力线性增加。
– Meta Data复制
应对系统变更和升级
• 系统变更:
产品升级、硬件升级、系统软件升级、DDB版本升级
• 技术挑战:
降低影响、避免误操作、时间可控、自动化、可回退
• 应对策略
– 硬件和系统软件升级:主备切换,逐步替换
– 测试环境 -> 线上环境:正确性验证和实施时间评估
– 管理操作支持命令行方式执行,降低重复操作中的误操作 – 计划任务:支持多任务、多模式、异常处理、详细日志和执行结果通知 – 数据备份:Mirror + backup(snapshot) + Binlog – DDB版本升级:Master和DBI升级,通信协议向下兼容
DDB系统架构
客户机(Client) 应用程序 C/Python/ PHP/Java/... 客户机(Client) Java程序 查询服务器(QS) QuryServer DDB JDBC DBI 管理服务器 Master DBA 管理工具
数据流 控制流
数据库节点(DBN) MySQL/ Oracle
• 优化排序操作:Merge Sort优先 • 内部游标 • 基于Master-Slave的读负载均衡和读写分离
DDB系统安全
• 访问认证
– 用户名、口令认证和IP地址检查 – DDB认证+DBN(RDBMS)认证
• 权限管理
– 区分普通用户和管理员用户 – 权限粒度控制到表的读、写和授权
– 用户访问配额控制
• 系统扩容
DDB访问性能优化——系统设计优化
• 去中心化,Client通过DBI直接访问DBN
• 尽量避免分布式查询 • DBI Cache
– Meta Data Cache – DBN Connection Pool – DBN PreparedStatement Cache
– SQL Syntax Tree Cache
DDB的功能特点
• 基于水平Sharding的Scale Out,表大小不受限。
• 多平台和多语言环境下的SQL访问接口。 • 支持常用的RDBMS功能:
– DDL:支持大多数常用语句,union和嵌套查询除外 – DML:表、视图、存储过程、触发器等 – 用户管理和权限控制
– 全局ID分配
• 事务支持:节点内、跨节点、跨DDB。 • 支持MySQL和Oracle混合使用。 • 命令行和图形化管理工具。
相关文档
最新文档