Rumah > Artikel > pangkalan data > Apakah cara untuk menyegerakkan data MySQL ke Elasticsearch?
Memandangkan operasi data MySQL juga selesai dalam lapisan perniagaan, adalah wajar untuk menyegerakkan sumber data lain dalam lapisan perniagaan Pendekatan yang lebih biasa ialah menggunakan ORM Write kod penyegerakan yang berkaitan dalam cangkuk cangkuk.
Kelemahan pendekatan ini ialah apabila semakin banyak perkhidmatan, bahagian penyegerakan mungkin terlalu berselerak, menjadikannya sukar untuk mengemas kini lelaran Sebagai contoh, penghijrahan indeks ES yang tidak serasi mungkin terjejas .
Apabila seni bina aplikasi berkembang menjadi perkhidmatan mikro, setiap perkhidmatan mungkin tidak lagi memanggil MySQL secara langsung, tetapi melalui lapisan middleware middleware pada masa ini, ia boleh The middleware beroperasi MySQL semasa menyegerakkan sumber data lain.
Kaedah ini memerlukan perisian tengah untuk menyesuaikan diri dan mempunyai kerumitan tertentu.
Tetapkan medan khas dalam struktur jadual MySQL, seperti updated_at (masa kemas kini data Berdasarkan medan ini, pertanyaan tugas yang dijadualkan). data Berubah sebenar untuk mencapai kemas kini tambahan data.
Anda boleh menggunakan Logstash sumber terbuka untuk melengkapkan kaedah ini.
Sudah tentu, kelemahannya juga jelas, iaitu operasi pemadaman data tidak boleh disegerakkan.
Contohnya, terusan yang terkenal.
Menyamar sebagai hamba untuk menghuraikan log binari MySQL untuk mengetahui tentang perubahan data.
Ini adalah penyelesaian yang agak matang dalam industri.
Kaedah ini memerlukan anda menetapkan mod binlog-format
MySQL kepada ROW
.
MySQL binlog
mempunyai tiga format:
ROW
mod, binlog mengikut baris ke rekod perubahan data; dalam mod
statement
, binlog merekodkan pernyataan SQL; rekod mungkin merupakan pernyataan SQL atau setiap baris perubahan corak
Dalam beberapa kes, MySQL mixed
anda mungkin tidak ditetapkan kepada mod ROW
, pada masa ini masa, kita masih boleh menghuraikan binlog secara seragam untuk melengkapkan penyegerakan, tetapi sudah tentu apa yang dihuraikan di sini masih pernyataan SQL asal atau setiap perubahan baris mod
Atas ialah kandungan terperinci Apakah cara untuk menyegerakkan data MySQL ke Elasticsearch?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!