海量文件如何存储?

  使用分布式存储,如mfs、hadoop

   常见的分布式文件系统有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。

TFS(Taobao File System)是淘宝解决海量小文件存储自主研发的分布式文件系统,通过将数据分布到多个存储节点来解决问题1、通过将多个小文件打包存储到大文件(block)以及扁平化的目录结构来解决问题2、通过block多副本以及按block复制的方式来解决问题3。

分布式领域CAP理论
Consistency [kən'sɪstənsɪ]  (一致性), 数据一致更新,所有数据变动都是同步的,被复制成相同。

Availability  [əˌveɪlə'bɪləti]  (可用性), 所有在分布式系统活跃的节点都能够处理操作且能响应查询

Partition tolerance [pɑː'tɪʃn]   ['tɒlərəns]   (分区容错性) 在两个复制系统之间,如果发生了计划之外的网络连接问题,对于这种情况,有一套容错性设计来保证。

CAP原理指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进行分布式架构设计时,必须做出取舍。而对于分布式数据系统,分区容忍性是基本要求,否则就失去了价值。因此设计分布式数据系统,就是在一致性和可用性之间取一个平衡。对于大多数WEB应用,其实并不需要强一致性,因此牺牲一致性而换取高可用性,是多数产品的方向。

对于关系型数据库,要求更新过的数据能被后续的访问都能看到,这是强一致性。如果能容忍后续的部分或者全部访问不到,则是弱一致性。如果经过一段时间后要求能访问到更新后的数据,则是最终一致性。

CAP原则是数据库的基石。

事务机制ACID和CAP理论是数据管理和分布式系统中两个重要的概念,很不巧,这两个概念中都有相同的“C”代表 "Consistency" 一致性,但是实际上是完全不同的意义,下面是比较两个概念的不同之处。

传统关系式数据库技术最成熟,关注于ACID

NIS 或者  OpenLDAP

云存储


分布式系统原理

fastdfs 和hdfs的区别 

主要是定位和应用场合不一样。hadoop的文件系统HDFS主要解决中数据的问题。其单个数据文件通常很大,采用了分块(切分)存储的方式;FastDFS主要用于大中网站,为文件上传和下载提供在线服务。所以在、动态扩容等方面都支持得比较好,FastDFS不会对文件进行分快(切分)存储。

分布式体现在多机集群,易扩展、负载、冗余