Hi chào mọi người, mình đang làm về DynamoDB thì gặp 1 vấn đề như sau ạ
Ví dụ table ban đầu của mình gồm các cột như : id, name, email và đã có dữ liệu sẵn rồi, nhưng khi mình muốn thêm cột mới như “address” chẳng hạn, thì làm thế nào để cập nhật lại các dữ liệu ban đầu có thêm thuộc tính “address” là empty ạ. Vì khi mình get thông tin ra thì chỉ có dữ liệu mới có id,name,email, address, còn các data trước thì không có “address”
Cập nhật dữ liệu trong DynamoDB
Cách dễ nhất là tạo mới CSDL và đọc hết dữ liệu cũ qua. Mấy cái NoSQL không phù hợp để thay đổi bất chợt như trường hợp này.
lỡ trường hợp mà khách hàng muốn thêm thuộc tính mà table đó đang có cả triệu data mà tạo mới xong đọc hết qua thì chua quá bác
Bạn phải coi lại thiết kế của bạn. Nếu trường hợp khách hàng muốn thêm như vậy thì phải có cách khác chứ, ai lại cho khách hàng can thiệp vào cấu trúc dữ liệu, trừ khi họ là dân IT.
cái này đâu có quan trọng đâu, đằng nào field thêm vào cũng chỉ là optional, khi bạn lấy dữ liệu ra để hiển thị thì bạn chỉ đơn giản coi những record không có field đó là rỗng thôi. Các DB dạng NoSQL thì đi kèm cost đó là tính đồng bộ của dữ liệu sẽ khó được bảo toàn thôi, do đó cần gì thì xử lí ở tầng application là ổn rồi
oke bạn, mình xử lý ở application ổn rồi