热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OpenStackswift介绍

0swift介绍0.1swift是什么?OpenStackObjectStorage最开始是由Rackspace开发,并于2010年7月贡献给OpenStack,作为其开源子项目。OpenStackObjectStorage最初作为RackspaceCloudFilesservice的主体实现,工程代号为swift。因

0 swift 介绍

0.1swift 是什么?

OpenStack Object Storage 最开始是由 Rackspace 开发,并于 2010 年 7 月贡献给 OpenStack ,作为其开源子项目。 OpenStack Object Storage 最初作为 RackspaceCloud Files service 的主体实现,工程代号为 swift 。因此 swift 沿用至今。

下面的介绍引自官网[1]:

OpenStack Object Storage (code-named Swift) is open
source software forcreating redundant, scalable object storage
using clusters of standardizedservers to store petabytes of
accessible data. It is not a file system orreal-time data storage
system, but rather a long-term storage system for a morepermanent
type of static data that can be retrieved, leveraged, and
thenupdated if necessary. Primary examples of data that best fit
this type ofstorage model are virtual machine images, photo
storage, email storage andbackup archiving. Having no central
"brain" or master point ofcontrol provides greater scalability,
redundancy and permanence 。

OpenStackObject Storage (Swift)
是开源的,用来创建可扩展的、冗余的、对象存储(引擎)。 swift 使用标准化的服务器存储 PB 级可用数据。但它并不是文件系统
(file system) ,实时的数据存储系统 (real-timedata storage system) 。 swift
看起来更像是一个长期的存储系统 (long term storage system)
,为了获得、调用、更新一些静态的永久性的数据。比如说,适合存储一些类型的数据:虚拟机镜像,图片存储,邮件存储,文档的备份。没有“单点”或者主控结点
(master point of control) , swift 看起来具有更强的扩展性、冗余和持久性。

 

0.2swift 能做什么

长于存储非结构化数据,大、小文件性能据说都很好(目前没有测试数据, adrian otto 说测试过 10 亿个 1byte 数据)。

文章[2] 的 Use OpenStack ObjectStorage For 中,基本上只有一个词 (storage)... 存储,各种存储,可以达 PB 级。

 

0.3swift 不能做什么

文章[2]的 Recognize the Limitations 罗列了一长串 swift 不擅长的地方,这里列出主要几项

 

   Objects must be <5GB : swift 1.2 之后已经对 object 的大小不做限制

  Not a Filesystem :不是文件系统。 swift 使用 REST API ,而不是使用传统意义上的文件操作命令, open(), read(), write(), seek(), 和 close() 等。

   No File Locking :干脆不支持“文件锁”。其实在 swift 中,“锁”的概念是没有必要的。

  No Directory Hierarchies :没有文件目录结构。 swift 可以模拟目录结构,但没有必要

   Not a Database :不是数据库。 swift 使用 account-container-object 的概念存储 object ,可以列表出指定 container 中的 object ,不支持 server 端的查询和处理操作。

 

0.4 结论?

看起来 swift 貌似一无是处,除了“蹩脚”的存储外什么都做不了。

其实 adrian otto 更倾向于把 swift 和 HayStack 做类比。 HayStack 是 facebook 用来缓冲数据的中间层。

国内这方面资料相对较多,不赘述。

参看几篇文章[3]、[4]、[5]可能会有深入认识。

 

0.5 swift 怎么使用?

HTTP GET ,请求 object 的下载; HTTP HEAD 请求 object metadata (元数据), HTTP DELETE 删除处理 object 。

支持多种语言封装对 object 的请求,包括 Java, Python, Perl, PHP, .NET。


推荐阅读
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 深入解析:OpenShift Origin环境下的Kubernetes Spark Operator
    本文探讨了如何在OpenShift Origin平台上利用Kubernetes Spark Operator来管理和部署Apache Spark集群与应用。作为Radanalytics.io项目的一部分,这一开源工具为大数据处理提供了强大的支持。 ... [详细]
  • window下kafka的安装以及测试
    目录一、安装JDK(需要安装依赖javaJDK)二、安装Kafka三、测试参考在Windows系统上安装消息队列kafka一、安装JDKÿ ... [详细]
  • 本文提供了一套实用的方法论,旨在帮助开发者构建能够应对高并发请求且易于扩展的Web服务。内容涵盖了服务器架构、数据库管理、缓存策略以及异步处理等多个方面。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 本文探讨了如何解决PHP文件无法写入本地文件的问题,并解释了PHP文件中HTML代码无效的原因,提供了一系列实用的解决方案和最佳实践。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 使用Swift 2.2创建我的第一个Xcode应用
    本文将指导您如何使用Xcode 6搭建并运行一个简单的iOS应用程序。从启动Xcode到执行首个应用,每个步骤都将详细介绍。 ... [详细]
  • 本文详细探讨了Scala中单例模式的实现方式,通过关键字object来模拟其他语言中的静态成员功能,同时介绍了伴生对象的概念及其应用场景。 ... [详细]
  • 全面解读Apache Flink的核心架构与优势
    Apache Flink作为大数据处理领域的新兴力量,凭借其独特的流处理能力和高效的批处理性能,迅速获得了广泛的关注。本文旨在深入探讨Flink的关键技术特点及其应用场景,为大数据处理提供新的视角。 ... [详细]
  • 根据用户输入的名字随机推荐用户名
    Scala根据用户输入的名字随机推荐用户名不是copy就能用的,要理解逻辑逻辑根据用户名字判断,如果名字长度是0,或者纯数字的名字& ... [详细]
  • 本文探讨了一种有效的方法来检查数据库中是否已存在特定的用户名,如果不存在,则将其添加到数据库中。代码示例展示了如何使用SQL查询和C#编程实现这一功能。 ... [详细]
author-avatar
政委锤炼_394_774
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有