Tôi đang thiết lập một hệ thống SaaS, nơi chúng tôi dự định cung cấp cho mỗi khách hàng cơ sở dữ liệu của riêng họ. Hệ thống đã được thiết lập để chúng tôi có thể dễ dàng mở rộng ra các máy chủ bổ sung nếu tải quá lớn; chúng tôi hy vọng sẽ có hàng ngàn, thậm chí hàng chục ngàn khách hàng.
Câu hỏi
- Có giới hạn thực tế nào về số lượng cơ sở dữ liệu vi mô bạn có thể / nên có trên một Máy chủ SQL không?
- Nó có thể ảnh hưởng đến hiệu suất của máy chủ?
- Có tốt hơn khi có 10.000 cơ sở dữ liệu mỗi 100 MB, hoặc một cơ sở dữ liệu 1 TB?
Thông tin thêm
Khi tôi nói "cơ sở dữ liệu vi mô", tôi không thực sự có nghĩa là "vi mô"; Tôi chỉ có nghĩa là chúng tôi đang nhắm đến hàng ngàn khách hàng, vì vậy mỗi cơ sở dữ liệu riêng lẻ sẽ chỉ bằng một phần nghìn hoặc ít hơn tổng lưu trữ dữ liệu. Trong thực tế, mỗi cơ sở dữ liệu sẽ ở khoảng 100 MB, tùy thuộc vào mức độ sử dụng.
Lý do chính để sử dụng 10.000 cơ sở dữ liệu là cho khả năng mở rộng. Thực tế là, V1 của hệ thống có một cơ sở dữ liệu và chúng tôi đã có một số khoảnh khắc không thoải mái khi DB bị căng dưới tải.
Đó là làm căng CPU, bộ nhớ, I / O - tất cả những thứ trên. Mặc dù chúng tôi đã khắc phục những vấn đề đó, nhưng chúng khiến chúng tôi nhận ra rằng đến một lúc nào đó, ngay cả với việc lập chỉ mục tốt nhất trên thế giới, nếu chúng tôi thành công như chúng tôi hy vọng, chúng tôi chỉ đơn giản là không thể đưa tất cả dữ liệu của mình vào một honkin lớn 'cơ sở dữ liệu. Vì vậy, đối với V2, chúng tôi sẽ ngăn chặn, vì vậy chúng tôi có thể phân chia tải giữa nhiều máy chủ DB.
Tôi đã dành năm ngoái để phát triển giải pháp phân chia này. Đó là một giấy phép cho mỗi máy chủ, nhưng dù sao thì điều đó cũng được quan tâm vì chúng tôi đang sử dụng máy ảo trên Azure. Lý do câu hỏi được đưa ra là bởi vì trước đây chúng tôi chỉ cung cấp cho các tổ chức lớn và tự thiết lập mỗi tổ chức. Đơn hàng kinh doanh tiếp theo của chúng tôi là mô hình tự phục vụ trong đó bất kỳ ai có trình duyệt đều có thể đăng ký và tạo cơ sở dữ liệu của riêng họ. Cơ sở dữ liệu của họ sẽ nhỏ hơn và nhiều hơn nhiều so với các tổ chức lớn.
Chúng tôi đã thử Azure SQL cơ sở dữ liệu đàn hồi . Hiệu suất rất đáng thất vọng, vì vậy chúng tôi đã chuyển trở lại máy ảo thông thường.