Utiliser elasticsearch-river-mysql pour transférer des données de la base de données MySQL vers Elasticsearch
je veux utiliser elasticsearch-rivière-mysql afin de transférer en continu des données de la base de données MySQL vers ElasticSearch. Je commence avec es et rivers donc j'espère que vous pouvez m'aider avec mes questions.
- D'après ce que je sais, les données seront redirigées de la base de données MySQL vers le cluster ES qui les indexera automatiquement. Est-ce exact? Y a-t-il des temps morts ou des limites que je dois connaître?
- comment les relations étrangères clés entre les tableaux de la base de données relationnelle seront traduits en ES? La ligne de table contenant la clé étrangère deviendra-t-elle un objet interne pour un document ES ou une autre relation entre les documents ES sera-t-elle utilisée?
- y a-t-il des inconvénients à utiliser cette rivière aux fins susmentionnées?
- quelle sera la charge sur ES en mettant en œuvre ceci? Je suppose que ES est assez puissant, mais je me demandais quand même. Les recherches effectuées dans le cluster ES seront-elles affectées? de toute façon dans ce scénario?
1 réponses
Mon avis est déjà d'essayer d'utiliser le elasticsearch-jdbc-rivière pour plusieurs raisons.
l'Un d'eux est que les elasticsearch-jbdc-river
est plus générique dans le cas où vous décidez de passer RDBMS.
une Autre est que le jbdc-river
est toujours maintenu alors que L'autre ne l'a pas été depuis 2 ans, et Elasticsearch a beaucoup évolué depuis.
1. De ce que je sais, les données seront redirigées de la base de données MySQL vers le cluster ES qui indexe automatiquement. Est-ce exact? Y a-t-il des temps morts ou des limites que je dois connaître?
les données de MySQL doivent être redirigées automatiquement de MySQL vers le cluster Elasticsearch sans limite de temps mais le goulot d'étranglement sera votre taille de tas JVM. Je ne suis pas sûr de ce dont vous avez besoin pour traiter la quantité de données que vous avez. Vous devez la tester.
2. Comment les relations de clé étrangère entre les tables de base de données relationnelles seront être traduit en ES? La ligne de table contenant la clé étrangère deviendra-t-elle un objet interne pour un document ES ou une autre relation entre les documents ES sera-t-elle utilisée?
Elasticsearch est schemaless si vous avez besoin d' gérer à l'intérieur d'Elasticsearch. La rivière ne fait que transmettre les données dans votre cluster. Vous pouvez définir votre cartographie lorsque vous créez votre index et ensuite utiliser la rivière pour le streamer dans le cluster ES.
3. Il n'existe aucun inconvénients liés à l'utilisation de cette rivière aux fins susmentionnées?
la rivière sera remplacée par une autre façon plus propre de diffuser ces données, mais c'est la meilleure solution que vous ayez pour le moment.