作者回复: 会考虑,貌似很多同学都有这个需求
作者回复: 你可以使用ELK stack中的logstash,logstansh提供了jdbc的 connector。
其实最主要的是需要结合使用场景,例如对更新实时性要求高的,你也可以通过代码直接同步数据。 有些应用,你可以考虑每晚同步一次数据。需要注意的是,如果牵涉到并发的场景,你需要自己去处理乐观锁,处理版本冲突,避免数据出错。
作者回复: 1. es采用了倒排索引的结构(这是性能高的主要原因
2. es 可以对计算结果进行算分并且排序,而传统数据库 结果只有 yes / no 的二元结果
作者回复: logstash 提供了jdbc的connector,可以通过配置,读取jdbc,把数据写入es。
作者回复: beats是轻量级的数据shipper,使用go语言开发,主要用来做数据采集,数据的enrichment相关的功能比较少,更多的是以agent的方式启动在数据源的机器上。
beats可以和es连接也可以和logstash连接。
logstash比较重,更加多的用来创建数据管道,具有很强的数据二次加工的能力。
作者回复: 一个索引,通常有很多的field,你的查询都是针对field的。
所以,你可以使用bool查询,也可以使用multi field query,都可以指定你想查询的字段,至于你不想查询某个字段,你只需要不对这个字段查询就可以了。
希望这个回答对你有所帮助
作者回复: 没有专门介绍如何使用python,但是有一节的例子(space jam的例子)使用python写的代码实现数据的写入删除和索引的创建。
作者回复: 例如传统关系型数据库,oracle,mysql等
作者回复: beats和logstash并不是必须的,直接使用kafaka,也是一种常见的部署方式。
ELKB只是elastic提出的一套端到端的方案,你完全可以自己组合,采用最适合公司需要的架构和部署
作者回复: 🤝
作者回复: 暂时没有,7才刚上市没多久。
作者回复: 这个在接下来的课程中会有专门的讲解。
作者回复: 内容比较多,2个多月内会陆续上线
作者回复: beats后面有几节介绍 你可以听一下 然后尝试着写一下demo 应该能帮助你理解
作者回复: 可以考虑使用logstash的jdbc input plugin。实现增量更新和删除需要记录中有时间戳信息。第四部分中有一个mysql和es同步的例子,可以参考一下
作者回复: 把es的dsl学好了,使用到具体的语言上和框架上都是大同小异的,都只是使用rest api啊