Tầm quan trọng của RAID trong cơ sở dữ liệu (SQL)

Lời nói đầu

RAID là một hệ thống đĩa chứa nhiều ổ đĩa, được gọi là mảng, nhằm cung cấp hiệu suất cao hơn, khả năng chịu lỗi, dung lượng lưu trữ cao hơn với chi phí vừa phải. Trong khi định cấu hình hệ thống máy chủ, bạn thường phải lựa chọn giữa RAID phần cứng và RAID phần mềm cho các ổ đĩa bên trong của máy chủ.

Hệ thống RAID được sử dụng rộng rãi làm giải pháp lưu trữ để có được hiệu suất I/O tốt nhất, tùy thuộc vào việc ứng dụng đó được viết nhiều hay đọc nhiều. DBA RayRankins đề cập trong cuốn sách của mình rằng đối với các ứng dụng liên quan đến cơ sở dữ liệu, để giảm thiểu chuyển động của đầu đĩa và tối đa hóa hiệu suất I/O, cách tốt nhất là phân tán I/O ngẫu nhiên (thay đổi dữ liệu) và I/O tuần tự (đối với giao dịch). log) trên các hệ thống con đĩa khác nhau. Tôi đồng ý và tán thành quan điểm của anh ấy, vì SQL Server hoặc bất kỳ cơ sở dữ liệu nào khác về vấn đề đó, thực sự là một hệ thống chuyên sâu I/O.

Tôi sẽ sử dụng SQL Server làm ví dụ để giải thích tầm quan trọng của RAID trong cơ sở dữ liệu, tuy nhiên bạn có thể triển khai các khái niệm này trong lựa chọn cơ sở dữ liệu của mình. Các khái niệm ít nhiều vẫn giống nhau

Mặc dù RAID không phải là một phần của cơ sở dữ liệu như SQL Server, nhưng việc triển khai RAID có thể ảnh hưởng trực tiếp đến cách SQL Server hoạt động. Có nhiều mảng RAID có sẵn như RAID 0, RAID 1, RAID 3, RAID 4, RAID 5, RAID 6, RAID 10 và RAID 01. Trong bài viết này, chúng tôi sẽ thảo luận về những thứ mà bạn có thể sẽ gặp với tư cách là DBA SQL Server, tức là RAID cấp 0, 1, 5 và 10, đồng thời thảo luận về ưu điểm và nhược điểm của chúng từ góc độ khả năng chịu lỗi và hiệu suất

Lưu ý: RAID không phải là sự thay thế cho việc sao lưu. Sao lưu là rất cần thiết cho bất kỳ hệ thống.

Các cấp độ RAID khác nhau (Ưu điểm và nhược điểm)

Chúng ta sẽ chỉ thảo luận về RAID 0, 1, 5 và 10 (góc độ cơ sở dữ liệu).

RAID 0 – Còn được gọi là Disk Striping, RAID 0 không cung cấp khả năng dự phòng hoặc khả năng chịu lỗi mà thay vào đó ghi dữ liệu vào hai ổ đĩa, theo kiểu luân phiên. Điều này mang lại hiệu suất I/O đọc ghi tốt nhất. Ví dụ: nếu bạn có 8 khối dữ liệu thì đoạn 1, 3, 5 và 7 sẽ được ghi vào ổ đĩa đầu tiên và đoạn 2, 4, 6 và 8 sẽ được ghi vào ổ đĩa thứ hai, nhưng tất cả đều trong một thứ tự cố định (tuần tự). RAID 0 có thiết kế đơn giản, dễ triển khai hơn và không có chi phí chung cho tính chẵn lẻ. Hạn chế là mọi phần dữ liệu chỉ nằm trên một đĩa, vì vậy nếu một đĩa bị lỗi, dữ liệu được lưu trong các đĩa đó sẽ bị mất.

RAID 1– Còn được gọi là Disk Mirroring, RAID 1 cung cấp một bản sao dự phòng, giống hệt của một đĩa đã chọn và do đó cung cấp khả năng chịu lỗi tốt. Nó có thể được thực hiện với 2 ổ đĩa. Nhược điểm là nó có chi phí lưu trữ lớn và tỷ lệ chi phí/công suất cao

RAID 5 – Còn được gọi là Disk Striping with Parity, phân chia dữ liệu trên nhiều ổ đĩa và ghi các bit chẵn lẻ trên các ổ đĩa. Dự phòng dữ liệu được cung cấp bởi thông tin chẵn lẻ. Nó có thể được triển khai với 3 đĩa trở lên và là lựa chọn phổ biến của các DBA. Vì dữ liệu và thông tin chẵn lẻ được sắp xếp trên mảng đĩa nên hai loại thông tin luôn nằm trên các đĩa khác nhau. Nếu một đĩa bị lỗi, chỉ cần thay thế nó bằng một đĩa mới và mảng sẽ tự xây dựng lại. RAID 5 có tốc độ đọc cao hơn và tận dụng tốt dung lượng. Hạn chế của RAID 5 là tốc độ ghi chậm hơn và thời gian xây dựng lại chậm.

