Ngành đĩa
Một đĩa có kích thước cung cố định, thường là 512 byte hoặc 4096 byte trên một số đĩa hiện đại; các đĩa này cũng sẽ có chế độ mô phỏng các cung 512 byte. Đĩa sẽ có các bản nhạc với số lượng ngành khác nhau; các rãnh gần bên ngoài đĩa có nhiều cung hơn vì chúng có nhiều chỗ hơn cho mật độ bit nhất định. Điều này cho phép sử dụng không gian đĩa hiệu quả hơn; thông thường, một bản nhạc sẽ có thứ gì đó giống như 1.000 cung 512 byte trên một đĩa hiện đại.
Một số cấu trúc định dạng cũng có thể bao gồm thông tin sửa lỗi trong secotrs, biểu hiện chính nó trong các đĩa được định dạng mức thấp với các cung từ 520 hoặc 528 byte. Trong trường hợp này, sector vẫn có 512 byte dữ liệu người dùng. Cả Windows và Linux đều không hỗ trợ điều này trực tiếp, mặc dù i5OS (IBM iSeries) và các bộ điều khiển SAN khác nhau làm được.
Thông thường, sector / head / track được dịch thành một địa chỉ khối logic; do các vấn đề lịch sử với khả năng tương thích ngược, hình học (đầu x sector x track) mà hệ điều hành (đặc biệt là trên các đĩa IDE và SATA) thường không liên quan đến cấu trúc vật lý của nó.
Kích thước sọc RAID
Bộ điều khiển RAID có thể có kích thước sọc cho một mảng bằng cách sử dụng phân dải (ví dụ: RAID-5 hoặc RAID-10). Nếu mảng có (cho exmaple) một dải 128k, thì mỗi đĩa có 128k dữ liệu liền kề, và sau đó bộ dữ liệu tiếp theo nằm trên đĩa tiếp theo. Thông thường bạn có thể mong đợi nhận được khoảng một sọc trên mỗi vòng quay của đĩa, vì vậy kích thước sọc có thể ảnh hưởng đến hiệu suất trên một số khối lượng công việc nhất định.
Sắp xếp phân vùng
Phân vùng đĩa có thể hoặc không thể căn chỉnh chính xác với dải RAID và có thể gây suy giảm hiệu suất do đọc tách nếu nó không được căn chỉnh. Một số hệ thống (ví dụ: máy chủ Windows 2008) sẽ tự động định cấu hình phân vùng để căn chỉnh với kích thước sọc ổ đĩa. Một số (ví dụ: máy chủ Windows 2003) sẽ không và bạn phải sử dụng tiện ích phân vùng hỗ trợ căn chỉnh sọc để đảm bảo chúng hoạt động.
Kích thước khối hệ thống tệp
Hệ thống tập tin sẽ phân bổ các khối lưu trữ trong các khối có kích thước nhất định. Nói chung, đây là cấu hình - ví dụ NTFS sẽ hỗ trợ các đơn vị phân bổ từ (IIRC) 4K đến 64K. Việc sắp xếp sai các phân vùng và khối hệ thống tệp thành các sọc RAID có thể khiến một khối hệ thống tệp duy nhất được đọc để tạo ra nhiều truy cập đĩa trong đó chỉ cần một khối nếu hệ thống tệp được căn chỉnh chính xác với các sọc RAID.
Kích thước khối cơ sở dữ liệu
Cơ sở dữ liệu sẽ phân bổ không gian trong một bảng hoặc chỉ mục trong một số kích thước khối nhất định. Trong trường hợp SQL Server, đây là 8K và 8K là mặc định trên nhiều hệ thống. Trên một số hệ thống như Oracle, đây là cấu hình và trên PostgreSQL, đây là tùy chọn thời gian xây dựng. Trên hầu hết các hệ thống, việc phân bổ không gian cho các bảng thường được thực hiện trong các khối lớn hơn, với các khối được phân bổ trong các khối đó.
Việc sắp xếp sai các khối phân bổ dữ liệu và hệ thống tập tin có thể tạo ra nhiều I / O cho một lần ghi khối, điều này có thể dẫn đến một hình phạt hiệu suất.
I / O Chunking
Thông thường, một DBMS thực sự sẽ thực hiện I / O của nó trong các khối nhiều hơn một khối. Ví dụ: trên SQL Server, tất cả I / O được thực hiện theo khối 8 khối, tổng cộng 64k). Trên Oracle đây là cấu hình. Việc kiểm tra ngẫu nhiên các tài liệu PostgreSQL không tiết lộ một mô tả cụ thể về việc PostgreQuery có làm điều này hay không, vì vậy tôi không chắc nó hoạt động như thế nào trên nền tảng này.
Khi khối I / O lớn hơn kích thước khối hệ thống tệp hoặc bị sai lệch với ranh giới dải RAID, việc ghi đĩa từ DB có thể gây ra nhiều lần ghi đĩa, tạo ra hình phạt hiệu năng.
Sử dụng không gian đĩa
Không có dung lượng đĩa bị lãng phí - I / O cơ sở dữ liệu sẽ sử dụng một hoặc nhiều thao tác I / O vật lý trên đĩa để hoàn thành - nhưng I / O được điều chỉnh không chính xác có thể tạo ra sự thiếu hiệu quả sẽ làm chậm cơ sở dữ liệu. Những điều chính phải được liên kết là:
Các sọc và phân vùng RAID - phân vùng sẽ bắt đầu trên ranh giới sọc RAID.
Phân bổ I / O của hệ thống tệp và các ranh giới phân vùng / phân vùng đột kích - ranh giới dải RAID phải thẳng hàng với đơn vị phân bổ hệ thống tệp và phải là bội số của kích thước đơn vị phân bổ hệ thống tệp.
Kích thước ghi đĩa và kích thước đơn vị phân bổ hệ thống tập tin. Cần có mối quan hệ 1: 1 giữa các hoạt động I / O cơ sở dữ liệu và các hoạt động I / O của hệ thống tệp.
Sai lệch không tạo ra vấn đề toàn vẹn dữ liệu lớn hơn so với hiện tại. Cơ sở dữ liệu và hệ thống tệp có các cơ chế để đảm bảo các thao tác hệ thống tệp là nguyên tử. Nói chung, một sự cố đĩa sẽ dẫn đến mất dữ liệu nhưng không phải là vấn đề toàn vẹn dữ liệu.