Tầm quan trọng của vị trí cài đặt Microsoft SQL Server


10

Tôi có một máy chủ với đĩa chậm giá rẻ và đĩa nhanh đắt tiền.

Tôi muốn sử dụng đĩa đắt tiền cho tất cả những thứ quan trọng là nó nhanh, chẳng hạn như cơ sở dữ liệu của tôi.

Để tiết kiệm tiền, tôi muốn sử dụng đĩa chậm cho bất cứ điều gì mà nó không tạo ra nhiều khác biệt dù là nhanh hay chậm, chẳng hạn như sao lưu.

Bây giờ, câu hỏi của tôi là, tôi nên cài đặt Microsoft SQL Server của tôi trên đĩa chậm hay đĩa nhanh?

(Để rõ ràng, tôi sẽ đặt cơ sở dữ liệu của mình trên đĩa nhanh cho dù thế nào, vì vậy câu hỏi của tôi chỉ liên quan đến vị trí cài đặt)


3
Tại sao bạn thậm chí sẽ cân nhắc điều này khi một ssd ghi thấp 120gb là (a) CHEAP và (b) siêu nhanh và (c) đủ tốt cho mọi thứ chương trình OS + khôn ngoan? Tôi đã chuyển tất cả các hệ điều hành sang 120gb ssd 2 năm trở lại và chi phí thực sự không thành vấn đề - tại thời điểm đó. Bây giờ nó thậm chí còn ít liên quan hơn.
TomTom

Bạn muốn tin tưởng một cơ sở dữ liệu quan trọng vào một ổ đĩa SSD? Nhắc tôi đừng bao giờ làm ăn với bạn ...
Shadur

2
@Shadur thật là một flamebait. Có, tôi sẽ đặt nó trên một đĩa được cấu hình RAID 10 dựa trên SSD được sao chép sang 2 đĩa khác cục bộ và được sao lưu hàng đêm đến một địa điểm từ xa. Chào mừng đến với thập kỷ!
Niels Brinch

@TomTom bạn đúng, nhưng tôi đang ở trong một tình huống khá nhạy cảm về chi phí trong trường hợp này, vì vậy đó là lý do tại sao tôi thậm chí bận tâm với loại tối ưu hóa siêu này. Câu hỏi của tôi sẽ ngày càng trở nên không liên quan khi mỗi năm trôi qua, vì đó là trường hợp với hầu hết các câu hỏi ở đây tôi cho rằng.
Niels Brinch

@NielsBrinch Cent Thông minh và Pound Foolish. Nghiêm túc.
TomTom

Câu trả lời:


11

Đây là một loại ý kiến, nhưng tôi sẽ đặt các nhị phân SQL Server vào đĩa chậm. Việc đặt các tệp nhị phân trên đĩa hệ điều hành là khá phổ biến (mặc dù một số người ghét điều đó) hoặc trên một đĩa chậm hơn.

Bạn chắc chắn muốn nhớ để đặt cơ sở dữ liệu hệ thống của bạn, đặc biệt là tempdb, trên đĩa nhanh hơn, tuy nhiên. Trên thực tế, nó cũng phổ biến để đặt tempdb.

Điều này phù hợp với một cặp vợ chồng của bài viết tôi thấy rằng có thể có ích cho bạn.

Cũng có những bản sao lưu nhật ký giao dịch để nghĩ đến và tôi đã bị rách vì điều này vì bạn muốn LDF trên đĩa nhanh hơn và bạn cũng muốn sao lưu trên một đĩa khác từ nơi cơ sở dữ liệu sống, nhưng sẽ tốt hơn nếu chúng ở trên đĩa nhanh hơn. Bạn sẽ cần phải thực hiện một cuộc gọi phán xét, nhưng tôi có thể sẽ sao lưu vào đĩa chậm hơn và phàn nàn về nó. ;)


Cảm ơn bạn. Bạn đang nói rằng nó không ảnh hưởng đến hiệu suất đáng chú ý cho dù cài đặt máy chủ sql (nhị phân, v.v.) là trên đĩa chậm hay nhanh?
Niels Brinch

1
Không phải là tôi đã nhận thấy. Và đó là một cấu hình khá phổ biến.
Kinda Villyard

6
Kinda nói đúng, vì bản thân các nhị phân không bị ràng buộc bởi IO. Nói chung, việc đặt các tệp nhị phân trên một đĩa nhanh sẽ cải thiện thời gian tải nhưng hiếm khi ảnh hưởng đến tốc độ hoạt động chung do mã đang chạy từ bộ nhớ. Trừ khi bạn khởi động lại máy chủ thường xuyên, nếu không các tệp nhị phân sẽ lưu trữ chậm hơn.
Corey

@Corey cảm ơn rất nhiều vì lời giải thích rất đúng. Đây là những gì tôi đang tìm kiếm.
Niels Brinch

6

Tôi muốn theo dõi câu trả lời khá hay mà Kinda Villyard đã đưa ra.

Nó phần nào phụ thuộc vào mục đích sử dụng của cơ sở dữ liệu của bạn.
Nếu bạn đang mong đợi nhiều thao tác ghi, hãy tiếp tục và đặt các tệp .mdf.ndftệp của bạn vào đĩa nhanh hơn.

Tuy nhiên, nếu cơ sở dữ liệu của bạn là một cơ sở thường khá tĩnh (ví dụ phục vụ nội dung web). Và các truy vấn không khác nhau nhiều, rất có thể bạn sẽ nhận được một lượng lớn các truy vấn trong bộ nhớ của mình hoặc thậm chí được lưu trong bộ nhớ cache ở phía ứng dụng. Lúc này bạn là nên sử dụng đĩa nhanh hơn cho bạn .ldf, tempdbvà sao lưu.

