Cập nhật dữ liệu trong DynamoDB

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á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.

3 Likes

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.

3 Likes

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

5 Likes

oke bạn, mình xử lý ở application ổn rồi

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?