ES 原理
ES全称ElasticSearch,是一个分布式搜索引擎,同时也是一个Nosql数据库,存放的数据格式类似JSON,跟MongoDB有些类似,
MongoDB事务型应用层面适用于OLTP,ElasticSearch更偏向于OLAP,本身不支持事务。
实现特点
- 存储数据有序存储
- 将数据与索引分离
- 压缩数据
主要解决问题
- 检索相关数据
- 分布式存储
- 返回统计结果
- 速度快
读写底层原理
协调节点
负责读写请求的路由,例如查询的文档不在当前机器上,则需要路由到其他 ES 机器上。
四个核心操作
- flush
- refresh
- translog
- merge
海量数据下 ES 的性能优化
系统文件缓存(File System Cache),保证写入的数据量等于或者略大于系统内存(剩余)
避免在 ES 联表查询,写入 ES 时,应该就聚合数据。
只存储与搜索相关的字段,减少文档大小
冷热数据
深分页,改为使用 Scroll
存储数据有序存储
将数据与索引分离
压缩数据
主要解决问题
检索相关数据
分布式存储
返回统计结果
速度快