Tuy nhiên, có một số công ty tất nhiên sợ rằng dữ liệu của họ có thể bị xâm phạm, vì vậy chúng tôi đang đánh giá các giải pháp khác.
Điều này thật đáng tiếc, vì đôi khi khách hàng phải chịu một quan niệm sai lầm rằng chỉ có sự cô lập vật lý mới có thể cung cấp đủ bảo mật.
Có một bài viết MSDN thú vị, có tiêu đề Kiến trúc dữ liệu nhiều người thuê , mà bạn có thể muốn kiểm tra. Đây là cách các tác giả giải quyết quan niệm sai lầm về phương pháp chia sẻ:
Một quan niệm sai lầm phổ biến cho rằng chỉ có sự cô lập vật lý mới có thể cung cấp một mức độ bảo mật thích hợp. Trên thực tế, dữ liệu được lưu trữ bằng cách sử dụng phương pháp chia sẻ cũng có thể cung cấp sự an toàn dữ liệu mạnh mẽ, nhưng yêu cầu sử dụng các mẫu thiết kế tinh vi hơn.
Đối với các cân nhắc về kỹ thuật và kinh doanh, bài viết đưa ra một phân tích ngắn gọn về nơi mà một cách tiếp cận nhất định có thể phù hợp hơn so với phương pháp khác:
Số lượng, tính chất và nhu cầu của người thuê mà bạn mong muốn phục vụ đều ảnh hưởng đến quyết định kiến trúc dữ liệu của bạn theo những cách khác nhau. Một số câu hỏi sau đây có thể thiên vị bạn về một cách tiếp cận tách biệt hơn, trong khi những câu hỏi khác có thể thiên vị bạn về một cách tiếp cận chia sẻ hơn.
Có bao nhiêu người thuê nhà tiềm năng mà bạn mong muốn nhắm mục tiêu? Bạn có thể không ở đâu có thể ước tính việc sử dụng tiềm năng với chính quyền, nhưng hãy nghĩ theo thứ tự độ lớn: bạn đang xây dựng một ứng dụng cho hàng trăm người thuê nhà? Hàng ngàn? Mười nghìn đồng? Hơn? Bạn càng mong đợi cơ sở người thuê của mình càng lớn, bạn càng có nhiều khả năng muốn xem xét một phương pháp chia sẻ hơn.
Bạn mong đợi bao nhiêu dung lượng lưu trữ để chiếm dữ liệu của người thuê trung bình? Nếu bạn mong đợi một số hoặc tất cả người thuê lưu trữ lượng dữ liệu rất lớn, phương pháp cơ sở dữ liệu riêng biệt có lẽ là tốt nhất. (Thật vậy, các yêu cầu lưu trữ dữ liệu có thể buộc bạn phải áp dụng mô hình cơ sở dữ liệu riêng biệt. Nếu vậy, việc thiết kế ứng dụng theo cách đó ngay từ đầu sẽ dễ dàng hơn nhiều so với việc chuyển sang cách tiếp cận cơ sở dữ liệu riêng biệt sau này.)
Bạn mong đợi bao nhiêu người dùng cuối đồng thời hỗ trợ người thuê trung bình hỗ trợ? Con số càng lớn, cách tiếp cận biệt lập càng phù hợp sẽ đáp ứng yêu cầu của người dùng cuối.
Bạn có mong đợi cung cấp bất kỳ dịch vụ giá trị gia tăng cho mỗi người thuê, chẳng hạn như khả năng sao lưu và khôi phục cho mỗi người thuê không? Các dịch vụ như vậy dễ dàng hơn để cung cấp thông qua một cách tiếp cận riêng biệt hơn.
CẬP NHẬT: Tiếp tục cập nhật về số lượng khách thuê dự kiến.
Số lượng khách thuê dự kiến (10k) nên loại trừ cách tiếp cận đa cơ sở dữ liệu, trong hầu hết, nếu không phải tất cả các kịch bản. Tôi không nghĩ bạn sẽ thích ý tưởng duy trì 10.000 trường hợp cơ sở dữ liệu và phải tạo ra hàng trăm cái mới mỗi ngày.
Từ tham số đó, có vẻ như cách tiếp cận cơ sở dữ liệu dùng chung, lược đồ đơn là phù hợp nhất. Thực tế là bạn sẽ lưu trữ chỉ khoảng 50Mb mỗi người thuê và sẽ không có tiện ích bổ sung cho mỗi người thuê, làm cho phương pháp này thậm chí còn phù hợp hơn.
Bài báo MSDN được trích dẫn ở trên có đề cập đến ba mẫu bảo mật giải quyết các cân nhắc về bảo mật cho phương pháp cơ sở dữ liệu dùng chung:
Khi bạn tự tin với các biện pháp an toàn dữ liệu của ứng dụng của mình, bạn sẽ có thể cung cấp cho khách hàng của mình một Cấp độ dịch vụ cung cấp đảm bảo an toàn dữ liệu mạnh mẽ. Trong SLA của bạn, ngoài các bảo đảm, bạn cũng có thể mô tả các biện pháp mà bạn sẽ thực hiện để đảm bảo dữ liệu không bị xâm phạm.
CẬP NHẬT 2: Rõ ràng các anh chàng Microsoft đã chuyển / tạo một bài viết mới về chủ đề này, liên kết ban đầu đã biến mất và đây là một bài mới: Các mẫu thuê cơ sở dữ liệu SaaS nhiều người thuê (kudos cho Shai Kerer)