sql >> Databasteknik >  >> RDS >> PostgreSQL

Vad är det rätta sättet att klippa/importera tabeller från en postgres DB till elasticsearch?

Det beror på ditt användningsfall. En vanlig praxis är att hantera detta på applikationslagret. I grund och botten vad du gör är att replikera åtgärderna från en db till den andra. Så om du till exempel sparar en post i postgres gör du samma sak i elasticsearch.

Om du däremot gör detta måste du ha ett kösystem på plats. Antingen är kön integrerad på ditt applikationslager, t.ex. Om lagringen i elasticsearch misslyckas kan du spela upp operationen igen. På ditt kösystem kommer du dessutom att implementera en strypmekanism för att inte överväldiga elasticsearch. Ett annat tillvägagångssätt skulle vara att skicka händelser till en annan app (t.ex. logstash etc), så att strypningen och persistensen kommer att hanteras av det systemet och inte din applikation.

Ett annat tillvägagångssätt skulle vara detta https://www.elastic.co/blog/ logstash-jdbc-input-plugin . Du använder ett annat system som "polar" din databas och skickar ändringarna till elasticsearch. I det här fallet är logstash idealiskt eftersom det är en del av ELK-stacken och det har en fantastisk integration. Kontrollera detta också https://www.elastic. co/guide/en/logstash/current/plugins-inputs-jdbc.html

Ett annat tillvägagångssätt är att använda NOTIFY mekanism för postgres för att skicka händelser till någon kö som kommer att hantera att spara ändringarna i elasticsearch.



  1. Konvertera från datum till epok-Oracle

  2. Halloweenproblemet – del 2

  3. Hur man blir en databasdesigner

  4. Omdirigera till hemsidan efter inloggning php