bitmap:
(正常java int是4个byte32位 ,再bitmap里 1位bit 就可以代表一个数字,那么bitmap作为索引就可以省下32倍存储空间, 类比到数据的行 ,文档内容等 能省下更多, 行 文档的 uniq值也是需要有限避免过大的 1亿个数字3M多就可以 牛逼哄哄的 BitMap,到底牛逼在哪? - 知乎) 也可以快速构造数百亿级别的数据 ,并且自然完成排序
一个bitmap例子, warning: bitmap只能用在coloum取值范围不是很大的场景, 比如 性别,年龄,省 市等
【Bitmap算法浅谈篇】Mysql应用Bitmap_搜索微信公众号(airX嵌入式)获取更多知识-CSDN博客
倒排 (类似mr去做Google的搜索排序目录->词->文档 倒排索引为什么叫倒排索引? - 知乎)
Btree (二叉树 数的深度比较高 ,每次查找到下一层都是 一次io ,跨block 跨盘面, btree的阶层(深度可以放小,每个节点内的key连续容易在一块扇区或者block上),更适合做索引)
hash(mysql) 就和hashmap原理类似
hashcluster
zorder
zigtag排序之后 ,也会做一些索引,方便定位到 比如x=101 的数据集中在哪几个数据块里
bloomfilter
es索引原理