filesystem cache
ES数据写入磁盘,查询时通过缓存(filesystem cache)调用
filesystem cache存储索引文件,分配内存越大ES的性能越高
从磁盘读速度是秒级别,从内存读性能是毫秒级别
想保证性能,机器内存至少是总数据量的一半
如果只有100G内存留给filesystem cache,索引数据最好控制在100G内,只走内存搜索
为了避免索引数据过大,写入ES的字段越少越好
不参与搜索的字段尽量保存在HBase中(HBase:支持海量数据在线储存)
数据预热
对于经常访问的数据,可以做一个缓存预热的系统,提前访问,通过后台自动搜索刷到缓存中,提升用户访问性能
冷热分离
冷数据和热数据索引分开写,保存在不同的机器中,可以防止热数据被冷数据索引刷掉,保证热数据索引留在filesystem cache中,确保了热门数据的访问性能
document设计
避免关联查询,避免嵌套结构组成