RAID 10 – Còn được gọi là sao chép với phân chia, RAID 10 là sự kết hợp của RAID1 + RAID0. RAID 10 sử dụng một dãy đĩa có sọc, sau đó được sao chép sang một nhóm đĩa có sọc giống hệt khác. Mức mảng này sử dụng ít nhất bốn đĩa cứng và các đĩa bổ sung phải được thêm vào theo số chẵn. Dữ liệu đầu tiên được đặt thành các cặp được nhân đôi ở cấp độ thấp hơn. Tiếp theo, bộ điều khiển chọn một thành viên từ mỗi cặp được nhân đôi và sắp xếp dữ liệu vào một khối logic mới. Vì RAID 10 ghi theo kiểu ngẫu nhiên nên nó mang lại hiệu suất tốt nhất với ứng dụng ghi nhiều (như chỉnh sửa video). Nhược điểm là nó đắt tiền.

RAID nào phù hợp với cơ sở dữ liệu ?

Bây giờ bạn đã có cái nhìn tổng quan về các cấp độ RAID, hãy xem RAID nào phù hợp với cơ sở dữ liệu. Câu trả lời cho câu hỏi này phụ thuộc vào nhiều yếu tố. Bạn có muốn tính sẵn có, hiệu suất hoặc chi phí? Yêu cầu của bạn về khả năng chịu lỗi và hiệu suất là gì? Dưới đây là ảnh chụp nhanh về hiệu suất và khả năng chịu lỗi do RAID cung cấp

Khi nói đến cơ sở dữ liệu như SQL Server, không có cấp độ RAID nào phù hợp với nhu cầu của bạn. Trong hầu hết các trường hợp, SQL Server thực hiện đọc lớn và ghi nhỏ. Vì vậy, đối với cơ sở dữ liệu, nơi có nhiều thao tác ghi hơn, RAID 5 không phải là lựa chọn tốt. Ngược lại, RAID 10 là một lựa chọn tốt cho cơ sở dữ liệu có nhiều thao tác ghi hơn.

Dưới đây là một số điểm và phương pháp hay nhất cần ghi nhớ khi quyết định hệ thống RAID cho cơ sở dữ liệu của bạn.

RAID1 thường được chọn để lưu trữ hệ điều hành, tệp nhị phân, nhóm tệp chỉ mục và tệp nhật ký giao dịch cơ sở dữ liệu. Điều quan trọng đối với hiệu suất ghi nhật ký và lập chỉ mục là khả năng chịu lỗi và tốc độ ghi tốt.

Vì tệp nhật ký được ghi tuần tự và chỉ đọc cho các hoạt động khôi phục nên RAID được đề xuất cho Tệp nhật ký là RAID 1 hoặc 10. Nếu RAID 1 của bạn ở mức sử dụng 100%, hãy chọn RAID 10 để có hiệu suất tốt hơn.

Đối với các tệp dữ liệu có quyền truy cập ngẫu nhiên và đọc khối lượng dữ liệu lớn, việc phân loại rất quan trọng. Vì vậy, RAID được khuyến nghị là 5 hoặc 10.

Đối với các tệp dữ liệu yêu cầu hiệu suất ghi tốt, nên sử dụng RAID 10. Sử dụng bộ điều khiển RAID bộ nhớ đệm được hỗ trợ bằng pin để có hiệu suất ghi tốt hơn

Đối với các tệp tempdb có hiệu suất đọc/ghi tốt, nên sử dụng RAID 0, 1 hoặc 10. Mặc dù tempdb chứa dữ liệu tạm thời và DBA thường dùng RAID 0 cho tempdb, hãy nhớ rằng SQL Server yêu cầu tempdb để thực hiện nhiều hoạt động của nó. Vì vậy, nếu bạn muốn hệ thống của mình luôn sẵn sàng, hãy suy nghĩ lại về RAID 0.

Không nên đặt các tệp nhật ký hoặc tempdb trên mảng RAID 5 vì RAID 5 không hoạt động tốt cho các hoạt động ghi. DBA mặc dù có những ý kiến trái ngược nhau về điểm này.

Chọn ổ đĩa nhanh nhỏ, trên ổ đĩa lớn chậm.

Hãy chắc chắn rằng bạn tự nghiên cứu để có thể đưa ra quyết định sáng suốt! Trong tình huống thực tế, bạn có thể không có đủ điều kiện để quyết định cấu hình máy chủ của mình do chi phí liên quan đến nó. Vì vậy, hãy ghi nhớ những điểm này có thể giúp bạn trong những tình huống như vậy.

Nguồn sqltip

Phương nguyễn dịch

RAIDSQL RAID