我想用Elasticsearch 河 mysql https://github.com/scharron/elasticsearch-river-mysql以便不断地将数据从 MySQL 数据库传输到 ElasticSearch。我是 ES 和河流的初学者,所以我希望你能帮助我解决我的问题。
- 据我所知,数据将从MySQL数据库流式传输到ES集群,ES集群将自动为其建立索引。那是对的吗?我需要注意任何超时或限制吗?
- 关系数据库表之间的外键关系如何翻译成ES?包含外键的表行是否会成为 ES 文档的内部对象,或者将使用 ES 文档之间的其他关系?
- 利用这条河流达到上述目的有什么缺点吗?
- 实现这个之后 ES 的负载是多少?我认为 ES 足够强大,但我仍然想知道。在这种情况下,ES集群上的搜索是否会受到影响?
我的建议是尝试使用elasticsearch-jdbc-river https://github.com/jprante/elasticsearch-river-jdbc出于很多原因。
其中之一是elasticsearch-jbdc-river
更通用,以防您决定切换RDBMS.
另一个是jbdc-river
当另一个已经 2 年后就不再维护时,Elasticsearch 仍然得到维护,从那时起,Elasticsearch 就发展了很多。
1.据我所知,数据将从MySQL数据库流式传输到ES集群,ES集群会自动对其进行索引。那是对的吗?我需要注意任何超时或限制吗?
来自 MySQL 的数据应该自动从 MySQL 流式传输到 Elasticsearch 集群,没有超时限制,但瓶颈将是 JVM 堆大小。我不确定您需要多少数据来处理您拥有的数据量。你需要测试一下。
2.关系数据库表之间的外键关系如何翻译成ES?包含外键的表行是否会成为 ES 文档的内部对象,或者将使用 ES 文档之间的其他关系?
Elasticsearch 是无模式的,所以你需要管理到 Elasticsearch 内部 https://www.elastic.co/blog/managing-relations-inside-elasticsearch。河流只是将数据流式传输到您的集群中。您可以在创建索引时定义映射,然后使用 River 将其流式传输到 ES 集群中。
3. 利用这条河流达到上述目的有什么缺点吗?
河流将被另一种更清洁的方式取代来传输这些数据,但这是您目前拥有的最佳解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)