日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

多元索引

更新時間: 2024-12-05 20:16:58

多元索引(Search Index)基于倒排索引和列式存儲,可以解決大數(shù)據(jù)的多維查詢和統(tǒng)計分析難題。當(dāng)日常業(yè)務(wù)中有非主鍵列查詢、多列組合查詢、模糊查詢、全文檢索和向量檢索等復(fù)雜查詢需求以及求最值、統(tǒng)計行數(shù)、數(shù)據(jù)分組等數(shù)據(jù)分析需求時,您可以將這些屬性作為多元索引中的字段并使用多元索引查詢與分析數(shù)據(jù)。

背景信息

多元索引可以解決大數(shù)據(jù)中復(fù)雜的查詢問題,同時數(shù)據(jù)庫、搜索引擎等其他系統(tǒng)也可以解決數(shù)據(jù)的查詢問題。

表格存儲與數(shù)據(jù)庫及搜索引擎等系統(tǒng)的主要區(qū)別如下:

除了Join、事務(wù)和相關(guān)性外,表格存儲能覆蓋數(shù)據(jù)庫和搜索系統(tǒng)中的其他功能,同時具備數(shù)據(jù)庫的數(shù)據(jù)高可靠性和搜索系統(tǒng)的高級查詢能力,可以替換常見的數(shù)據(jù)庫 + 搜索系統(tǒng)組合架構(gòu)方式。如果您的使用場景中不需要Join、事務(wù)和復(fù)雜相關(guān)性時,您可以選擇使用表格存儲多元索引。

表格存儲與數(shù)據(jù)庫及搜索系統(tǒng)的主要的區(qū)別

索引介紹

多元索引基于倒排索引和列式存儲,可以解決大數(shù)據(jù)的多維數(shù)據(jù)查詢和統(tǒng)計分析難題,包括非主鍵列查詢、前綴查詢、模糊查詢、多字段自由組合查詢、嵌套查詢、地理位置查詢、全文檢索、向量檢索和統(tǒng)計聚合(max、min、count、sum、avg、distinct_count、group_by、percentiles和histogram)等功能。

下圖展示了多元索引采用的倒排索引和列式存儲的原理以及多維空間索引結(jié)構(gòu)。

image.png

多元索引的使用方式不同于MySQL等傳統(tǒng)數(shù)據(jù)庫的索引使用方式,無最左匹配原則的限制,使用時非常靈活。一般情況下一張表只需要創(chuàng)建一個多元索引即可。例如有一個學(xué)生表,包括姓名、學(xué)號、性別、年級、班級、家庭住址等列,如果要實現(xiàn)姓名等于張三且年級為三年級的學(xué)生、家庭住址在附近1公里內(nèi)且性別為男的學(xué)生找出三年級二班住在某小區(qū)的學(xué)生等任意條件的組合查詢,您可以創(chuàng)建一個多元索引實現(xiàn),在創(chuàng)建多元索引時,將這些列添加到同一個多元索引中即可。

表格存儲為數(shù)據(jù)表提供了數(shù)據(jù)表主鍵查詢方式,還提供了二級索引(Secondary Index)和多元索引兩種加速查詢的索引結(jié)構(gòu)。下表展示了三種查詢方式的區(qū)別。

說明

使用合適的索引能大幅提升數(shù)據(jù)查詢效率以及降低使用成本,建議您參考索引選擇多元索引最佳實踐進行索引選擇和設(shè)計。

查詢方式

原理

場景

數(shù)據(jù)表主鍵

數(shù)據(jù)表類似于一個巨大的Map,它的查詢能力也就類似于Map,只能通過主鍵查詢。

適用于可以確定完整主鍵(Key)或主鍵前綴(Key prefix)的場景。

二級索引

通過創(chuàng)建一張或多張索引表,使用索引表的主鍵列查詢,相當(dāng)于把數(shù)據(jù)表的主鍵查詢能力擴展到了不同的列。

適用于能提前確定待查詢的列,待查詢列數(shù)量較少,且可以確定完整主鍵或主鍵前綴的場景。

多元索引

使用了倒排索引、BKD樹、列存等結(jié)構(gòu),具備豐富的查詢能力。

適用于除數(shù)據(jù)表主鍵和二級索引之外的其他所有查詢和分析場景,例如非主鍵列的條件查詢、任意列的自由組合查詢、關(guān)系查詢、全文檢索、地理位置查詢、前綴查詢、模糊查詢、嵌套結(jié)構(gòu)查詢、Null值查詢、統(tǒng)計聚合等。

