一般的大数据都是躺在磁盘上,一般是通过key的partition找到对应region,然后再找每个小分片文件,总之会比较慢。
1. 一般会在内存中有一些数据,然后还有一些是缓存,然后再是查小文件,而且小文件是有序的
2. 对于列式存储,分不同的rowkey进行分裂,不同的列簇也是存在不同文件的,这样能做到
参考hbase的查询方式:https://www.jianshu.com/p/52a67e718fe7
hbase写很快,读相对慢一些,尤其是没有命中内存和缓存的
如果是还在缓存中的数据,读是很快的,
如果是memstore中(刚写的,还没到一定量要写文件,写了文件之后就清内存了),也会很快
否则,相对就慢了,但是第一次从文件读了之后,放在cache中;
3. 多步查询之间,中间数据不落磁盘,都放在内存中 这是很多mpp查询做的。