关于elasticsearch在系统架构中的位置

来源:互联网 发布:极客学院源码下载 编辑:程序博客网 时间:2024/05/22 04:36


        最近由于项目的原因,开始接触到ES。在使用和学习的过程中,不断的产生着各种疑问让我略显迷茫。所以开始撰写这篇博客来记录和推进自己对elasticsearch的学习。

就现在而言,题目可能起的有点过于大。对于还并不算合格的程序员的我来说,谈架构还为时尚早。但我希望在这篇文章终结的时候,自己能够成长到有浅谈架构的实力。自我打气的话就此位置,开始记录。

   

    Elasticsearch能否代替数据库?

    具有这样的疑问可能只存在于我这样的新手,对于混迹程序海洋的老鸟们而言,提这样的问题可能略显幼稚了。但是我现在就会有这样的疑问,所以提出来,作为本文的开端。同时,也作为我深入学习ES的探路石。
    会有这样的疑问也是因为当前项目中作为演示所用的架构事例。前端部署Restful的web站点,并提供对存在于ES的文档数据进行搜索。我就会设想,如果在系统中数据都可以以这种方式进行存储,那是不是就可以不需要数据库了?
     官网中提到,Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于LUcene。系统保证数据存储安全,并具有强大的横向扩展能力。那么,Elasticsearch可以提供高效的数据搜索能力,又可以一定程度存储数据,那我们为什么还需要数据库?仅仅用于数据源存储?为了搜索,还要将数据库中数据同步到ES中,使用起来又一定程度浪费了存储时间?为何?
     因为存在这样的因为,我开始了解决问题的行程:
     1. 功能上讲:ES是一个功能强大的全文搜索引擎;数据库是强大的数据管理软件。
     2. ES的update api不是现成安全的
     3. 往往直接抓到的数据并不能被直接检索,需要先存到数据库中,然后处理完成后同步到ES中
     

《未完待续》
0 0
原创粉丝点击