TL; DR
Chuẩn hóa trong RDBMS cho phép bạn tận dụng các điểm mạnh của mô hình quan hệ.
Sự không chuẩn hóa trong NoQuery cho phép bạn tận dụng những điểm mạnh của mô hình NoQuery.
Câu trả lời dài
RDBMS rất tuyệt vì chúng cho phép bạn mô hình hóa các thực thể có cấu trúc độc đáo (có thể thay đổi hoặc không) và mối quan hệ của chúng với nhau. Điều này có nghĩa là rất dễ dàng để làm việc ở cấp độ thực thể, cập nhật các thuộc tính của chúng, chèn một cái khác, xóa một cái khác, v.v. RDBMS cung cấp cho bạn các công cụ để hỗ trợ tất cả điều này. Nó sẽ tham gia cho bạn, nó sẽ xử lý các thay đổi nguyên tử giữa các thực thể cho bạn, v.v.
Cơ sở dữ liệu NoQuery rất tuyệt vời vì chúng cho phép bạn mô hình hóa các tập hợp bán / không cấu trúc và các thực thể động. Điều này có nghĩa là rất dễ dàng để mô hình hóa các thực thể luôn thay đổi, các thực thể không chia sẻ cùng thuộc tính và tổng hợp phân cấp.
Để mô hình hóa cho NoSql, bạn cần suy nghĩ về mặt phân cấp và tổng hợp thay vì các thực thể và quan hệ. Vì vậy, bạn không có người, địa chỉ cho thuê và mối quan hệ giữa họ. Bạn có hồ sơ cho thuê tổng hợp cho mỗi người những địa chỉ cho thuê mà họ đã có.
Bạn cần hỏi, tôi sẽ cần dữ liệu gì để thay đổi cùng nhau. Dữ liệu nào được nhóm một cách hợp lý các dữ liệu khác. Trong trường hợp của bạn một người nghe có vẻ như một tổng hợp tốt. Điểm nhập cảnh hợp lý đối với phần còn lại của dữ liệu.
NoQuery cho phép bạn nói, lưu trữ một thứ có những thứ khác có những thứ của riêng họ. Hãy cho tôi toàn bộ thứ bậc của mọi thứ trở lại. Hãy để tôi thay đổi nó khi tôi muốn, bây giờ thay thế toàn bộ hệ thống thứ bậc bằng thứ tôi đã thay đổi. Đó là khá nhiều tất cả những gì nó mang lại cho bạn. Tại sao nó hữu ích? Nếu những gì bạn có là một hệ thống phân cấp của những thứ mà bạn luôn tương tác với toàn bộ. Hoặc nếu bạn cần quy mô lớn.
Mọi thứ khác mà RDBMS cung cấp cho bạn, bạn sẽ phải triển khai thủ công mã và trong lược đồ của mình. Bạn sẽ phải tham gia mã nếu bạn cần tổng hợp tổng hợp. Bạn sẽ phải phân tích cú pháp nếu bạn chỉ cần một phần của tổng hợp. Bạn sẽ cần tự kiểm tra tính độc đáo nếu bạn không muốn những thứ trùng lặp. Bạn sẽ cần thực hiện logic giao dịch của riêng mình khi làm việc trên các tổng hợp, v.v.
Vì vậy, có một bảng lớn với mọi thứ bạn cần là cách để đi trong NoSql. Vì tính nguyên tử chỉ được đảm bảo ở mức đó và hiệu suất cũng vậy. Tìm ra mối quan hệ của bạn sớm là rất quan trọng. Đây là những gì không chuẩn hóa.
Trong RDBMS, việc không chuẩn hóa có hiệu quả làm tê liệt DB của bạn thành một NoQuery. Vì vậy, bình thường bạn muốn ngược lại, đó là bình thường hóa. Nếu bạn không, bạn nên sử dụng NoQuery DB thay thế. Trừ khi bạn cần một chút của cả hai.