典型場景

多元索引可廣泛應(yīng)用于各類應(yīng)用系統(tǒng)中進行數(shù)據(jù)查詢與分析。多元索引的實際應(yīng)用場景包括但不限于下表的樣例場景。

應(yīng)用系統(tǒng)

樣例場景

電商平臺

在電商平臺中使用多元索引實現(xiàn)商品的分類、屬性篩選等功能,方便用戶進行快速的商品搜索和篩選。

社交應(yīng)用

在社交網(wǎng)絡(luò)中使用多元索引實現(xiàn)用戶的關(guān)注關(guān)系、好友關(guān)系等查詢以及根據(jù)用戶的興趣標(biāo)簽進行推薦和匹配。

日志分析

在日志分析場景中使用多元索引進行日志的關(guān)鍵字搜索、按照時間范圍查詢等操作,用于快速定位問題和分析日志數(shù)據(jù)。

物聯(lián)網(wǎng)數(shù)據(jù)分析

在物聯(lián)網(wǎng)場景中使用多元索引進行設(shè)備數(shù)據(jù)的查詢和分析,例如按照設(shè)備類型、地理位置等進行篩選和統(tǒng)計。

應(yīng)用性能監(jiān)控

在應(yīng)用性能監(jiān)控中使用多元索引進行指標(biāo)數(shù)據(jù)的聚合和查詢,例如按照時間范圍、應(yīng)用名稱等進行篩選和匯總。

地理位置服務(wù)

在地理位置服務(wù)中使用多元索引進行地理位置的查詢和附近搜索,用于提供附近的店鋪、景點、服務(wù)等信息。

文本搜索引擎

在文本搜索引擎中使用多元索引進行全文檢索和相關(guān)性排序,用于快速搜索和查找文檔、文章等信息。

核心功能

多元索引的核心功能主要包括:

  • 數(shù)據(jù)庫查詢加速:

    • 任意列查詢(包括主鍵列和非主鍵列)

    • 多字段自由組合查詢

    • 地理位置查詢

    • And、Or、Not和Null等查詢

    • In 查詢

    • 模糊查詢(WildcardQuery、PrefixQuery、SuffixQuery)

    • 嵌套查詢(NestedQuery)

    • 排序

    • 翻頁

  • 統(tǒng)計聚合(Max、Min、Sum、Avg、Count、DistinctCount、Percentile、Histogram、GroupBy等)

  • 全文檢索

  • 向量檢索

  • 數(shù)據(jù)快速篩選

更多信息,請參見多元索引功能。

地域支持

目前多元索引功能開放的地域包括華東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華北3(張家口)、華北6(烏蘭察布)、華南1(深圳)、華南3(廣州)、西南1(成都)、中國香港、日本(東京)、新加坡、馬來西亞(吉隆坡)、印度尼西亞(雅加達(dá))、菲律賓(馬尼拉)、泰國(曼谷)、德國(法蘭克福)、英國(倫敦)、美國(硅谷)、美國(弗吉尼亞)、華東1 金融云、華東2 金融云、華北2 阿里政務(wù)云1。其中美國(硅谷)地域暫不支持向量檢索功能。

容災(zāi)能力

多元索引在具備同城容災(zāi)能力的地域默認(rèn)提供同城冗余的容災(zāi)能力,會將數(shù)據(jù)同時存儲到地域內(nèi)多個不同的可用區(qū)。在單可用區(qū)遇到斷電、斷網(wǎng)、火災(zāi)等故障時仍能保障數(shù)據(jù)的正常讀寫服務(wù)、不會影響讀寫可用性。

目前多元索引支持同城冗余的地域包括華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華北6(烏蘭察布)、華南1(深圳)、中國香港、日本(東京)、新加坡、印度尼西亞(雅加達(dá))、德國(法蘭克福)、華東1 金融云、華東2 金融云、華北2 阿里政務(wù)云1。

使用限制

更多信息,請參見多元索引限制。

注意事項

重要

