赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 表格存储
  4. 产品简介
  5. 物联网存储IoTstore
  6. 设备元数据接入
  7. 多元索引介绍

多元索引介绍

  • 设备元数据接入
  • 发布于 2025-04-22
  • 2 次阅读
文档编辑
文档编辑

多元索引基于倒排索引和列式存储,可以解决大数据的复杂查询难题,包括非主键列查询、全文检索、前缀查询、模糊查询、多字段自由组合查询、嵌套查询、地理位置查询、统计聚合(max、min、count、sum)等功能。多元索引在车联网场景中主要用于根据任意车辆属性组合检索车辆。

说明

关于多元索引的更多信息,请参见多元索引。

查询场景

多元索引目前提供通用查询接口(Search)和数据导出接口(ParallelScan)。

  • 如果请求关心排序、统计聚合,或者是终端客户的直接查询请求,请使用Search接口实现。

  • 如果请求不关心排序,只关心把所有符合条件的数据尽快返回,或者是计算系统(Spark、Presto等)拉取数据,请使用ParallelScan接口实现。

ParallelScan接口相对于Search接口,保留了所有的查询功能,但是舍弃了排序、统计聚合等分析功能,从而带来了5倍以上的性能提升,因此使用ParallelScan接口可以实现1分钟内上亿级别数据行的导出能力,导出能力可以水平扩展,不存在上限。

接口

说明

Search

全功能查询接口,支持多元索引的所有功能点。

  • 查询功能:非主键列查询、全文检索、前缀查询、模糊查询、多字段自由组合查询、嵌套查询、地理位置查询

  • 折叠(去重)

  • 排序

  • 统计聚合

  • 数据总行数

ComputeSplits+ParallelScan

多并发数据导出接口,支持多元索引中的查询功能,不支持排序、统计聚合等分析功能。

相对于Search接口,ParallelScan可以提供更好的性能,单并发时性能(吞吐能力)是Search接口的5倍。

  • 查询功能:非主键列查询、全文检索、前缀查询、模糊查询、多字段自由组合查询、嵌套查询、地理位置查询

  • 单请求支持多并发查询

核心功能

多元索引支持多维数据查询功能和常用数据统计分析功能。具体功能说明请参见下表。

功能

说明

文档

任意列的查询(包括主键列和非主键列)

只使用主键列或主键列前缀查询无法满足一些查询场景的需求。

使用多元索引,您可以使用非主键列进行数据查询,只需要对要查询的列建立多元索引,即可通过该列的值查询数据。

多元索引任意查询,例如精确查询等

多字段自由组合查询

多字段自由组合查询适用于订单场景。在订单场景中表的字段可能多达几十个,在创建表时很难完全确定要查询字段的组合方式。即使已确定要查询字段的组合方式,组合方式也会多达上百个。

如果使用关系型数据库可能需要创建上百个索引,而且如果某种组合方式没有提前预想到,未创建相应索引,则无法查询。

使用表格存储,您只需要建立一个多元索引且在索引中包括可能需要查询的字段名,然后在查询数据时随意自由组合这些字段进行查询。同时多元索引还支持多种关系查询,例如And、Or、Not。

多条件组合查询

地理位置查询

随着移动设备的普及,地理位置信息的价值越来越大,越来越多的应用中增加了地理位置信息,例如朋友圈、微博、外卖、运动、车联网等。这些应用中的信息中含有地理位置数据,因此需要相匹配的查询能力。

多元索引支持的地理位置查询功能如下:

  • Near:以一个点为原点,查询指定附近距离圈内的点,例如朋友圈中附近的人。

  • Within:指定一个矩形框或多边形框,查询出该框内的点。

基于上述功能,如果应用中需要地理位置相关查询,使用表格存储多元索引即可一站式解决,不再需要借助其他数据库或搜索系统。

  • 地理距离查询

  • 地理长方形范围查询

  • 地理多边形范围查询

全文检索

多元索引分词能力可用于支持全文检索,但是多元索引只提供最基础的BM25相关性,不提供自定义相关性能力。因此,如果有相关性的搜索需求,建议使用搜索系统实现,否则可以使用多元索引满足需求。

目前多元索引提供了单字分词、分隔符分词、最小数量语义分词、最大数量语义分词和模糊分词5种分词类型,请根据实际场景配置。

分词

向量检索

多元索引支持向量检索能力,您能够利用数值向量进行高效的近似最近邻查询,从而在大规模数据集中找到最相似的数据项。该功能适用于推荐系统、图像与视频检索、自然语言处理等应用场景。

