【发布时间】:2014-05-14 15:07:19
【问题描述】:
我想使用elasticsearch-river-mysql 来不断地将数据从 MySQL 数据库传输到 ElasticSearch。我是 ES 和 Rivers 的初学者,所以我希望你能帮助我解决我的问题。
- 据我所知,数据将从 MySQL 数据库流式传输到 ES 集群,ES 集群将自动对其进行索引。那是对的吗?我必须注意任何超时或限制吗?
- 关系数据库表之间的外键关系如何翻译成ES?包含外键的表行会成为 ES 文档的内部对象,还是会使用 ES 文档之间的某种其他关系?
- 将这条河流用于上述目的有什么缺点吗?
- 实施这个会给 ES 带来什么负载?我认为 ES 足够强大,但我仍然想知道。在这种情况下,在 ES 集群上进行的搜索是否会受到影响?
【问题讨论】:
-
您的 MySQL 数据库中有多少条目?
-
我的建议是尝试使用elasticsearch-jdbc-river,原因有很多。其中之一是 elasticsearch-jbdc-river 更通用,以防您决定切换 RDBMS,另一个是 jbdc-river 仍然在另一个 2 年以来没有维护过,并且 Elasticsearch 发展了很多自从
-
以下是我们数据库的一些统计数据:条目总数为 919161598,表总数为 314,总大小 258.5GB,最大的表包含 121942658 个条目,大小为 25GB。所以一个非常庞大的数据库。我们有很多挑选销售不断向数据库添加新数据(不包含系统的新添加功能)。数据库的增长约为每月 10GB。您可以看到为什么我们在执行繁重而复杂的查询(尤其是用于报告的查询)时开始遇到一些性能问题。
-
@eliasah 感谢您的建议。 elasticsearch-jdbc-river 是否支持 MySQL 复制流?
-
我不确定您所说的 MySQL 复制流是什么意思。
标签: mysql elasticsearch