Những yếu tố khách quan nào cho thấy đã đến lúc thực hiện sao chép SQL Server?


11

Tôi đang cố gắng cân bằng giữa hiệu suất cao của cơ sở dữ liệu của chúng tôi và dễ bảo trì. Chúng tôi đang xem xét sử dụng sao chép để cải thiện hiệu suất, bằng cách sao chép các báo cáo SSRS của chúng tôi sang cơ sở dữ liệu riêng biệt khỏi cơ sở dữ liệu giao dịch của chúng tôi. Tuy nhiên, cho phép nhân rộng có một số nhược điểm theo quan điểm của nhà phát triển:

  • Nó làm cho việc thay đổi lược đồ trở nên khó khăn hơn
  • Nó can thiệp vào máy chủ tích hợp / xây dựng tự động của chúng tôi
  • Dường như điều đó gây khó khăn cho việc triển khai kiểm soát nguồn SQL

Câu hỏi của tôi là : Khi nào bạn biết đã đến lúc phải nhân rộng những nhược điểm này? Làm thế nào để bạn quyết định xem sự phức tạp bổ sung biện minh cho lợi ích?

Chúng tôi đã sử dụng nó trước đây để thiết lập nó không phải là một vấn đề. Đây là nhiều hơn về việc đưa ra quyết định, hoặc không, cho phép nó. Tôi đang tìm kiếm một số số liệu hiệu suất đối tượng mà những người khác đã quan sát thấy khi nhân rộng.

Tất nhiên, điều tốt nhất sẽ là thực hiện một số thử nghiệm tải mô phỏng trên các máy chủ của chúng ta và tự mình tìm ra nó, nhưng tôi hy vọng có một số hướng dẫn chung ngoài kia.


1
Làm thế nào để bạn quyết định nếu sự phức tạp bổ sung lớn hơn mức tăng? Chỉ có bạn mới có thể trả lời điều đó!

Nhưng làm thế nào để tôi biết những gì mong đợi cho đến khi đạt được cho đến khi tôi đã thiết lập nó? Tôi đoán đó là câu hỏi. Có bất kỳ số liệu hiệu suất ngoài kia?

Câu trả lời:


2

Nhân rộng nên được xem xét trong giai đoạn thiết kế của ứng dụng. Nếu bạn có lực lượng lao động / cơ sở người dùng phân tán theo địa lý, có cơ sở dữ liệu khu vực và cơ sở dữ liệu trung tâm có thể có ý nghĩa. Cơ sở dữ liệu bị ngắt kết nối trên máy tính xách tay có thể "đồng bộ hóa" khi cuối cùng chúng kết nối lại với mạng (nghĩ rằng nhân viên bán hàng trên đường).

Đối với mục đích báo cáo, nhân rộng KHÔNG phải là câu trả lời. Hầu hết các vấn đề về hiệu suất trong môi trường báo cáo xuất phát từ thực tế là các báo cáo đang được viết dựa trên hệ thống được định cấu hình để xử lý giao dịch trực tuyến (OLTP).

Sao chép cho mục đích báo cáo chỉ đơn giản là di chuyển dữ liệu OLTP của bạn sang một máy chủ khác, nhưng vẫn giữ cấu trúc báo cáo không thân thiện. Về bản chất, bạn đang ném thêm phần cứng vào vấn đề và tăng chi phí bảo trì, nhưng vì lợi nhuận biên.

Những gì bạn nên xem là làm thế nào để có được dữ liệu cụ thể mà báo cáo của bạn cần và chuyển đổi chúng thành định dạng hữu ích hơn. Tạo nguồn cấp dữ liệu lấy các giao dịch mới từ cơ sở dữ liệu sản xuất của bạn và lưu trữ nó trong cơ sở dữ liệu báo cáo, tốt nhất là trên một máy chủ riêng biệt. Mỗi khi nguồn cấp dữ liệu chạy, nó sẽ lấy tất cả dữ liệu mới hơn lần trước nó chạy, chuyển đổi dữ liệu đó và lưu trữ dữ liệu đó. Các báo cáo mà bạn hiện đang chạy sẽ cung cấp cho bạn ý tưởng tốt về các loại chuyển đổi cần thiết.

Bằng cách làm theo phương pháp này, bạn sẽ gặt hái được những lợi ích hiệu suất lớn.


1

Đối với những gì nó có giá trị, chúng tôi đã thấy sao chép là hữu ích trong tình huống tương tự vì người viết báo cáo có thể "sở hữu" các chỉ mục trên cơ sở dữ liệu sao chép. Điều này đã cho chúng tôi khả năng cải thiện hiệu năng truy vấn bằng cách thêm các chỉ mục mà các nhà phát triển ứng dụng sẽ không bao giờ chấp thuận trong sản xuất vì tác động tiêu cực của chúng đối với INSERTS và CẬP NHẬT.

Có lẽ một phần trong trường hợp sử dụng của bạn là sao chép một số bảng giao dịch, thay đổi một số chỉ mục và xem nó có đáng không?

Hi vọng điêu nay co ich!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.