向量检索

模糊查询

通配符查询等价于关系型数据库中的like功能。您可以通过指定字符和任意通配符(?或*)可实现类似于like的功能。

  • 通配符查询

  • 模糊查询

前缀查询

前缀查询支持按照前缀匹配所需内容,例如使用apple前缀查询数据会匹配到apple6s、applexr等内容。前缀查询除了支持中英文外,还支持其他语言。

前缀查询

列存在性查询(NULL查询)

查询某一列是否为空值,类似于NULL查询。

列存在性查询

嵌套查询

在线应用的数据中,除了扁平化的一层结构外还存在一些更复杂的多层结构场景,例如图片标签。假设某个系统中存储了大量图片,每个图片中都有多个实体(例如房子、轿车、人等),在每个图片中这些实体的位置和空间大小各不相同,因此每个实体的权重(score)不同,这样相当于每个图片均有多个标签,每个标签包括一个名称和一个权重分。如果要根据标签中的条件查询,此时即可使用到嵌套查询。图片标签采取JSON格式存储,数据样例如下:

{
 "tags": [
   {
      "name": "car",
      "score": 0.78
   },
   {
      "name": "tree",
      "score": 0.24
   }
 ]
}

嵌套查询可以解决多层逻辑关系的数据存储和查询,为复杂数据的建模提供了极大地便利性。

  • 数组和嵌套类型

  • 嵌套类型查询

去重

多元索引为查询结果提供了去重功能。去重功能可以限制某个属性在一次结果中的最多个数,提供更好的结果多样性能力。例如电商搜索中,搜索一个笔记本电脑可能第一页全是某一个品牌的电脑,返回结果对用户并不友好,多元索引的去重功能可以避免此类情况。

折叠(去重)

排序

表格存储提供按照主键的字母顺序排序功能,但如果要按照其他字段排序,您可以使用多元索引的排序能力。

多元索引提供了丰富的排序能力,包括正序或逆序、单条件、多条件等,多元索引排序均为全局排序。多元索引的默认返回结果是按照表中的主键顺序排序。

  • 排序和翻页

  • 多元索引任意查询,例如精确查询等

数据总行数

使用多元索引查询时可以指定返回本次请求命中的数据行数。此功能可以用于数据校验、运营等场景。

  • 如果指定一个空查询条件,则所有创建了索引的数据都符合条件,此时返回的数据总行数即为表中已创建索引的数据总行数。

  • 如果停止写入数据且数据均已创建索引,则此时返回的数据总行数是数据表中的总行数。

  • 全匹配查询

  • 多元索引任意查询,例如精确查询等

统计聚合

多元索引提供常见的统计聚合功能,包括最大值(Max)、最小值(Min)、平均值(Avg)、求和(Sum)、统计行数(Count)、去重统计行数(DistinctCount)、分组(GroupBy)、百分位(Percentile)、直方图(Histogram)等功能,可以满足用户在轻量级分析场景对基本统计聚合的需求。

统计聚合

使用多元索引

您可以通过以下方式使用多元索引来查询数据。

  • 通过控制台使用多元索引

  • 通过命令行工具使用多元索引

  • 通过SDK使用多元索引

相关文章

宽表模型介绍 2025-04-22 14:45

宽表(WideColumn)模型是类Bigtable/HBase模型,可应用于元数据、大数据等多种场景,支持数据版本、生命周期、主键列自增、条件更新、过滤器等功能。宽表模型在车联网场景中主要用于车辆元数据的存储与分析。

多元索引介绍 2025-04-22 14:45

多元索引基于倒排索引和列式存储,可以解决大数据的复杂查询难题,包括非主键列查询、全文检索、前缀查询、模糊查询、多字段自由组合查询、嵌套查询、地理位置查询、统计聚合(max、min、count、sum)等功能。多元索引在车联网场景中主要用于根据任意车辆属性组合检索车辆。 <

宽表模型设计 2025-04-22 14:45

在车联网场景中车辆的元数据包含了车辆的固有属性(例如车辆识别代码、车辆外壳颜色、发动机型号等)和最新状态数据(例如车辆当前GPS坐标、发动机的当前转速、车辆当前运行速度等)。本文介绍如何设计车联网场景下的数据表结构和多元索引结构。 数

SQL查询 2025-04-22 14:45

SQL查询为多数据引擎提供统一的访问接口。通过SQL查询功能,您可以对表格存储中数据进行复杂的查询和高效的分析。SQL查询在车联网场景中作为不同类型数据的统一查询接口。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号