首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性搜索使用river与远程mysql服务器同步数据

问弹性搜索使用river与远程mysql服务器同步数据
EN

Stack Overflow用户
提问于 2015-03-31 15:06:46
回答 1查看 402关注 0票数 0

我和我的团队希望在我们的项目上使用弹性搜索,但是我们有一个要求,我们不想对每个节点使用mysql的本地实例。我们希望使用mysql数据的远程服务器来存储弹性搜索服务正在查询的数据。

因此,想法是每次在ES服务器上添加一个新项目,本地不是添加到本地实例,而是添加到mysql的远程服务器上(我们认为是在amazon上)。对于任何索引的搜索查询,我们希望ES节点查询远程数据库(在RDS实例上)。

我们尝试使用两种口味的river(用于提取数据)和馈线(用于将数据放在RDS实例上).But,我们无法使它与river一起工作。

有人尝试过类似的方法吗?或者有人可以链接到一个博客,这是做这件事的?

我很感谢你的帮助

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-31 15:32:11

我们用模拟的方法。我们使用Oracle数据库作为主数据存储。

我们使用PLSQL来扁平/转换数据。对于初始加载,我们将数据(记录)添加到"oneshot“表中。数据的更新将被扁平化/转换,并在“更新”表中生成记录。oneshot和update表将映射到Elasticsearch中的单个索引。

ES的初始负载:

Oracle

这些数据将被河流拉出来,例如http://localhost/9200/zoo/animal和http://localhost/9200/zoo/user)

更新

软件->更改数据->Oracle>扁平数据(pl )-记录到animal_update_river表,记录到user_update_river表

更新表还包含一种更改类型(插入、更新或删除)。

河川将轮询update_river表以进行更新,并在Elasticsearch中对数据进行变异(我们使用拉)。经过河流处理后,记录将被删除。

对Elasticsearch的数据更改不会发送给Oracle。对主数据存储的所有更改将由我们自己的业务逻辑软件完成。

我们还将数据写入_spare表(animal_oneshot_river_spare),因为这样可以在没有停机和同步问题的情况下重新加载Elasticsearch (我们在重新加载Elasticsearch之后切换别名)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29371955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档