“
在数据之外,数据库系统还维护着支持特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。
为什么要创建索引?
1. 通过创建索引,可以在查询的过程中,提高系统的性能;
2. 在使用分组和排序子句进行数据检索时,可以减少查询中分组和排序的时间。
形象地说,索引就像是书籍的目录,让你无需浏览全书,即可快速定位到所需内容。
常见的索引有哪些?
索引按照结构可以分为线性索引、树形索引和多级索引。
其中,线性索引又分稠密索引、分块索引、倒排索引等;树形索引又分 B+ 树、B- 树等;多级索引是将多个不同或相同的索引方法组合使用,不同的单级索引组合便可以构成不同的多级索引方法。
作为一款开源、高性能、云原生、极简的时序数据处理平台,TDengine Database 采集海量的数据,每一条记录都有设备 ID、时间戳、采集的物理量以及每个设备相关的静态标签。那么应该如何设计这些数据的索引结构?能用到哪些经典的索引技术?又将如何使用 FST(有限状态转换器)来实现倒排索引?
2022 年 11 月 17 日 20:00-21:00 ,TDengine 研发工程师邓怡豪将和大家聊一聊这些分布式数据库中常用的索引技术。
内容大纲
1. 数据库中常见的索引
2. 倒排索引和 FST 的介绍
3. 索引在 TDengine 中的应用
邓怡豪,TDengine 研发工程师,先后在 360、陌陌从事数据库中间件和存储相关的开发工作,负责过开源数据库中间件项目Atlas的核心研发工作,对数据库、存储和网络有一定的了解。