PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Apa cara yang tepat untuk menyinkronkan/mengimpor tabel dari DB postgres ke elasticsearch?

Itu tergantung pada kasus penggunaan Anda. Praktik umum adalah menangani ini pada lapisan aplikasi. Pada dasarnya yang Anda lakukan adalah mereplikasi tindakan satu db ke yang lain. Jadi misalnya jika Anda menyimpan satu entri di postgres, Anda melakukan hal yang sama di elasticsearch.

Namun jika Anda melakukan ini, Anda harus memiliki sistem antrian. Entah antrian terintegrasi pada lapisan aplikasi Anda, mis. jika penyimpanan di elasticsearch gagal maka Anda dapat memutar ulang operasi tersebut. Selain itu pada sistem antrian Anda, Anda akan menerapkan mekanisme pelambatan agar tidak membanjiri elasticsearch. Pendekatan lain adalah dengan mengirim peristiwa ke aplikasi lain (mis. logstash, dll.), sehingga pembatasan dan persistensi akan ditangani oleh sistem itu dan bukan aplikasi Anda.

Pendekatan lain adalah https://www.elastic.co/blog/ logstash-jdbc-input-plugin . Anda menggunakan sistem lain yang "melakukan polling" database Anda dan mengirimkan perubahan ke elasticsearch. Dalam hal ini logstash sangat ideal karena merupakan bagian dari tumpukan ELK dan memiliki integrasi yang hebat. Periksa ini juga https://www.elastic. co/guide/en/logstash/current/plugins-inputs-jdbc.html

Pendekatan lain adalah dengan menggunakan NOTIFY mekanisme postgres untuk mengirim acara ke beberapa antrian yang akan menangani penyimpanan perubahan dalam 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. Setel ulang basis data postgresql Django? flush tidak berfungsi

  2. Perbaiki “ERROR:  setiap kueri UNION harus memiliki jumlah kolom yang sama” di PostgreSQL

  3. Penerapan Cluster Multi-Cloud PostgreSQL

  4. cara membuat tabel tanggal gregorian ISO-8601 di postgres

  5. Bandingkan beberapa rentang tanggal