Khi dự án có nhu cầu di chuyển lược đồ liên quan đến cơ sở dữ liệu NoSQL khiến tôi nghĩ rằng bạn vẫn đang suy nghĩ trong cơ sở dữ liệu quan hệ nhưng sử dụng cơ sở dữ liệu NoSQL.
Nếu có ai đó bắt đầu làm việc với cơ sở dữ liệu NoSQL, bạn cần nhận ra rằng hầu hết các 'quy tắc' cho RDBMS (tức là MySQL) cũng cần phải đi ra ngoài cửa sổ. Những thứ như lược đồ nghiêm ngặt, bình thường hóa, sử dụng nhiều mối quan hệ giữa các đối tượng. NoSQL tồn tại để giải quyết các vấn đề không cần tất cả các tính năng bổ sung được cung cấp bởi RDBMS.
Tôi mong bạn viết mã theo cách không mong đợi hoặc cần lược đồ cứng cho cơ sở dữ liệu NoSQL của bạn - bạn nên hỗ trợ lược đồ cũ và chuyển đổi bản ghi tài liệu khi bạn truy cập nếu bạn thực sự muốn nhiều trường lược đồ hơn trên bản ghi đó.
Hãy ghi nhớ rằng NoSQL lưu trữ hoạt động tốt nhất khi bạn suy nghĩ và thiết kế khác nhau so với khi sử dụng một RDBMS
Nguồn
2010-06-09 16:13:05
Câu hỏi đặt ra là làm thế nào một giả lập tính năng quan hệ trong NoSQL? Ví dụ, cách đúng đắn để thực hiện quan hệ nhiều-nhiều trong lưu trữ khóa-giá trị là gì? Hoặc hạn chế? Chào mừng bạn đến với SO, BTW :-) – sastanin
No. Tôi có nghĩa là di chuyển lược đồ. Cách di chuyển từ phiên bản tài liệu này sang phiên bản tài liệu khác (đổi tên trường, v.v.). –