数据库索引是一种数据结构,用于对数据库表中的一列或多列的值进行排序,以便快速走访表中的特定信息。索引的主要意见是加速检索表中数据的速率,提高系统的性能。不错将其类比为一册书的目次,通过目次不错快速定位到书中的特定则节,而无需逐页翻阅。
索引通过珍视一个有序的数据结构(如B树、哈希表等),使得数据库系统大略在查询时快速定位到所需的数据行。在创建索引时,数据库系统会为索引列创建一个出奇的数据结构,该结构包含了指向骨子数据行的指针。当推论查询操作时,数据库系统最初会在索引中查找匹配的纪录,然后通过指针快速定位到骨子的数据行。
数据库索引的类型
从加速的查询和旨趣来看,Apache Doris 的索引分为点查索引和跳数索引两大类。
点查索引:常用于加速点查,旨趣是通过索引定位到随和 WHERE 条款的有哪些行,径直读取那些行。点查索引在随和条款的行比拟少时成果很好。Apache Doris 的点查索引包括前缀索引和倒排索引:
1、前缀索引:Apache Doris 按照排序键以有序的状貌存储数据,并每隔 1024 行数据创建一个稀少前缀索引。索引中的 Key 是现时 1024 行中第一溜中排序列的值。要是查询触及已排序列,系统将找到相干 1024 行组的第一溜并从那儿运转扫描。
2、倒排索引:对创建了倒排索引的列,诞生每个值到对应行号辘集的倒排表。关于等值查询,先从倒排表中查到行号辘集,然后径直读取对应行的数据,而不必逐行扫描匹配数据,从而减少 I/O 加速查询。倒排索引还能加速范围过滤、文本要害词匹配,算法愈加复杂然则基甘愿趣一样。(备注:之前的 BITMAP 索引仍是被更强的倒排索引取代)
跳数索引:常用于加速分析,旨趣是通过索引笃定不随和 WHERE 条款的数据块,跳过这些不随和条款的数据块,只读取可能随和条款的数据块并再进行一次逐行过滤,最终获取随和条款的行。跳数索引在随和条款的行比拟多时成果较好。Apache Doris 的跳数索引包括 ZoneMap 索引、BloomFilter 索引、NGram BloomFilter 索引:
1、ZoneMap 索引:自动珍视每一列的统计信息,为每一个数据文献(Segment)和数据块(Page)纪录最大值、最小值、是否有 NULL。关于等值查询、范围查询、IS NULL,不错通过最大值、最小值、是否有 NULL 来判断数据文献和数据块是否不错包含随和条款的数据,要是莫得则跳过不读对应的文献或数据块减少 I/O 加速查询。
2、BloomFilter 索引:将索引对应列的可能取值存入 BloomFilter 数据结构中,它不错快速判断一个值是否在 BloomFilter 内部,况且 BloomFilter 存储空间占用很低。关于等值查询,要是判断这个值不在 BloomFilter 内部,就不错跳过对应的数据文献或者数据块减少 I/O 加速查询。
3、NGram BloomFilter 索引:用于加速文本 LIKE 查询,基甘愿趣与 BloomFilter 索引一样,仅仅存入 BloomFilter 的不是原始文本的值,而是对文本进行 NGram 分词,每个词行为值存入 BloomFilter。关于 LIKE 查询,将 LIKE 的 pattern 也进行 NGram 分词,判断每个词是否在 BloomFilter 中,要是某个词不在则对应的数据文献或者数据块就不随和 LIKE 条款,不错跳过这部分数据减少 I/O 加速查询。
各式类型索引特色对比
倒排索引是什么
倒排索引,是信息检索领域常用的索引本领,将文分内红一个个词,构建 词 -> 文档编号 的索引,不错快速查找一个词在哪些文档出现。
从 2.0.0 版块运转,Doris 救援倒排索引,不错用来进行文本类型的全文检索、庸俗数值日历类型的等值范围查询,快速从海量数据中过滤出随和条款的行。
在 Doris 的倒排索引杀青中,Table 的一溜对应一个文档、一列对应文档中的一个字段,因此愚弄倒排索引不错笔据要害词快速定位包含它的行,达到 WHERE 子句加速的意见。
与 Doris 中其他索引不同的是,在存储层倒排索引使用孤独的文献,跟数据文献逐一双应、但物理存储上文献互相孤独。这么的克己是不错作念到创建、删除索引不必重写数据文献,大幅裁汰搞定支拨。
倒排索引案例共享:
倒排索引在数据仓库应用案例稽查:
从 Elasticsearch 到 SelectDB,不雅测云杀青日记存储与分析的 10 倍性价比训诲(https://www.selectdb.com/blog/122)
#倒排索引#
- 2024/12/25笑一笑更健康!这场跨界脱口秀有梗又有
- 2024/12/25濮阳油田总病院又一项药物临床锤真金不
- 2024/12/25百度文心快码无拦阻版:让AI代替“看不
- 2024/12/25“干噎酸奶”风靡相聚 医师进攻教唆
- 2024/12/25宣城市近一个月内已有6东说念主顺利捐献