手记

Elasticsearch产生数据的两种方式

2017-10-05 22:25:004904浏览

老卫

1实战 · 212手记 · 2推荐

在 “Spring Boot技术栈博客系统企业级前后端实战 ” 课程中(http://coding.imooc.com/class/125.html), 有学员问道 ,生产中ES里面的数据是如何生成的?测试用例中通过ElasticsearchRepository注入三条数据,再通过ElasticsearchRepository查询出来。在实际生产场景中是如何处理的呢? 是在对RDBMS插入/更新数据时,同时通过ElasticsearchRepository对ES进行数据插入/更新? 还是说在ES和RDBMS间建立同步机制。。。?

这个问题问的很好,其实,他在问题已经给出了答案。

基本上会有两种方式:

  1. 插入数据时,同时向关系型数据库和ES种插入。优点是实现方便,实时性好。缺点是,没有办法处理历史遗留数据。所以合适在新项目种采用。这也是本课程采用的方式。
  2. 先插入数据到关系型数据库,而后再通过采用同步机制,将数据同步到ES。这种方式优点是,即便后期引入ES,也能保证前期的历史数据同步到ES。缺点是,同步插件需要额外开发,目前市面上能用的插件还是比较少,更新慢。另一个缺点是,更新速度有延时。
3人推荐
随时随地看视频
慕课网APP

热门评论

插入数据时,可以采用kafka发送消息,收到消息后再向es添加数据

查看全部评论