- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实现方案.ppt
网易海量数据存储平台;海量存储空间
高效的数据访问:高并发、低延迟
高可扩展性
高可用性:7x24
安全性和可靠性
功能和接口丰富、简单易用
有效应对系统(数据、模式、环境)变更和升级
易维护:管理便捷,自动化程度高
控制成本;设计目标:
为博客、相册、邮箱、网盘、IM等各类大型互联网应用提供一种通用的用户数据存储和管理解决方案。
实现方案:分布式数据库+分布式文件系统
分布式数据库(DDB):基于关系数据库集群解决结构化数据的海量存储和高效访问。
分布式文件系统(DFS):以文件为存储单位的非结构化数据存储解决方案。;基于水平Sharding的Scale Out,表大小不受限。
多平台和多语言环境下的SQL访问接口。
支持常用的RDBMS功能:
DDL:支持大多数常用语句,union和嵌套查询除外
DML:表、视图、存储过程、触发器等
用户管理和权限控制
全局ID分配
事务支持:节点内、跨节点、跨DDB。
支持MySQL和Oracle混合使用。
命令行和图形化管理工具。;DDB系统架构;DDB Sharding实现原理;访问性能优化
安全性问题
监控和故障处理
系统更新和升级
系统扩容;去中心化,Client通过DBI直接访问DBN
尽量避免分布式查询
DBI Cache
Meta Data Cache
DBN Connection Pool
DBN PreparedStatement Cache
SQL Syntax Tree Cache
优化排序操作:Merge Sort优先
内部游标
基于Master-Slave的读负载均衡和读写分离;访问认证
用户名、口令认证和IP地址检查
DDB认证+DBN(RDBMS)认证
权限管理
区分普通用户和管理员用户
权限粒度控制到表的读、写和授权
用户访问配额控制
管理员权限细分:Schema配置、维护、监控统计、用户管理
管理员操作日志
其他:
口令加密传输和保存
只允许内网访问;DBN状态监视:By Master
心跳监视和报警,故障时切换到Standby Node。
Session自动监视、统计和报警
Slow Log自动监视、统计和报警
复制延迟和异常自动监视和报警
Query Server监视:By Master
心跳监视和报警,动态调整和广播可用的QueryServer列表。
负载监视,动态调整和广播可用的QueryServer访问权值。
Master监视:By Monitor or Zookeeper
采用主从模式,故障时自动切换
Meta Data复制;系统变更:
产品升级、硬件升级、系统软件升级、DDB版本升级
技术挑战:
降低影响、避免误操作、时间可控、自动化、可回退
应对策略
硬件和系统软件升级:主备切换,逐步替换
测试环境 - 线上环境:正确性验证和实施时间评估
管理操作支持命令行方式执行,降低重复操作中的误操作
计划任务:支持多任务、多模式、异常处理、详细日志和执行结果通知
数据备份:Mirror + backup(snapshot) + Binlog
DDB版本升级:Master和DBI升级,通信协议向下兼容;技术挑战
降低对线上服务的影响
灵活地扩充资源
降低复杂度
保证执行效率
实现原理
;实现方案
方案一:DBN间数据导出导入
优点:迁移效率较好,实现较简单,灵活性好
缺点:停服时间长,容易导致数据不一致,删除数据的负面影响
方案二:基于事务的批量数据迁移
优点:不用停服,应用透明,灵活性好
缺点:实现复杂,迁移效率低,对线上访问有一定影响。
方案三:基于复制的数据扩容
优点:对应用透明,不需停服,效率高,对线上访问基本无影响。
缺点:操作较为复杂,只能实现成倍扩容,灵活性较差。
;面向海量的非结构化用户数据存取
支持大量的高并发数据操作
支持动态扩展,存储量和处理能力线性增加。
高可靠性,避免数据丢失和单点故障
负载均衡,可控性好
存储成本可控
;数据访问去中心化
文件读取和写入不经过中心节点,提高访问效率
通过ID(64bit)标识和定位文件
文件元信息:不支持目录、文件名、权限信息,支持SIZE,UpdateTime,MD5。
访问接口:
不支持POSIX文件接口
面向Java/C++的API:read,insert,delete,append,update等
HTTP文件读取接口
支持多副本
支持数据复制和迁移
支持文件粒度的数据去重
定制硬件降低成本
;DFS系统架构;
;以Bucket为单位进行配置和管理
将Bucket映射到不同SN的不同磁盘上
FSI负责多副本的同步写
FSI和前端机随机挑选副本读取数据
SN故障处理:
MDS检查到SN心跳失效
MDS通知所有FSI和前端机停止对故障SN的访问
MDS通知其他副本所在SN将桶数据复制
文档评论(0)