简单的答案是对象访问存储系统或服务利用 API 和其他对象访问方法来存储、检索和查找数据,而不是传统的文件或 NAS。例如,对于文件或 NAS,您使用 NFS(网络文件系统)或 CIFS(例如 windows 文件共享)又名 SMB 又名 SAMBA 访问存储,其中文件具有名称/句柄以及由文件系统确定的关联元数据。
元数据包括关于创建、访问、修改和其他日期、权限、安全性、应用程序或文件类型或其他属性的信息。文件在大小以及每个文件系统的文件数量方面受到文件系统的限制。同样,文件系统在空间容量和文件系统中的文件数量方面受到其总大小或总大小的限制。
对象访问的不同之处在于,虽然文件或 NAS 前端或网关或插件可用于许多解决方案或服务,但主要访问是通过 API 进行的,其中对象可以是任意大小(最多为对象系统的最大值)具有可变大小的元数据(取决于对象系统/服务实现)。对于大多数对象存储系统/服务,您可以指定从几 KB 的用户定义元数据或 GBytes 的任何位置。你会用 GBytes 的元数据做什么?除了普通信息之外,如何为策略、管理、其他副本所在的位置、视频、音频的缩略图或小预览等添加更多数据。
对象访问 API 或接口的一些示例包括 Amazon Web Services (AWS) 简单存储服务 (S3) 或其他基于 HTTP 和 REST 的服务,SNIA CDMI。不同的解决方案还将支持 IOS(例如 iphone/ipad)访问、SOAP、Torrent、WebDav、JSON、XAM 等以及 NFS/CIFS。此外,许多对象存储系统或服务支持 python 的编程绑定等。API 允许您从本质上打开流,然后获取或放置、列出 API/系统支持的其他功能,以确定您将如何使用它。
例如,我使用 Rackspace Cloud 文件和 Amazon S3(除了 EBS 和 Glacier)来备份、存储和归档数据。我可以通过 Web 浏览器或工具访问存储的对象,包括 Jungle 磁盘 (JD),这是我备份和同步文件的工具。JD 为我处理对象管理并将数据移动到 Rackspace 和 Amazon。如果我愿意,我还可以使用 API 进行一些编程,然后直接访问提供我的安全凭证的任何一个站点,以使用我存储的对象进行操作。
这是我去年在荷兰举办的一次会议中的对象和云存储入门的链接,其中包含一些简单的对象和访问示例。
http://storageio.com/DownloadItems/Nijkerk_Nov2012/SIO_IndustryTrends_CloudObjectStorage.pdf
使用编程绑定,您可以在程序中定义数据结构或对象,然后使用 API 或调用来存储、检索、列出数据、访问元数据等。如果存在特定的对象存储系统、软件或服务您正在寻找或需要知道如何编程,访问他们的网站,您应该找到他们的 SDK 或 API 信息以及示例。对于对象,一旦您在服务或产品/系统上创建了初始存储桶或容器,您就可以随时创建和存储其他对象。
以下是 AWS S3 API/编程示例的链接:http:
//docs.aws.amazon.com/AmazonS3/latest/API/IntroductionAPI.html
理论上,对象存储系统被谈论具有无限数量的对象或对象大小,实际上,大多数系统、解决方案、软件或服务都受到它们测试或当前支持的内容的限制,可能是数十亿个对象,具有对象大小为 5GByte 或更大。请注意特定服务或产品的限制,例如实际测试、支持的内容与架构上可能的内容或在 webex 或 powerpoint 上实施的内容。
同样,它的服务和产品/服务/软件取决于对象的数量、对象的大小、元数据的大小以及可以通过其 API 移入/移出的数据量。但是,通常可以安全地假设对象存储可以比文件系统(不使用全局名称空间、联合、文件虚拟化或其他技术)更具可扩展性(取决于实现)。
此外,在我的英特尔推荐读物 Cloud and Virtual Data Storage Networking (CRC Press) 一书中,您将找到有关云和对象存储的更多信息。
我将很快向 www.objectstorage.us 添加更多相关材料。
干杯