Chúng tôi sử dụng ES như một db báo cáo và khi các bản ghi mới được ghi vào SQL, chúng tôi thực hiện hành động sau để đưa chúng vào ES:
- Viết khóa chính vào hàng đợi (chúng tôi sử dụng RabbitMQ)
- Rabbit chọn khóa chính (khi có thời gian) và truy vấn DB quan hệ để lấy thông tin nó cần và sau đó ghi dữ liệu vào ES
Quá trình này hoạt động tốt vì nó xử lý cả dữ liệu mới và dữ liệu cũ. Đối với dữ liệu cũ, chỉ cần viết một đoạn script nhanh để ghi 300 triệu khóa chính vào thỏ là xong!