可查询的“二级存储”数据

人们普遍认为对象存储的主要用例是作为二级存储。随着收集和分析的数据量不断增加(有人说物联网吗?),大量数据最终会进入二级存储。

将数据保存在二级存储中并不意味着不再需要对其进行查询:最近出现的一种趋势可能需要在移动到二级存储的旧数据中进行搜索。Storlets 允许对驻留在 Swift 中的数据进行高效且简单的查询。

另一个密切相关的用例是聚合。对数据进行聚合是随着数据老化而广为人知的一种做法。Storlets 可以充当“就地”数据聚合器。

以下是属于高效可查询二级存储数据定义的更具体的用例。

从 Spark 推送 SQL 过滤

Apache Spark 是一种非常流行的分析引擎,它具有多种用于各种类型分析工作负载的插件。此外,Spark 可以与各种后端存储系统协同工作,Swift 就是其中之一。Spark SQL 是一个 Spark 插件,允许分析结构化数据。Spark SQL 的核心是一个名为“Catalyst”的 SQL 引擎。给定一个 SQL 查询,“Catalyst”会识别其过滤部分。因此,过滤部分可以推送到 Storlet。这个想法在东京 Openstack 会议上提出,可以在 [1] 中查看。

对二进制数据进行分析

分析通常是对文本数据进行的。在某些情况下,这些数据嵌入在二进制格式中。Storlets 可用于从二进制对象中提取文本数据,从而节省了在提取之前下载数据的需要。一个例子是 JPEG 中的 exif 元数据。这个想法在巴黎 Openstack 会议上提出,可以在 [2] 中查看。