sql >> Databáze >  >> RDS >> Mysql

Použití elasticsearch-river-mysql ke streamování dat z databáze MySQL do Elasticsearch

Moje rada už je zkusit použít elasticsearch-jdbc-river z mnoha důvodů.

Jedním z nich je elasticsearch-jbdc-river je obecnější v případě, že se rozhodnete přepnout RDBMS .

Další je, že jbdc-river je stále udržován, když ten druhý nebyl od 2 let a Elasticsearch se od té doby hodně vyvinul.

1. Z toho, co vím, budou data streamována z databáze MySQL do clusteru ES, který je automaticky indexuje. Je to správně? Existují nějaké časové limity nebo limity, kterých si musím být vědom?

Data z MySQL by měla být automaticky streamována z MySQL do clusteru Elasticsearch bez omezení časového limitu, ale překážkou bude velikost haldy JVM. Nejsem si jistý, kolik potřebujete ke zpracování množství dat, které máte. Musíte to otestovat.

2. Jak budou vztahy cizích klíčů mezi tabulkami relačních databází převedeny do ES? Stane se řádek tabulky obsahující cizí klíč vnitřním objektem dokumentu ES nebo bude mezi dokumenty ES použit jiný vztah?

Elasticsearch je bez schématu, takže musíte spravovat vnitřní Elasticsearch . Řeka pouze proudí data do vašeho clusteru. Mapování můžete definovat při vytváření indexu a poté použít řeku k jeho streamování do shluku ES.

3. Má využití této řeky pro výše uvedený účel nějaké nevýhody?

Řeka bude nahrazena jiným čistším způsobem streamování těchto dat, ale toto je zatím nejlepší řešení, které máte.




  1. SQLite Select Distinct

  2. MySQL LIKE dotaz s podtržítkem

  3. MySQL MariaDB – Dotaz pomocí Temp Table

  4. Jak mohu uzamknout tabulku při čtení pomocí Entity Framework?