目录
1.数据库引擎做个对比
2.ElasticSearch的特点
7大优点:
2大缺点:
3.ElasticSearch适用于哪些场景
上一篇我们了解了ElasticSearch的排名和应用的案例,接下来我们来分析以下ElasticSearch对比其他数据库引擎有什么样的优劣势?ElasticSearch的有哪些特点以及哪些场景下适合使ElasticSearch?
1.数据库引擎做个对比
ElasticSearch与其他数据库对比
2.ElasticSearch的特点
从以上的对比我们也不难看出ElasticSearch的优缺点,接下来我们做个总结:
7大优点:
- 基于Java开发,安装包不大,开箱即用,部署简单,集群配置简单,维护扩容成本低。
- 提供友好的RestfulAPI使得开发人员能够快速上手,操作方便,使用成本低。
- 天然支持分布式,可弹性扩充,适合中小型企业前期使用,同样随着业务发展,数据量增长,可以扩展到上百台服务器,也不需要更换技术。
- 准实时的效率,一般在毫秒级,且索引到字段级,满足更多的业务复杂搜索。
- 支持存储和处理PB级的结构化或者非结构化数据。
- 分片且多副本存储,性能优越且数据存储安全可靠。
- 支持插件机制,分词插件、同步插件、Hadoop插件、可视化插件等。
2大缺点:
- 各节点数据的一致性问题,其默认的机制是通过多播机制,同步元数据信息,但是在比较繁忙的集群中,可能会由于网络的阻塞,或者节点处理能力达到饱和,导致各数据节点数据不一致——也就是所谓的脑裂问题,这样会使得集群处于不一致状态。目前并没有一个彻底的方案来解决这个问题,但是可以通过参数配置和节点角色配置来缓解这种情况。
- 没有细致的权限管理,也就是说,没有像mysql那样的分各种用户,每个用户又有不同的权限。所以在操作上的限制需要自己开发一个系统化来完成。
3.ElasticSearch适用于哪些场景
ElasticSearch最核心的三大功能是快速搜索的能力、大数据存储能力、可视化分析的能力。所以根据这三个能力我们来看它适用于以下4类场景。
场景1:站内聚合搜索场景,比如APP全局搜索、站内搜索、企业搜索。
场景2:大数据量的业务搜索场景,比如电商平台的订单搜索、商品搜索、短视频或新闻资讯的搜索。
场景3:日志的存储和分析的场景,这个相信大家并不陌生ElasticSearch就是大家经常说的ELK中的“E”,很多中大型项目或产品的生产环境的日志搜集和分析都用到了ElasticSearch。
场景4:数据聚合分析场景,比如业务系统的统计报表,这种场景使用的不是很多。