Chào các bác,
Em đang làm một dự án cực kỳ đơn giản, cụ thể là dự án quản lý các mặt hàng xuất khẩu của một công ty logistics (vài trăm nghìn - 2M mặt hàng), mỗi ngày có các transactions trên các mặt hàng đó. Mỗi tuần nhận được báo cáo của sở thuế về tình hình xuất nhập khẩu. Nhiệm vụ của phần mềm là truy xuất được mỗi mặt hàng có bao nhiêu số lượng xuất khẩu thành công trong 3 năm gần nhất
Lead dev tự quyết rồi tự làm luôn là tạo 1 bucket database (nosql), mỗi record có key là product_code, rồi có transaction nào thì append vô array của record của product_code đó, nghe thấy sai sai rồi
Cái điểm ăn tiền của architecture là mỗi lần nhận được báo cáo của sở thuế thì sẽ gọi hết toàn bộ product_id của bucket trên, rồi chạy for loop trên array đó, rồi update transaction xem transaction đó đã được sở thuế approved chưa, nghĩa đen là 100% transactions sẽ được check và update
Em đề nghị tạo 2 buckets, 1 cái là transactions, 1 cái products (cái này optional). Rồi update thẳng trên metadata của transaction, bao giờ update thuế thì cứ search product_id với state chưa update là ra mà lead dev bảo làm vậy rối quá
Em nói đi nói lại vài lần mà lần nào cũng bảo phức tạp hoá vấn đề nên thôi e làm phần em. Code của lead nghĩa đen là như 3000 bài code thiếu niên, rất thích so số dòng của function. Em có nên đấm cho mấy nhát không, em bị OCD mà gặp lead như này chắc đi viện gấp