Tại sao bạn có 3 cơ sở dữ liệu với cùng một người dùng?
Điều gì xảy ra nếu một cơ sở dữ liệu đi xuống bây giờ?
Tôi đang hỏi những câu hỏi này bởi vì Con của cơ sở dữ liệu nguồn người dùng sẽ không sử dụng hai cơ sở dữ liệu kia có thể không phải là vấn đề lớn như âm thanh.
Ngoài ra, nếu cơ sở dữ liệu ngừng hoạt động, bạn sẽ gặp vấn đề về tính nhất quán nếu người dùng được sửa đổi trong hai DB khác trong khoảng thời gian đó. Tôi không nghĩ chúng ta có thể đưa ra lời khuyên tốt nhất mà không cần thêm ngữ cảnh.
Ngay bây giờ tôi sẽ tạo một cơ sở dữ liệu thứ tư cho người dùng, chỉ thực hiện các thay đổi ở đó và đồng bộ hóa trên các cơ sở dữ liệu khác. Bạn đã được phân phối - không chuẩn hóa bằng cách thay đổi về cơ bản cùng một dữ liệu ở ba nơi và có thể đã có vấn đề về tính nhất quán. Nếu khả năng chịu lỗi là quan trọng thì sơ đồ này vẫn đưa ra điều đó trong khi giải quyết vấn đề nhiều mục.
Tôi nghĩ rằng việc có cơ sở dữ liệu chỉ dành cho người dùng / cài đặt thứ tư này thay vì sử dụng một trong những cơ sở dữ liệu hiện có của bạn là một chiến lược tốt vì nó sẽ ít bị hỏng hơn vì nó không bị ràng buộc với các tài nguyên khác hoặc được sử dụng nhiều. Tôi thấy bây giờ bạn nói rằng bạn không thể làm điều này, nhưng tôi không rõ tại sao. Các ứng dụng trên cơ sở dữ liệu chính có hỗ trợ người dùng chỉnh sửa trực tiếp hay người dùng đang chỉnh sửa một chức năng hoàn toàn riêng biệt có thể được chỉ ra ở nơi khác?
Đúng, với ý tưởng "bảng người dùng chuẩn" này - cho dù bạn sử dụng từ đồng nghĩa hay đồng bộ hóa dữ liệu - bạn không thể sửa đổi người dùng trong DB người dùng xuống, nhưng điều đó có vẻ ổn với tôi. Khắc phục sự cố và đưa nó lên! Một nguồn, một nơi để chỉnh sửa, một điều cần sửa nếu bị hỏng. Với đồng bộ hóa, tất cả các cơ sở dữ liệu khác có bản sao tạm thời mà chúng có thể hoạt động nhưng không chỉnh sửa. Giảm thiểu sao chép dữ liệu trên các hệ thống là một mục tiêu tuyệt vời và hữu ích. Việc nhập cùng một dữ liệu vào ba vị trí là một vấn đề nghiêm trọng, vì vậy hãy làm bất cứ điều gì bạn có thể để loại bỏ điều đó.
Để giải quyết nhiều ý kiến của bạn hơn, nếu ID người dùng của bạn khác với tất cả các ứng dụng của bạn, thì bạn nên nghiêm túc xem xét thời gian dự kiến cho hai cơ sở dữ liệu mới của mình để đưa chúng đồng bộ với cơ sở dữ liệu chính (hỏi một câu hỏi riêng nếu bạn cần ý tưởng về cách thực hiện điều này, đó là khó khăn nhưng không thực sự khó khăn).
Nếu bạn phân tích nhu cầu kinh doanh của mình và thấy rằng cơ sở dữ liệu chính phải có dữ liệu người dùng thì không sao, bạn vẫn sử dụng nó dưới dạng chính tắc, sau đó chọn giữa các từ đồng nghĩa hoặc đồng bộ hóa để giải quyết thời gian không dự tính ảnh hưởng đến tất cả các cơ sở dữ liệu.
Thêm một Con sử dụng từ đồng nghĩa là bạn sẽ không còn có thể có FK thích hợp cho Người dùng trong mỗi cơ sở dữ liệu.