Phần 5: Chuyển đổi Schema EAV — Cái bẫy lớn nhất của Magento

Cấu trúc EAV schema chính là lý do khiến phần lớn các dự án chuyển đổi khỏi Magento chuốc lấy thất bại. Nhìn từ bên ngoài, nó có vẻ dễ xơi: dữ liệu của sản phẩm bị băm ra rải rác ở catalog_product_entity, catalog_product_entity_varchar, catalog_product_entity_int, catalog_product_entity_decimal, catalog_product_entity_datetime, và catalog_product_entity_text. Sáu cái bảng, viết một cái job ETL đơn giản, làm một cuối tuần là xong. Nhưng rồi bạn phát hiện ra rằng attribute_id = 75 mang ý nghĩa “tên sản phẩm” (product name) trong cái database của bạn, nhưng nó lại mang nghĩa “màu sắc” (color) trong cái database trên môi trường staging. Mỗi một mã ID thuộc tính (attribute ID) được sinh ra tự động ngay tại thời điểm cài đặt (install time) và nó hoàn toàn khác biệt giữa các môi trường với nhau. Bất kỳ script ETL nào dám cả gan gán cứng (hardcode) các mã attribute ID này sẽ lập tức đẻ ra một đống dữ liệu rác bẹp dí (corrupted data) khi mang lên chạy ở production. ...

6 tháng 5, 2026 · 15 phút · Lê Tuấn Anh

Sharding Cơ Sở Dữ Liệu Trong Go — TiDB, PostgreSQL & Bể Kết Nối

Điều kiện tiên quyết: Đây là Phần 4 của Khóa Học System Design. Xem lại Phần 3: Chiến Lược Caching để nắm vững các chiến lược tầng cache trước khi đi sâu vào các giải pháp lưu trữ tầng cơ sở dữ liệu. Answer-first: Đặc biệt với sự bùng nổ của các hệ thống AI-Native và kiến trúc phân tán quy mô lớn năm 2026, lượng dữ liệu ngày càng khổng lồ. Phân mảnh cơ sở dữ liệu (Database Sharding) là phương pháp chia dữ liệu theo chiều ngang (horizontally) ra nhiều phân vùng độc lập (shards) dựa trên một khóa phân vùng (shard key). Giải pháp này giúp giảm xung đột tài nguyên khi ghi dữ liệu (Write Contention) và hỗ trợ mở rộng dung lượng bộ lưu trữ theo tỷ lệ tuyến tính. Việc lựa chọn shard key không phù hợp có thể tạo ra các điểm nóng dữ liệu (Hot Spots), làm giảm hiệu năng hệ thống so với khi chưa phân mảnh. ...

18 tháng 6, 2026 · 13 phút · Lê Tuấn Anh

Đồng Bộ Tồn Kho Thời Gian Thực: Kafka, CDC & Redis cho E-commerce

🇬🇧 Read the English version of this article on tanhdev.com Đồng Bộ Tồn Kho Thời Gian Thực Là Gì? Answer-first: Đồng bộ tồn kho thời gian thực (Real-time inventory synchronization) là quá trình lan truyền các thay đổi về số lượng hàng trong kho từ hệ thống gốc (database) tới tất cả các kênh bán hàng — web storefront, ứng dụng mobile, WMS, ERP — với độ trễ chưa tới một giây (sub-second). Thay vì phải phụ thuộc vào các tác vụ batch ETL chạy mỗi giờ, một pipeline CDC + Kafka sẽ stream mọi thay đổi tồn kho được commit thành một sự kiện (event), qua đó loại bỏ hoàn toàn tình trạng bán vượt mức (overselling) cũng như tránh hiển thị sai số lượng hàng hóa. ...

8 tháng 6, 2026 · 11 phút · Lê Tuấn Anh

LeaseInVietnam: Hệ Thống AI Rental Intelligence Cho Expat Tại Việt Nam

🇬🇧 Read the English version of this article on tanhdev.com Đa số các dự án nội dung AI đều được xây dựng xoay quanh một câu hỏi: làm sao để tôi tạo ra được nhiều bài hơn? LeaseInVietnam được xây dựng xoay quanh một câu hỏi hoàn toàn khác: làm sao để tôi ép mọi bài viết được đăng đều phải tạo ra chuyển đổi (convert)? Hệ thống này là một cổng thông tin tái định cư tự trị (autonomous relocation hub) nhắm tới tệp khách Tây (expats) và dân du mục kỹ thuật số (digital nomads) đang thuê nhà ở miền Nam Việt Nam — TP.HCM, Nha Trang, Phú Quốc. Nó sản xuất nội dung bằng tiếng Anh Mỹ (American English), tự động xuất bản mỗi ngày thông qua GitOps, và nắn dòng mọi tương tác của độc giả vào một phễu khách hàng tiềm năng (B2B lead funnel). Phễu này tạo ra doanh thu hoa hồng từ các dịch vụ vận chuyển nhà, đặt lịch dọn dẹp, cho thuê nội thất, và tư vấn pháp lý. ...

24 tháng 4, 2026 · 19 phút · Lê Tuấn Anh