为什么要使用ElasticSearch?


一、为什么要使用ElasticSearch?

因为在我们的业务场景中,可能会有大数据量的查询场景,这时候如果我们用常规的缓存和数据库来提供支持,在极端情况下可能会出现实例负载过高,导致系统不可用。

所以我们需要选择一款支持大数据量查询的框架或插件支持,ElasticSearch刚好就是这么一个角色。

ElasticSearch是一个开源的分布式搜索和分析引擎,具有高性能、分布式架构、简单易用以及强大的全文搜索和实时数据分析能力,适用于各种大数据场景下的数据存储、查询和分析需求。

二、ElasticSearch有哪些特点?

ElasticSearch有以下几个特点:

  • 高性能:具有高性能的搜索和分析能力
  • 可靠性:具有可靠性和高可用性,支持数据备份和恢复
  • 可扩展性:支持动态扩容节点的
  • 实时分析:支持实时分析,可以对数据进行实时查询,有利于快速检索数据

三、ElasticSearch可以用在哪些场景?

  • 搜索引擎:用于快速检索数据,如商品列表、推荐列表等
  • 日志分析:通过日志分析,来帮助企业了解其业务的执行情况
  • 数据分析:通过数据分析,来帮助企业获取有价值的信息,从而推动产品发展
  • 实时监控:通过实时监控,来帮忙业务实时监控数据波动和系统性能,保证系统的正常运行

四、ElasticSearch为什么这么快?

  • 倒排索引:使用了倒排索引,将文档中的每个词和对应所在哪些文档中进行映射,从而实现快速检索速度
  • 全文索引:使用了高效的全文索引,将文档转化成可搜索的结构化数据,从而实现快速检索速度
  • 索引分片:将每个索引进行分片,使查询的时候可以并行查询,加快数据查询
  • 索引优化:支持索引覆盖、索引下推等优化技术,加快数据查询
  • 分布式存储:数据存储在多个节点上,从而减少单个节点的压力,提高整体性能
  • 预处理:插入数据时会预处理存储到索引中,使得查询时不需要重新进行复杂计算,加快速度查询
  • 内存存储:使用了内存存储,减少磁盘IO次数,提高系统查询性能

文章作者: GaryLee
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 GaryLee !