Lợi ích của nhóm fileg và đặt filegroup thành chỉ đọc


11

Ai đó có thể trích dẫn cho tôi một kịch bản trong thế giới thực khi thay đổi nhiều nhóm thành chỉ đọc là một lựa chọn tốt và khi nào nên sử dụng chúng? Có lợi ích gì nếu bạn đặt nó ở chế độ chỉ đọc?

Trên cơ sở dữ liệu có nhiều filegroup, bạn có phải sao lưu toàn bộ cơ sở dữ liệu và cũng sao lưu từng tệp của filegroup đó không? Bạn cũng có thể cho tôi một ví dụ về thời điểm sao lưu filegroup sẽ được sử dụng? Tôi không thấy lý do tại sao việc sao lưu một filegroup sẽ có ích khi bạn chỉ có thể sao lưu toàn bộ cơ sở dữ liệu. Hy vọng tôi có thể có được trải nghiệm thực tế trong đó bản sao lưu filegroup này sẽ là lý tưởng

Câu trả lời:


13

Câu hỏi của bạn hơi rộng, tuy nhiên một số điểm chính bao gồm những điều sau đây.

Nhiều nhóm tệp, nói chung:

  • có thể là một cải tiến hiệu suất, giả sử họ bị cô lập về mặt vật lý. Thông thường, bạn có thể tạo một nhóm fileg cho các chỉ mục được nhóm, một filegroup cho các chỉ mục không được nhóm và một filegroup cho heap. Hoặc bạn có thể tạo nhiều nhóm trong một tình huống phân vùng.

  • có thể cải thiện khả năng phục hồi bằng cách cho phép khôi phục lại bữa ăn . Khôi phục bữa ăn có thể được sử dụng để nhanh chóng đưa dữ liệu sản xuất quan trọng lên mạng trong khi cho phép khôi phục dữ liệu lưu trữ để không ảnh hưởng đến các hoạt động trực tuyến. Lưu ý rằng khôi phục bữa ăn trực tuyến là một tùy chọn "Chỉ dành cho doanh nghiệp". Tôi đã viết một bài đăng trên blog cho thấy cách phục hồi bữa ăn tại SQLServerScience.com

  • không cần phải sao lưu riêng lẻ, tuy nhiên chúng có thể được sao lưu riêng lẻ, điều này có thể cần thiết cho VLDB. Lưu ý, khi sao lưu các nhóm riêng lẻ, bạn cũng phải sao lưu nhóm chính.

Nhóm tệp chỉ đọc:

  • Có thể được sử dụng để giảm tranh chấp cho dữ liệu chỉ báo cáo.

  • Có thể được sử dụng, rõ ràng, để ngăn chặn sửa đổi dữ liệu.

  • Không cần phải chạy quá trình khôi phục khi cơ sở dữ liệu được đưa trực tuyến. Điều này về cơ bản có thể cải thiện thời gian phục hồi cho VLDBs.

  • Ngoài ra, trong khi các nhóm tệp ghi đọc có thể được sử dụng với nén dựa trên hệ thống tệp NTFS, các nhóm tệp chỉ đọc có thể . Hàm ý ở đây là đối với một tập hợp các hệ thống rất hạn chế, bạn có thể thấy sự cải thiện hiệu suất nhẹ đối với dữ liệu VLDB nằm trên các đĩa chậm hơn bằng cách nén các tệp filegroup chỉ đọc trên đĩa. Điều này tất nhiên sẽ cần phải được đánh giá trên cơ sở từng trường hợp so với chi phí CPU cần thiết để giải nén các cụm NTFS khi chúng được đọc ra khỏi đĩa.

Những huyền thoại xung quanh các nhóm chỉ đọc:

  • "Số liệu thống kê sẽ không bao giờ được cập nhật cho các bảng được lưu trữ trên một nhóm fileg chỉ đọc." Điều này là hoàn toàn không chính xác và có thể được chứng minh bằng cách tạo một giường thử nghiệm như được hiển thị trong bài đăng trên blog của tôi trên SQLServerScience.com . Cảm ơn là do @PaulWhite đã chỉ ra điều này cho tôi.

  • "Không có khóa xảy ra trong cơ sở dữ liệu chỉ đọc. Điều này có thể gây ra hiệu suất truy vấn nhanh hơn ". Điều này là không chính xác trừ khi toàn bộ cơ sở dữ liệu chỉ được đọc. Một nhóm fileg chỉ đọc một mình không cho phép bỏ qua các khóa chia sẻ .


Nếu bạn có một cơ sở dữ liệu với nhiều filegroup và bạn không sử dụng các bản sao lưu filegroup, chỉ có các bản sao lưu đầy đủ và T-log, điều gì sẽ là bất lợi khi khôi phục cơ sở dữ liệu này?
Keith Rivera

Không có bất lợi cho sao lưu đầy đủ với sao lưu nhật ký giao dịch. Bạn có thể sao lưu các nhóm đơn (miễn là bạn cũng sao lưu PRIMARY), nhưng bạn không cần .
Max Vernon
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.