ps:楼主小白,可能存在表述不清楚和认知错误,大佬请不要建议,虚心请教,请求指正!!! 1.公司想做一个基础数据的 springboot 的服务,用来 curd 基础数据,以此降低数据库查询大数据量时带来的耗时和模糊查询时的一些问题。 日志数据量大,如果使用 like 进行模糊查询可能耗时太久。 2.查到了关于数据引擎 Elasticsearch 的使用,大概看了一下网上的资料,有一些不懂的地方如下: a.如何做好数据的同步,是像 redis 那样,对数据库 curd 的同时对 Elasticsearch 进行 curd 操作? b.数据同步插件的选择:查阅资料有两个数据同步的插件:logstash-input-jdbc,go-mysql- elasticsearch 。但是网上说 logstash-input-jdbc 这个插件不能同步删除操作,并且同步最短时间差是 1 分钟,不能满足实时同步; 而 go-mysql-elasticsearch 这个插件可以实现实时同步和 curd 的实时操作,但是需要安装 go 的环境,数据量并没有那么大,如果还要安装这么多环境会不会显得服务体量太大? 3.对于我们的需求有没有更好的实现方式,或者轻量级的搜索引擎可以选择?
1
Mithril 2020-07-31 10:55:44 +08:00
你可以直接在你的服务里维护 ElasticSearch 和数据库的同步。
但是 ElasticSearch 本身也不是实时的,会有一定的 flush 间隔。不是说你的修改会立刻能检索出来。 而且你前面说数据量大,后面又说数据量不大,到底大不大?不大的话没必要上 ElasticSearch 。 |
2
jiobanma OP @Mithril #1 其实是想整个数据都接入 ElasticSearch 。 数据量大的是日志部分,其他的数据量比较小。日志部分也是相对的。
|
3
xuanbg 2020-07-31 13:20:12 +08:00
不知道你所谓的基础数据是什么数据?日志搞 elk 或 efk 就行了。
|