PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jaki jest właściwy sposób synchronizowania/importowania tabel z bazy danych postgres do elasticsearch?

To zależy od twojego przypadku użycia. Powszechną praktyką jest obsługa tego w warstwie aplikacji. Zasadniczo to, co robisz, to replikowanie działań jednej bazy danych do drugiej. Na przykład, jeśli zapiszesz jeden wpis w postgresie, zrobisz to samo w elasticsearch.

Jeśli jednak to zrobisz, będziesz musiał mieć system kolejkowania. Albo kolejka jest zintegrowana z warstwą aplikacji, np. jeśli zapis w elasticsearch nie powiedzie się, możesz powtórzyć operację. Co więcej, w swoim systemie kolejkowym zaimplementujesz mechanizm dławienia, aby nie przytłaczać Elasticsearch. Innym podejściem byłoby wysyłanie zdarzeń do innej aplikacji (np. logstash itp.), więc ograniczanie przepustowości i trwałość będą obsługiwane przez ten system, a nie przez Twoją aplikację.

Innym podejściem byłoby to https://www.elastic.co/blog/ logstash-jdbc-input-plugin . Używasz innego systemu, który "odpytuje" Twoją bazę danych i wysyła zmiany do elasticsearch. W tym przypadku logstash jest idealny, ponieważ jest częścią stosu ELK i ma świetną integrację. Sprawdź też to https://www.elastic. co/guide/pl/logstash/current/plugins-inputs-jdbc.html

Innym podejściem jest użycie NOTIFY mechanizm postgresa do wysyłania zdarzeń do jakiejś kolejki, która zajmie się zapisywaniem zmian w elasticsearch.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcje agregujące pierwszą i ostatnią wartość w postgresql, które działają poprawnie z wartościami NULL

  2. Dwa pytania dotyczące formatowania znacznika czasu i liczby za pomocą postgresql

  3. Jak odczytać JSON z bazy danych Doobie Scala PostgreSQL za pomocą Circe?

  4. Jak ustawić strefę czasową dla połączenia postgresql jdbc utworzonego przez flyway?

  5. Jak dołączyć do stołów na regex