sql >> Databáze >  >> RDS >> PostgreSQL

Jaký je správný způsob, jak snyc/importovat tabulky z postgres DB do elasticsearch?

Záleží na vašem případu použití. Běžnou praxí je řešit to na aplikační vrstvě. V podstatě to, co děláte, je replikovat akce jedné db do druhé. Takže například pokud uložíte jeden záznam v postgres, uděláte totéž v elasticsearch.

Pokud to však uděláte, budete muset mít na svém místě systém řazení. Buď je fronta integrována do vaší aplikační vrstvy, např. pokud se uložení v elasticsearch nezdaří, můžete operaci přehrát znovu. Navíc na vašem systému řazení budete implementovat škrtící mechanismus, abyste nezahltili elasticsearch. Jiným přístupem by bylo posílat události do jiné aplikace (např. logstash atd.), takže omezování a trvání bude řešit tento systém a ne vaše aplikace.

Jiný přístup by byl tento https://www.elastic.co/blog/ logstash-jdbc-input-plugin . Používáte jiný systém, který „vyhledává“ vaši databázi a odešle změny do elasticsearch. V tomto případě je logstash ideální, protože je součástí ELK stacku a má skvělou integraci. Zkontrolujte také toto https://www.elastic. co/guide/en/logstash/current/plugins-inputs-jdbc.html

Dalším přístupem je použití NOTIFY mechanismus postgres k odesílání událostí do nějaké fronty, která zvládne uložení změn v elasticsearch.



  1. PostgreSQL 11 - Procedury

  2. DPI-1047:64bitovou knihovnu klienta Oracle nelze načíst

  3. Dynamický (Column Based) Interval

  4. pořadí provedení ve webovém prostředí