Tương tự như vậy, nếu bạn đang mong rất nhiều thắc mắc lớn, chẳng hạn như đối với một OLAPcơ sở dữ liệu, bạn nên lưu trữ của bạn .mdf, tempdbtrên đĩa nhanh hơn. Và đặt các .ldfđĩa chậm hơn vì nó thường không phải là một phần của nút cổ chai.

Trong mọi trường hợp, đừng bận tâm đến việc đưa các tệp nhị phân vào đĩa nhanh, chúng tôi thường đặt chúng vào đĩa chậm (không phải hệ thống nếu có thể tránh được).
Ngoài ra, đừng nôn nao khi cố gắng lấy cả tệp .ldf.mdftệp trên đĩa nhanh, nói chung chúng được tách ra bất cứ khi nào có thể.

Vì vậy, tóm lại, xem xét tải của bạn để xem điều gì sẽ là nút cổ chai có khả năng nhất của bạn.


3

Bạn có những thứ ngược. Tôi biết nó phản trực giác, nhưng bạn muốn sao lưu (đặc biệt là sao lưu nhật ký giao dịch) trên đĩa nhanh và tệp mdf / ldf (ngoại trừ tempdb đáng chú ý) trên đĩa chậm.

Bạn có thể nghĩ về nó như thể Sql Server giữ hai biểu diễn dữ liệu của bạn. Các tệp MDF + LDF biểu thị trạng thái hiện tại của cơ sở dữ liệu, trong khi bản sao lưu (bao gồm các bản sao lưu nhật ký giao dịch kể từ lần sao lưu đầy đủ cuối cùng) thể hiện những gì bạn cần để khôi phục trạng thái hiện tại của cơ sở dữ liệu trong trường hợp xảy ra lỗi. Bạn muốn giữ hai đại diện này tách biệt với nhau, vì vậy một sự kiện phá hủy một đại diện này cũng sẽ không làm hỏng các đại diện khác.

Hóa ra việc thực hiện Sql Server có xu hướng phụ thuộc một LOT thêm về nhanh như thế nào bạn có thể viết các file nhật ký giao dịch và sao lưu của họ qua nhanh như thế nào bạn có thể truy cập các tập MDF. Điều này có nghĩa là bạn cần cân nhắc mạnh mẽ việc đưa các bản sao lưu vào ổ đĩa nhanh (lý tưởng nhất là bạn sẽ thêm một ổ SSD nhỏ vào máy chủ mà bạn có thể sử dụng cho các tệp ldf, để tăng tốc độ cho chúng trong khi vẫn giữ tách biệt với các bản sao lưu của bạn). Thật không may, điều này để lại ổ đĩa chậm cho các tệp MDF của bạn, nhưng một lần nữa: nó sẽ không quan trọng như bạn nghĩ.

Đáng lưu ý rằng các giả định ở trên cho rằng bạn có đủ RAM, rằng bạn tuân theo khối lượng công việc thông thường và bạn dự định sử dụng chế độ Khôi phục hoàn toàn, thay vì đơn giản. Ngoài ra, bản thân hệ điều hành và cài đặt chương trình Sql Server có thể được đặt trên ổ đĩa chậm, mặc dù tất nhiên bạn có thể muốn nhiều như bạn có không gian để sống trên ổ đĩa nhanh.


Bằng cách sao lưu, tôi có nghĩa là các tập tin không được sử dụng, nhưng chỉ được lưu trữ. Tôi sẽ đặt cả tệp mdf và ldf vào đĩa nhanh. Tin tức với tôi rằng mdf vẫn ổn khi đưa vào đĩa chậm, đó là một thông tin thú vị và bất ngờ.
Niels Brinch

1
Bạn không muốn mdf trên cùng một đĩa với bản sao lưu / nhật ký. MDF đại diện cho cơ sở dữ liệu hiện trạng. Sao lưu + LDF thể hiện những gì bạn cần để khôi phục cơ sở dữ liệu về trạng thái hiện tại. Bạn muốn hai đại diện được tách ra khỏi nhau, vì vậy một sự kiện phá hủy cái này sẽ không làm hỏng cái kia. Và vì các bản ghi và bản sao lưu nên có trên đĩa nhanh (hiệu suất phụ thuộc nhiều vào tốc độ bạn có thể ghi vào tệp ldf so với tốc độ bạn có thể ghi vào tệp mdf), điều đó có nghĩa là mdf nên chuyển sang đĩa chậm.
Joel Coel 7/10/2015

Tôi sẽ chỉnh sửa hầu hết các nhận xét trên thành câu trả lời.
Joel Coel 7/10/2015

1
Tôi không chắc tại sao bạn lại nói rằng về việc .ldf.mdfcần phải tách ra trong trường hợp thảm họa ... Nói chung, không phải giả định rằng bạn sẽ sử dụng một trong hai để khắc phục thảm họa, đó là mục đích sao lưu. Nếu bạn không mất gần 0 dữ liệu, bạn có thể sao lưu nhật ký cực kỳ thường xuyên, bạn không dựa vào chính tệp nhật ký.
Tái lập

@Reaces Bạn nói đúng. Tôi bị đánh rắm não và đang viết các tệp LDF bằng ngón tay trong khi nghĩ về các bản sao lưu TRN trong đầu. Những suy nghĩ chung vẫn giữ, nhưng tôi sẽ cần xem xét lại một cách đáng kể để làm rõ điều đó (làm việc với nó ngay bây giờ).
Joel Coel 7/10/2015
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.