sql >> Databasteknik >  >> RDS >> Mysql

Använda elasticsearch-river-mysql för att strömma data från MySQL-databas till Elasticsearch

Mitt råd är redan att försöka använda elasticsearch-jdbc-river av många anledningar.

En av dem är att elasticsearch-jbdc-river är mer allmänt om du bestämmer dig för att byta RDBMS .

En annan är att jbdc-river bibehålls fortfarande när den andra inte har varit det sedan 2 år, och Elasticsearch har utvecklats mycket sedan dess.

1. Vad jag vet kommer data att strömmas från MySQL-databasen till ES-klustret som kommer att indexera det automatiskt. Är det rätt? Finns det några timeouts eller gränser jag måste vara medveten om?

Data från MySQL bör strömmas automatiskt från MySQL till Elasticsearch-klustret utan tidsbegränsning, men flaskhalsen kommer att vara din JVM Heap Size. Jag är inte säker på hur mycket du behöver för att behandla mängden data du har. Du måste testa det.

2. Hur kommer de främmande nyckelrelationerna mellan relationsdatabastabellerna att översättas till ES? Kommer tabellraden som innehåller den främmande nyckeln att bli ett inre objekt för ett ES-dokument eller kommer någon annan relation mellan ES-dokumenten att användas?

Elasticsearch är schemalöst så du måste hantera Elasticsearch på insidan . Floden strömmar bara data in i ditt kluster. Du kan definiera din kartläggning när du skapar ditt index och sedan använda floden för att strömma den in i ES-klustret.

3. Finns det några nackdelar med att använda denna flod för ovan nämnda syfte?

Floden kommer att ersättas med ett annat renare sätt att strömma dessa data men detta är den bästa lösningen du har för tillfället.




  1. str_replace i SQL UPPDATERING?

  2. ORA-00911:ogiltigt tecken

  3. Hjälp med SQL-fråga för att hitta nästa tillgängliga datum för ett bokningssystem

  4. Åtkomst till MySQL-databasen från mitt VB.NET 2008-projekt