5.3. 协同存储

5.3.1. 基本原理

1.索引文件

  • tip 词典索引(前缀和后缀指针,该文件需内存加载)
  • doc 倒排表、词频,页码
  • fdt 行存,文档值
  • fdx 行存索引,本身也较小可以一次加进内存,访问频率少
  • dvd 列存编号:张三->1
  • dvm 为列存编号对应值:1->年龄
  • pos 分词位置,分词类型使用保证查询顺序
  • tim 后缀词块,倒排表指针,需要多次访问。

2. 技术逻辑

依赖Hadoop中HDFS的异构机制,将HDFS中访问磁盘属性标识为SSD,创建“/data/ssdindex”目录作为索引异构的SSD磁盘目录,并设置One_SSD策略;LSQL结合HDFS将索引结构差异化存储,比如需要多次访问的tim、tip文件可以存储在HDFS的“/data/ssdindex”目录下,其他文件可以存储在HDFS的“/data/index”目录下,对于LSQL来说“/data/ssdindex”和“/data/index”目录是一个整体;如果不设置就默认使用“/data/index”目录。如下图所示:

协同方案1:

  • SSD磁盘只存储tim、tip相关的数据,没有其副本,副本在其他介质的磁盘上。

协同方案2(近三天协同存储):

  • SSD磁盘只存储【tim、tip】和近3天的【fdx、tip、doc】相关的数据,没有其副本,副本在其他介质的磁盘上。

  • 超过3天的【fdx、tip、doc】相关的数据会设置“/data/ssdindex2”路径中的子目录过期的为Hot,比如:/data/ssdindex2/20180701过期了,需要设置Hot存储策略,然后调用HDFS的mover程序将原来在SSD上的数据块转移到非SSD的磁盘介质上。

非协同存储方案:

简言之,就是从硬件设备上进行优化存储和性能,针对冷数据,采用容量大的、读写性能不高的介质存储,比如普通的磁盘;针对热数据,实时进行查询的,经常用到的就用SSD进行存储。

Copyright © lucene.xin 2020 all right reserved修改时间: 2021-07-02 11:42:23

results matching ""

    No results matching ""