学习笔记 - swift 对象存储 和 文件系统

 对象存储和文件系统存储区别:

所谓文件系统的本质是POSIX接口,“对象”这个名词是做对象存储的人为了把自己做的东西和文件系统区分开而用的术语,把存在对象存储里的文件叫做“对象”,所以选择文件系统还是对象存储,跟你把这堆数据称作对象还是文件并没有直接关系,而是要看你是需要POSIX还是RESTful HTTP接口,是需要目录结构还是适用扁平数据管理结构。

对象存储概念:

RESTful接口和扁平的数据组织形式。

HDFS 和Swift 优缺点

首先,HDFS 是用来处理大吞吐量的离线数据,它需要牺牲一定的延时为代价,因此它不太适合哪些对延时有较高要求的应用程序。

        其次,HDFS 被设计用来处理大数据文件,它通常对大文件进行优化,而在处理大量小文件时反而会使其耗费更多内存,从而影响数据处理的效率。此外,HDFS 中一次只能写入一个文件,不支持多用户并发写入。

       相反,Swift 用来存储多个任意大小文件的数据,而且支持对文件多用户并发写入,但Swift 没有目录结构,不支持嵌套,也不支持文件的重写,只能新建,不支持服务器上的数据查询和处理,而且当容器的对象超过100 万个时,其性能就会急剧下降。因此,如果能将HDFS 和Swift 存储进行整合,可极大提高云存储的数据处理效率,降低硬件成本。

HDFS 和Swift 整合方式

API å±æ¬¡ç»æå¾

Swift 适配器的作用就是调用Swift 的Java 客户端API,实现了对Swift 存储的操作,Hadoop MapReduce API调用Hadoop FileSystem API,对于MapReduce 来说,底层的HDFS 和Swift 都是透明的

Spark 官网提供了 hadoop-openstack 来连接swift

Accessing OpenStack Swift from Spark

http://spark.apache.org/docs/2.3.0/storage-openstack-swift.html

参考:

http://blog.chinaunix.net/uid-7374279-id-4732346.html

https://blog.csdn.net/lanceyang1992/article/details/46456399

https://www.ibm.com/developerworks/cn/cloud/library/1401_ouyangf_hadoopswift/index.html

猜你喜欢

转载自blog.csdn.net/tianyeshiye/article/details/84974341