Mempercepat Kecepatan Pencarian 10x dengan Engineering yang Tepat
(engineering.ab180.co)Ini adalah contoh peningkatan layanan pencarian dengan engineering yang tidak berlebihan dan sesuai dengan situasi.
Pengenalan masalah
- Layanan pencarian yang semakin lambat
- Menyadari masalah kompleksitas akibat penggunaan Join dan regex untuk pencarian
Strategi penyelesaian masalah
- Awalnya sempat mempertimbangkan Elasticsearch
- Ada isu biaya karena harus menangani sinkronisasi real-time dengan DB utama serta data permanen dalam jumlah besar
- Menyusun tabel khusus pencarian yang disederhanakan dan membangun kueri pencarian
- Menerapkan MySQL Trigger untuk pemuatan data
Hasil
- Kueri yang sebelumnya memakan waktu 3 menit ditingkatkan menjadi 2 detik
- Menghadirkan nilai bagi pelanggan dengan cepat melalui engineering yang tidak berlebihan
2 komentar
Mereka menerapkan metode membagi beberapa tabel untuk satu data yang biasa digunakan saat membangun situs berskala besar dengan trafik tinggi, dengan memisahkan fungsinya.
Kadang juga dibagi menjadi dua seperti untuk pelanggan dan untuk admin, dan ini contoh penerapan yang bagus dengan menetapkan fungsi khusus untuk pencarian.
Saya tidak terlalu paham bidang DB, jadi setiap membaca tulisan informatif seperti ini rasanya menarik dan seru.