美文网首页
Elasticsearch(01)

Elasticsearch(01)

作者: Jiatian | 来源:发表于2019-06-14 10:52 被阅读0次

    Elasticsearch(ES)作为被广泛地知道是一个开源搜索引擎,在开始了解ES之前,我们先对自己问几个问题。
    为什么需要这样一个技术?
    在日常工作中ES解决了什么问题,这些问题用现有技术无法解决么?
    ES是如何解决上述这一类问题的?
    ES在解决上述问题时,又会有什么局限?

    Q1.数据库字段太多,查询太慢,索引没有办法再做优化
    Q2.数据库一个count就拖死全表
    Q3.mysql的limit翻到几十几百万页后实在是太慢
    Q4.数据库like实在太慢,每次like整个服务器cpu内存飙高,拖慢整个线上服务
    Q5.想要对外/内提供db里的数据的全文检索服务
    Q6.提供日志(程序运行)查询功能

    在最流行的innodb之类的存储引擎在计算count的时候非常的慢。
    还有mysql的like,其实没什么玄幻的,每次做like本质还是查询内容去和数据库字段做字符串匹配。非常地慢。
    企业里对数据的查询一般可以分为三种:列表查询、详情查询和统计查询。看名字也可以理解的差不多了,列表一般就是列表页对应的查询,详情查询一般就是具体id对应的详情查询,而统计查询一般都是在看一些数值之类的报表,也就是一堆count值。

    这三种查询里,mysql做起来最困难的是1和3,即列表查询和统计查询。列表查询这种场景也会对应各种各样的查询条件,例如字段等于/小于/大于/不等判断,或者像字符串的严格匹配/前后缀模糊查询

    ES数据架构的主要概念(与关系数据库Mysql对比)


    image.png

    ELK是什么?
    ELK=elasticsearch+Logstash+kibana
    elasticsearch:后台分布式存储以及全文检索
    logstash: 日志加工、“搬运工”
    kibana:数据可视化展示。
    ELK架构为数据分布式存储、可视化查询和日志解析创建了一个功能强大的管理链。 三者相互配合,取长补短,共同完成分布式大数据处理工作。

    ES官方的中文视频:https://www.elastic.co/cn/webinars/getting-started-elasticsearch?baymax=rtp&storm=learn

    ES官方的英文文档:https://www.elastic.co/guide/en/elasticsearch/reference/6.0/_cluster_health.html

    ES官方中文文档:
    https://www.elastic.co/guide/cn/elasticsearch/guide/current/query-dsl-intro.html

    相关文章

      网友评论

          本文标题:Elasticsearch(01)

          本文链接:https://www.haomeiwen.com/subject/siijfctx.html