Có một lợi ích hiệu suất để đặt các tệp nhật ký giao dịch trên một ổ đĩa riêng biệt?


9

Có rất nhiều bài viết trên blog và các bài viết thực hành tốt nhất thể hiện những ưu điểm của việc đặt tệp dữ liệu SQL Server trên một ổ cứng và nhật ký giao dịch trên một ổ đĩa khác. Lý do được đưa ra là tệp cơ sở dữ liệu sẽ gặp phải đọc và ghi ngẫu nhiên trong khi nhật ký giao dịch sẽ chỉ có ghi tuần tự.

Nhưng nếu bạn có hàng trăm cơ sở dữ liệu thì sao? Có một lợi ích hiệu suất thực sự để đặt hàng trăm tệp nhật ký giao dịch trên một đĩa riêng biệt? Nếu nhiều nhật ký giao dịch được ghi vào, thì tôi nghĩ rằng ghi nhật ký giao dịch sẽ chỉ là ngẫu nhiên như cơ sở dữ liệu ghi.

Câu trả lời:


7

Chính xác. Về lý thuyết, nếu bạn có 100 DB, bạn cần 100 ổ, mỗi ổ cho mỗi nhật ký. Trong thực tế mặc dù người ta không quan tâm đến trường hợp như vậy, bởi vì khi bạn có 100 DB, rõ ràng bạn không mong đợi hiệu suất TPC nổi bật hàng đầu cho mỗi DB. Bạn có thể sẽ có một số DB có thông lượng cao và SLA nghiêm ngặt và bạn có thể có từng DB trên các trục riêng biệt, trong khi nhiều SLA cấp thấp hơn nhồi nhét vào một vài đĩa được chia sẻ.


2

Nhật ký giao dịch chính xác là ... nhật ký hoạt động của tất cả các giao dịch. Vì vậy, nó điền liên tục theo một hướng cho đến khi được kiểm tra và ghi đè, hoặc cắt ngắn và ghi đè. Việc ghi đè là tuần tự.

Xem xét các tập tin dữ liệu của bạn. Một hồ sơ khách hàng có thể chứa một đơn đặt hàng từ 5 năm trước và một từ 10 năm trước. Nếu bạn xóa các đơn đặt hàng đó (giả sử, bạn đang lưu trữ dữ liệu ở nơi khác), trong phần hiện tại bạn đã xóa 1 và xóa 2 theo thứ tự. Tuy nhiên, trong các tệp dữ liệu của bạn, bạn đã chạm vào các khối được viết cách đây 5 & 10 năm.

Vì vậy, nó chắc chắn có vấn đề :)


2

Tự đặt nhật ký giao dịch trên một đĩa riêng sẽ mang lại cho bạn hiệu suất tốt hơn so với việc đặt nó cùng với các tệp dữ liệu / nhật ký khác. Nếu bạn đặt tất cả các bản ghi trên cùng một đĩa, bạn không thực sự thực hiện IO tuần tự, mà là IO ngẫu nhiên giữa các tệp nhật ký này.

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.