使用多元索引時,無需為數(shù)據(jù)表設(shè)置預(yù)定義列。

  • 適用模型

    多元索引只適用于寬表模型

  • 索引同步

    用戶為數(shù)據(jù)表創(chuàng)建了多元索引后,當(dāng)在數(shù)據(jù)表中寫入數(shù)據(jù)時,數(shù)據(jù)會先寫入數(shù)據(jù)表中,數(shù)據(jù)寫成功后會立即返回用戶寫成功,同時另一個異步線程會從數(shù)據(jù)表中讀取寫入的數(shù)據(jù)然后寫入到多元索引,采用異步方式創(chuàng)建多元索引不會降低表格存儲的寫入能力。

    目前多元索引的延遲大部分在3秒以內(nèi),通過表格存儲控制臺可以實時查看多元索引創(chuàng)建的延遲情況。

  • 數(shù)據(jù)生命周期(TTL)

    如果數(shù)據(jù)表無UpdateRow更新寫入操作,則您可以使用多元索引TTL。更多信息,請參見生命周期管理。

    當(dāng)只需要保留一段時間內(nèi)的數(shù)據(jù)且時間字段不需要更新時,您可以通過按時間分表的方法實現(xiàn)數(shù)據(jù)生命周期功能。按時間分表的原理、原則和優(yōu)點請參見下表說明。

    維度

    按時間分表

    原理

    按照固定時間,例如“日”、“周”、“月”或者“年”分表,并為每個表建立一個多元索引,根據(jù)需要保留所需時間的數(shù)據(jù)表。

    例如當(dāng)數(shù)據(jù)需要保留6個月時,可以將每個月的數(shù)據(jù)保存在一張數(shù)據(jù)表中,例如table_1、table_2、table_3、table_4、table_5、table_6,并為每個數(shù)據(jù)表創(chuàng)建一個多元索引,每個數(shù)據(jù)表和多元索引中只會保存一個月的數(shù)據(jù),只需要每個月把6個月前的數(shù)據(jù)表刪除即可。

    當(dāng)使用多元索引查詢數(shù)據(jù)時,如果時間范圍在某個表中,只需要查詢對應(yīng)表;如果時間范圍在多個表中,需要對涉及的數(shù)據(jù)表均查詢一次,再將查詢結(jié)果合并。

    原則

    單表(單索引)大小不超過500億行,當(dāng)單表(單索引)大小不超過200億行時,多元索引的查詢性能最好。

    優(yōu)點

    • 通過保留數(shù)據(jù)表的個數(shù)調(diào)節(jié)數(shù)據(jù)存儲時長。

    • 查詢性能和數(shù)據(jù)量成正比,分表后每個表的數(shù)據(jù)大小有上限,查詢性能更好,避免查詢延遲太大或者超時。

  • 數(shù)據(jù)多版本

    多元索引不支持?jǐn)?shù)據(jù)多版本,即不能對設(shè)置了數(shù)據(jù)多版本的數(shù)據(jù)表創(chuàng)建多元索引。

    當(dāng)在單版本中每次寫入數(shù)據(jù)時自定義了timestamp,且先寫入版本號較大的數(shù)據(jù),后寫入版本號較小的數(shù)據(jù),此時先寫入的版本號較大的數(shù)據(jù)可能會被后寫入的版本號較小的數(shù)據(jù)覆蓋。

    Search和ParallelScan請求的結(jié)果數(shù)據(jù)中不一定包括timestamp屬性。

接口說明

多元索引提供了多元索引管理接口和查詢接口。其中查詢接口包括通用查詢接口(Search)和數(shù)據(jù)導(dǎo)出接口(ParallelScan),兩種查詢接口的功能大部分相同,但是ParallelScan接口為了提高某些方面的性能和吞吐能力舍棄了部分功能。

分類

接口

描述

管控接口

CreateSearchIndex

創(chuàng)建一個多元索引。

DescribeSearchIndex

獲取多元索引的詳細(xì)描述信息。

ListSearchIndex

列出多元索引的列表。

DeleteSearchIndex

刪除某個多元索引。

查詢接口

Search

全功能查詢接口,支持多元索引的所有功能點,包括所有的查詢功能以及排序、統(tǒng)計聚合等分析能力,其結(jié)果會按照指定的順序返回。

  • 查詢功能:非主鍵列查詢、全文檢索、前綴查詢、列存在性查詢、模糊查詢、多條件組合查詢、嵌套查詢、地理位置查詢

  • 折疊(去重)

  • 排序

  • 統(tǒng)計聚合

  • 數(shù)據(jù)總行數(shù)

ParallelScan

多并發(fā)數(shù)據(jù)導(dǎo)出接口,只包括所有的查詢功能,舍棄了排序、統(tǒng)計聚合等分析能力,能將命中的數(shù)據(jù)以更快的速度全部返回。

