PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Какъв е правилният начин за snyc/импортиране на таблици от postgres DB към elasticsearch?

Зависи от вашия случай на употреба. Обичайна практика е това да се обработва на приложния слой. По принцип това, което правите, е да възпроизвеждате действията на една db към другата. Така например, ако запазите един запис в postgres, вие правите същото в elasticsearch.

Ако направите това обаче, ще трябва да имате въведена система за опашка. Или опашката е интегрирана във вашия приложен слой, напр. ако запазването в elasticsearch е неуспешно, можете да повторите операцията. Освен това във вашата система за опашки ще внедрите механизъм за дроселиране, за да не претоварите elasticsearch. Друг подход би бил да изпращате събития към друго приложение (напр. logstash и т.н.), така че дроселирането и постоянството ще се обработват от тази система, а не от вашето приложение.

Друг подход би бил този https://www.elastic.co/blog/ logstash-jdbc-input-plugin . Използвате друга система, която „анкетира“ вашата база данни и изпраща промените на elasticsearch. В този случай logstash е идеален, тъй като е част от стека ELK и има страхотна интеграция. Проверете и това https://www.elastic. co/guide/en/logstash/current/plugins-inputs-jdbc.html

Друг подход е да използвате NOTIFY механизъм на postgres за изпращане на събития до някаква опашка, която ще обработва запазването на промените в 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. Регистрирайте и стартирайте PostgreSQL 9.0 като Windows Service

  2. Docker Compose и Postgres:Името не се разрешава

  3. Yii Framework:Таблицата за клас активен запис не може да бъде намерена в базата данни

  4. Получаване на стойности с двойна точност от непоследователни низове за използване на ST_GeomFromText (PostGIS)

  5. Управление на роли и атрибути на роли в PostgreSQL