Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để tạo cơ sở dữ liệu nhiều người thuê với cấu trúc bảng được chia sẻ?

Tuy nhiên, có một số công ty 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ì khách hàng đôi khi có quan niệm sai lầm rằng chỉ cách ly vật lý mới có thể cung cấp đủ bảo mật.

Có một bài báo 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 đối với cách tiếp cận được chia sẻ:

Một quan niệm sai lầm phổ biến cho rằng chỉ cách ly vật lý có thể cung cấp mức độ bảo mật phù hợp. Trong thực tế, dữ liệu được lưu trữ bằng cách sử dụng ứng dụng chia sẻ cũng có thể cung cấp mức độ 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ế phức tạp hơn.

Đối với những cân nhắc về kỹ thuật và kinh doanh, bài viế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 một cách tiếp cận khác:

Số lượng, tính chất và nhu cầu của các đối tượng mà bạn mong đợi sẽ phục vụ tất cả các quyết định có ảnh hưởng đến kiến ​​trúc dữ liệu của bạn theo cách không quan tâm. Một số câu hỏi sau đây có thể khiến bạn thiên về cách tiếp cận đơn giản hơn, trong khi những câu hỏi khác có thể nghiêng về bạn với cách tiếp cận được chia sẻ nhiều hơn.

  • Bạn dự kiến ​​sẽ nhắm mục tiêu bao nhiêu khách thuê tiềm năng? Bạn có thể không có khả năng ước tính việc sử dụng hiệu quả với thẩm quyền, hãy nghĩ về mức độ 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 nghìn? Mười nghìn đồng? Hơn? Bạn kỳ vọng cơ sở người thuê của mình càng lớn, thì rất có thể bạn sẽ muốn xem xét cách tiếp cận được chia sẻ nhiều hơn.

  • Bạn mong muốn dữ liệu của người thuê trung bình sẽ chiếm bao nhiêu dung lượng lưu trữ? 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, thì phương pháp tiếp cận cơ sở dữ liệu riêng biệt này có lẽ là phù hợp. (Thật vậy, các yêu cầu về 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 aseparate. 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 phương pháp tiếp cận cơ sở dữ liệu aseparate sau này.)

  • Bạn mong đợi người thuê trung bình sẽ hỗ trợ bao nhiêu người dùng cuối đồng thời? Số lượng càng lớn thì cách tiếp cận riêng biệt càng phù hợp để đáp ứng các 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 nào cho mỗi người thuê, 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ễ được cung cấp hơn thông qua một cách tiếp cận riêng biệt hơn.

CẬP NHẬT: Cập nhật thêm về số lượng người thuê dự kiến.

Số lượng người thuê dự kiến ​​đó (10k) nên loại trừ phương pháp tiếp cận đa cơ sở dữ liệu, đối với hầu hết, nếu không phải tất cả các tình huống. Tôi không nghĩ bạn sẽ thích ý tưởng duy trì 10.000 phiên bản cơ sở dữ liệu và phải tạo hàng trăm phiên bản mới mỗi ngày.

Chỉ từ tham số đó, có vẻ như phương pháp chia sẻ cơ sở dữ liệu, lược đồ đơn là phù hợp nhất. Thực tế là bạn sẽ chỉ lưu trữ khoảng 50Mb cho mỗi người thuê và sẽ không có tiện ích bổ sung cho mỗi người thuê, làm cho cách tiếp cận 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ập đến ba mẫu bảo mật giải quyết các vấn đề về bảo mật đối với phương pháp chia sẻ cơ sở dữ liệu:

Khi bạn tự tin với các biện pháp an toàn dữ liệu của ứng dụng, bạn sẽ có thể cung cấp cho khách hàng của mình một Thỏa thuận mức 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 những đảm bảo, 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 rằng dữ liệu không bị xâm phạm.

CẬP NHẬT 2: Rõ ràng những người của 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à liên kết mới: Các mẫu thuê cơ sở dữ liệu SaaS cho nhiều người thuê (kudo cho Shai Kerer)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ứng dụng danh sách việc cần làm sử dụng cơ sở dữ liệu PHP và MySQL

  2. Cách chèn một mảng vào một câu lệnh MySQL Prepared duy nhất w / PHP và PDO

  3. CHÈN SỐ LƯỢNG LỚN trong MYSQL

  4. Xóa khóa chính trong MySQL

  5. Cảnh báo:mysqli_query ():Không thể tìm nạp mysqli