相對于Search接口,ParallelScan可以提供更好的性能,單并發(fā)時性能(吞吐能力)是Search接口的5倍。

  • 查詢功能:非主鍵列查詢、全文檢索、前綴查詢、列存在性查詢、模糊查詢、多條件組合查詢、嵌套查詢、地理位置查詢

  • 單請求支持多并發(fā)查詢

多并發(fā)導(dǎo)出數(shù)據(jù)時,您還需要通過ComputeSplits接口獲取當(dāng)前ParallelScan單個請求的最大并發(fā)數(shù)。

使用流程

image

步驟

操作

說明

1

為數(shù)據(jù)表創(chuàng)建多元索引

在數(shù)據(jù)表上創(chuàng)建一個多元索引后,您可以根據(jù)多元索引中建立索引的字段來查詢數(shù)據(jù)表中的數(shù)據(jù)。

2

使用多元索引查詢數(shù)據(jù)

多元索引提供了全匹配查詢、匹配查詢、短語匹配查詢、精確查詢、多詞精確查詢、前綴查詢范圍查詢、通配符查詢、多條件組合查詢、嵌套類型查詢、地理距離查詢、地理長方形范圍查詢地理多邊形范圍查詢、列存在性查詢折疊(去重)等數(shù)據(jù)查詢功能,請根據(jù)實際查詢場景選擇。

使用多元索引查詢數(shù)據(jù)時支持通過配置分詞指定匹配詞的切分方式以及對滿足條件的數(shù)據(jù)進行排序和翻頁。更多信息,請參見分詞排序和翻頁

3

使用多元索引分析數(shù)據(jù)

如果要分析表中數(shù)據(jù),您可以使用統(tǒng)計聚合功能實現(xiàn)求最小值、求最大值、求和、求平均值、統(tǒng)計行數(shù)、去重統(tǒng)計行數(shù)、百分位統(tǒng)計、按字段值分組、按范圍分組、按地理位置分組、按過濾條件分組、直方圖統(tǒng)計、日期直方圖統(tǒng)計等數(shù)據(jù)分析功能。

4

使用多元索引導(dǎo)出數(shù)據(jù)

當(dāng)使用場景中不關(guān)心整個結(jié)果集的順序時,您可以使用并發(fā)導(dǎo)出數(shù)據(jù)功能以更快的速度將命中的數(shù)據(jù)全部返回。

使用方式

您可以通過控制臺、命令行工具或者SDK使用多元索引。

計費說明

表格存儲支持VCU模式(原預(yù)留模式)和CU模式(原按量模式)兩種計費模式,請根據(jù)所用的實例模型參考相應(yīng)計費模式了解多元索引計費信息。更多信息,請參見計費概述

  • VCU模式(原預(yù)留模式):計費項包括計算能力、數(shù)據(jù)存儲量和外網(wǎng)下行流量,其中數(shù)據(jù)存儲量包括高性能存儲、容量型存儲和多元索引存儲。

    使用多元索引時,索引數(shù)據(jù)量占用的存儲空間為多元索引存儲,通過多元索引查詢與分析數(shù)據(jù)會消耗計算資源。

  • CU模式(原按量模式):多元索引計費項包括讀吞吐量、數(shù)據(jù)存儲量和外網(wǎng)下行流量,其中讀吞吐量包括預(yù)留讀吞吐量和按量讀吞吐量。更多信息,請參見多元索引計量計費

常見問題

相關(guān)文檔

  • 如果要使用SQL查詢與分析數(shù)據(jù),您可以使用表格存儲的SQL查詢功能實現(xiàn)。更多信息,請參見SQL查詢

    說明

    您也可以通過MaxCompute、Spark、Hive或者HadoopMR、函數(shù)計算、Flink等計算引擎分析表格存儲中的數(shù)據(jù)。更多信息,請參見計算與分析概述

  • 基于多元索引可以實現(xiàn)搭建億量級店鋪搜索系統(tǒng)等方案。更多方案介紹,請參見多元索引實踐

  • 表格存儲控制臺提供了多元索引相關(guān)電商訂單、店鋪搜索、地理圍欄和智能元數(shù)據(jù)的場景Demo。具體樣例請參見場景Demo。

上一篇: Queue管理 下一篇: 多元索引功能
阿里云首頁 表格存儲 相關(guān)技術(shù)圈