安卓文件系统服务器端概要设计,分布式文件系统概要设计.docx

分布式文件系统概要设计

分布式文件系统概要设计(初稿)

三人行研发组

2011-9-10

修订历史

日期版本描述作者2011-9-100.1概要设计初稿张琨2011-10-100.2概要设计完善熊书宜

需求分析与目标设定业务需求:提供整站的UGC文件存储与读取为后期在线网络存储打下基础

技术目标:方便读写海量规模的大文件易于掌握,对外接口统一而简单易于运维和扩展服务稳定同时数据安全系统架构设计主流选型

1、MogileFS Key-Value型元文件系统,不支持FUSE,应用程序访问它时需要API,主要用在web领域处理海量小图片,效率相比mooseFS高很多。 2、FastDFS 国人在mogileFS的基础上进行改进的key-value型文件系统,同样不支持FUSE,提供比mogileFS更好的性能。 3、MooseFS(我目前使用的) 支持FUSE,相对比较轻量级,对master服务器有单点依赖,用perl编写,性能相对较差,其master非常占内存?(测试结果貌似是chunkserver)国内用的人比较

两者的区别主要在于: 1、HBase依赖于HDFS;MongoDB直接存储在本地磁盘中 2、HBase按照列族将数据存储在不同的文件中;MongoDB不分列,整个文档都存储在一个(或者说一组)文件中,通过一个有一个通用的.ns文件保存名称空间(Column-based和Document-Based之间的区别应该是指这个地方吧) 3、HBase一个region只有一个HRegionServer对外提供服务(没有负载均衡的概念);MongoDB的shards(类似于region)支持负载均衡(主从结构,通过日志进行同步,这个HBase也在开发计划当中) 4、HBase根据文件的大小来控制region的分裂;MongoDB根据负载来决定shards的分裂

架构设计调研

mongodb 的Auto-Sharding 能够做到:。 当各Sharding间负载和数据分布不平衡时,自动rebalancing??? //这是我需要测试的。 简单方便的添加和删除节点。 自动故障转移。 可扩展至上千台节点

MongoDB集群包括一定数量的mongod(分片存储数据)、mongos(路由处理)、config server、clients。以下会一一介绍。

1 > shards:一个shard为??组mongod,通常一组为两台,主从或互为主从,这一组mongod中的数据是相同的, 具体可见《mongodb分布式之数据复制》。数据分割按有序分割方式,每个分片上的数据为某一范围的数据块,故可支持指定分片的范围查询,这同 google的BigTable 类似。数据块有指定的最大容量,一旦某个数据块的容量增长到最大容量时,这个数据块会切分成为两块;当分片的数据过多时,数据块将被迁移到系统的其他分片 中。另外,新的分片加入时,数据块也会迁移。2 > mongos:可以有多个,相当于一个控制中心,负责路由和协调操作,使得集群像一个整体的系统。mongos可以运行在任 何一台服务器上,有些选择放在shards服务器上,也有放在client 服务器上的。mongos启动时需要从config servers上获取基本信息,然后接受client端的请求,路由到shards服务器上,然后整理返回的结果发回给client服务器。3 > config server:存储集群的信息,包括分片和块数据信息。主要存储块数据信息,每个config server上都有一份所有块数据信息的拷贝,以保证每台config server上的数据的一致性。4 > shard key:为了分割数据集,需要制定分片key的格式,类似于用于索引的key格式,通常由一个或多个字段组成以分发数据

与mysql对比跟mysqld一样,一个mongod服务可以有建立多个数据库,每个数据库可以有多张表,这里的表名叫collection,每个collection 可以存放多个文档(document),每个文档都以BSON(binary json)的形式存放于硬盘中。跟关系型数据库不一样的地方是,它是的以单文档为单位存储的,你可以任意给一个或一批文档新增或删除字段,而不会对其它文 档造成影响,这就是所谓的schema-free,这也是文档型数据库最主要的优点。跟一般的key-value数据库不一样的是,它的value中存储 了结构信息,所以你又可以像关系型数据库那样对某些域进行读写、统计等操作。可以说是兼备了key-value数据库的方便高效与关系型数据库的强大功 能。

Nginx按照db到collection(相当于表的概念)做的配置l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值