Làm phẳng Mô hình EAV bằng SQL và Node.js

Làm phẳng Mô hình EAV bằng SQL và Node.js

🇬🇧 Read the English version of this article on tanhdev.com Answer-first: Trích xuất dữ liệu từ mô hình EAV Magento 2 yêu cầu kỹ thuật flatten bằng SQL query đa tầng kết hợp store-scope fallback (COALESCE) và pipeline streaming Node.js với backpressure. Thiết kế đảm bảo tính lũy đẳng (idempotent upsert), Dead-Letter Queue và zero-OOM khi nạp hàng triệu bản ghi. Khi dọn nhà rời khỏi Magento 2, chướng ngại vật đầu tiên luôn luôn là cái database schema. Magento chẳng thèm lưu dữ liệu thành các hàng phẳng phiu sạch sẽ — nó xài một mô hình gọi là Entity-Attribute-Value (EAV), băm vằm dữ liệu rải rác ra hàng chục cái bảng khác nhau kèm theo tính năng kế thừa theo cấp độ store (store-scope inheritance). Việc hiểu được mớ bòng bong này trước khi cắm đầu vào viết SQL sẽ cứu rỗi bạn vài ngày thanh xuân. ...

9 tháng 3, 2024 · 10 phút · Lê Tuấn Anh