可扩展子序列匹配是支持从挖掘、预测到假设检验的大时间序列分析的关键。然而,最先进的子序列匹配技术不能很好地扩展到tb级的数据集。不仅索引构造变得非常昂贵,而且当查询子序列的长度超过几百个数据点时,查询响应时间也会迅速下降。虽然局部敏感哈希(Locality Sensitive hash, LSH)已经成为索引长时间序列的一个有前途的解决方案,但它依赖于执行多次数据传递的昂贵的哈希函数,因此对于大时间序列是不切实际的。在这项工作中,我们提出了一个轻量级的分布式索引框架,称为ChainLink,它支持tb级时间序列数据上的近似kNN查询。作为ChainLink的基础,我们设计了一种新的哈希技术,称为单次签名(Single Pass Signature, SPS),成功地解决了上述问题。特别是,我们从理论上和实验上证明了索引子序列的相似性接近性被我们提出的单次SPS方案所保留。利用这一SPS创新,Chainlink随后采用了可扩展索引构建的三步方法:(1)在每个分区内进行就地数据重组,以实现对所有子序列的高效记录级随机访问,(2)利用我们的SPS方案在重组数据的基础上并行构建基于哈希的本地索引,以便在每个分区内进行高效搜索,(3)对局部索引进行高效聚合,构建一个集中且高度紧凑的全局索引,以便在查询处理过程中对无关分区进行有效修剪。ChainLink在一个单一的map-reduce过程中实现了上述三个步骤。我们的实验评估表明,ChainLink索引在小于数据集大小的2%时是紧凑的,而最先进的索引大小往往与数据集的大小几乎相同。更好的是,与最先进的技术相比,ChainLink的索引构建时间快了2个数量级,同时最终查询响应时间提高了10倍,结果准确度提高了15%。
总结:我们的工作重点是支持在分布式环境中的长时间序列子序列近似kNN相似度搜索,
面临的问题:(1) High Dimensionality
(2) Significant Overlap 枚举用于索引的所有可能的子序列在处理时间和空间上都非常昂贵,我们将在中实验性地展示执行此类枚举的现有技术。这是由于连续子序列之间存在显著的重叠。
(3) Random Access
(4) Speed vs. Accuracy Trade-off
方案:本文提出了一种基于时间序列数据的分布式索引框架ChainLink。ChainLink采用duality-based approach [9]生成子序列,避免了枚举数据集中所有可能的子序列,从而实现了紧凑的索引大小。给定我们的近似kNN搜索目标,我们使用流行的局部敏感哈希(LSH)[10][12]作为我们索引的基础,LSH的一个关键性质是它能够在以[10]-[12]的高概率哈希时保持高维对象之间的相似性。不幸的是,LSH中用于索引时间序列数据的最先进的技术,例如SSH算法[7],受到可伸缩性的限制,因为它们固有地依赖于非常昂贵的多传递哈希函数。
为了克服这种可扩展性的限制,我们提出了一种新的哈希技术,称为单次签名(SPS)。与最先进的技术相比,SPS实现了大约200倍的加速。此外,我们对SPS方案的理论分析保证了在不牺牲kNN查询结果的准确性的前提下,在哈希后保持子序列之间的相似度。
为了实现高效的搜索,我们将ChainLink设计为一个两层分布式索引,由一个集中的全局索引(CL-Global)组成,将搜索指向特定的分区,并在工作节点上分布多个分布式本地索引。在每个分区中,首先在本地重组时间序列数据,然后构建紧凑的本地ChainLink索引(CL-Local)。
OUR PROPOSED CHAINLINK INDEX
ChainLink在集群机器管理的每个分区中存储的所有时间序列上分别构建一个本地索引(CL-Local),然后聚合这些本地索引来构建一个全局索引(CL-Global)。
数据存储在分布式文件中,既可以基于磁盘(如Hadoop HDFS文件),也可以基于内存(如Spark rdd)。在这两种情况下,每个文件都被划分为跨集群机器存储的几个分区。由于我们的系统是使用Spark实现的,因此在本文的其余部分中,我们在不失一般性的情况下使用了Spark RDD术语。
1)ChainLink Local Indices (CL-Local)
1.1)Chunk Feature Extraction
每个块被转换成一个低维特征向量。这个向量稍后将形成加权集向量,用于SPS
ChainLink中的特征提取包括两个步骤,sketching和生成n-gram。它们带来了以下好处。首先,它们降低了很长的数据块的维度。其次,它们将时间序列读数的连续域转换为可以应用哈希的离散域。第三,他们使用细粒度的n-gram元素捕捉每个块中的趋势,这样两个块越相似,它们共享的n-gram就越多。
sketching : sketching的过程将每个连续值块转换为一系列离散的二进制值,这也捕获了块的总体趋势(在数据流中是常规技术)
(Hashing)
在实践中,由于使用了n-grams,得到的向量往往非常长和稀疏,尤其是当n[16]很大的时候。与其他数据相比,时间序列通常有一个有限的模式,这是稀疏性的结果。
Single Pass Signature (SPS). 为了生成签名,SPS将加权集向量分解为g个不相结合的容器,然后使用一些哈希函数H(参见算法1)将每个容器中的权值映射为单个值,由于向量的稀疏性,非零权值的数量非常小。
ChainLink Global Index : CL-Global
最后,我们设计了全局索引CL-Global来对应一个集中而高度紧凑的索引,用于在查询处理期间有效地修剪不相关的分区。CL-Global驻留在集群的主节点上,它是通过对局部索引的汇总和聚合来构建的。为了构建全局索引,主节点从每个索引分区p中检索其紧凑的CL-Local哈希映射的键(仅构成哈希表id和桶号的键)。然后,所有结果按键分组,并将分区id组合在一起。简而言之,全局索引(CL-Global)格式是一个集中式哈希映射,其中关键字段是哈希表id和桶号的连接,值字段是分区id的列表
CHAINLINK QUERY PROCESSING
EXPERIMENTAL EVALUATION