Tổng quan về giáo trình

Tài liệu bài giảng học phần Quản trị dữ liệu (mã học phần: CT467) do ThS. Nguyễn Thị Kim Yến biên soạn, trực thuộc Bộ môn Công nghệ Thông tin, Khoa Công nghệ Thông tin và Truyền thông – Trường Đại học Cần Thơ (liên hệ học thuật: Ntkyen@ctu.vn). Học phần này giữ vị trí cốt lõi trong chương trình đào tạo kỹ sư và cử nhân ngành Công nghệ Thông tin, đảm nhiệm vai trò cung cấp kiến thức nền tảng về cơ chế lưu trữ vật lý, quản lý không gian đĩa và cấu trúc dữ liệu tầng thấp của các hệ quản trị cơ sở dữ liệu (DBMS).

Mục tiêu học tập của học phần và trực tiếp tại Chương 2: Lưu trữ và cấu trúc tập tin được xác định cụ thể qua hai giai đoạn:

  • Buổi 1: Nắm vững cơ chế vận hành của thiết bị lưu trữ từ tính (đĩa từ), mô hình phân cấp bộ nhớ và nguyên lý của công nghệ mảng đĩa độc lập dự phòng (RAID) cùng các cấp độ RAID phổ biến.
  • Buổi 2: Phân tích chuyên sâu các giải thuật quản lý bộ đệm (Buffer Management), kỹ thuật tổ chức lưu trữ các mẫu tin (record) có độ dài cố định và độ dài thay đổi trong khối dữ liệu, cũng như các mô hình tổ chức tập tin vật lý.

Cấu trúc giáo trình tiếp cận theo mô hình từ phần cứng đến cấu trúc luận lý và giải thuật hệ thống. Nội dung bắt đầu từ đặc tính cơ học và vật lý của thiết bị lưu trữ, nâng dần lên tầng trung gian là bộ quản trị bộ đệm trong RAM, sau đó trừu tượng hóa thành các mô hình quản lý tập tin và bản ghi. Điểm đặc thù của tài liệu là cung cấp các tham số định lượng cụ thể (thời gian tìm kiếm, độ trễ quay, tốc độ truyền, kích thước sector) gắn liền với mô phỏng trực quan cơ chế cấp phát, xen và xóa dữ liệu trong từng khối đĩa.


Nội dung kiến thức cốt lõi

Các chương/chủ đề chính

Khung chương trình của học phần bao gồm 7 chủ đề chính, trong đó Chương 2 tập trung vào các nội dung trọng tâm sau:

  1. Phân loại thiết bị lưu trữ: Trình bày hệ thống phân cấp lưu trữ từ trên xuống dưới theo tiêu chí tốc độ truy xuất, dung lượng lưu trữ, tính ổn định và chi phí:
    • Bộ nhớ trong: Bộ nhớ đệm (Cache) và Bộ nhớ chính (Main Memory) – truy xuất ngẫu nhiên, tốc độ cao, dữ liệu biến mất khi mất nguồn.
    • Bộ nhớ ngoài: Bộ nhớ Flash, Đĩa từ (Magnetic disk), Đĩa quang học (Optical disk) và Băng từ (Magnetic tape) – truy xuất ngẫu nhiên hoặc tuần tự, lưu trữ ổn định, dung lượng lớn với giá thành thấp.
  2. Cơ chế hoạt động của đĩa từ:
    • Cấu trúc vật lý: Trục quay (Spindle), các lá đĩa (Platter) phủ lớp vật liệu từ tính hai mặt, cần di chuyển đầu đọc và các đầu đọc/ghi dữ liệu riêng biệt trên từng mặt đĩa. Cấu tạo bề mặt gồm 4 lớp: lớp nền, lớp lưu trữ, lớp bảo vệ và lớp bôi trơn.
    • Cấu trúc luận lý: Rãnh (Track), Cung từ (Sector – đơn vị lưu trữ cơ sở 512 byte), Mặt trụ (Cylinder – tập hợp các track đồng tâm trên các lá đĩa) và Cụm (Cluster – tập hợp từ một hoặc nhiều sector).
    • Đo lường hiệu năng: Thời gian truy xuất tổng thể gồm Thời gian tìm kiếm (Seek time: 2–30 ms để di chuyển đầu từ), Thời gian trễ quay (Rotational latency: tốc độ quay 60–120 vòng/giây, độ trễ trung bình bằng 1/2 vòng quay), và Thời gian chuyển giao (Transfer time: trung bình bằng 1/3 thời gian tìm kiếm). Tốc độ truyền dữ liệu danh định đạt khoảng 1.5 Mbps; độ tin cậy được đo bằng thời gian trung bình không xảy ra sự cố (MTBF).
    • Chiến lược tối ưu hóa I/O: Định thời tác vụ truy xuất để hạn chế dịch chuyển đầu đọc, gom cụm các tập tin thường dùng, tăng tốc độ quay, giảm kích thước đĩa và sử dụng đĩa ghi nhật ký (Log disk).
  3. Công nghệ mảng đĩa RAID (Redundant Array of Inexpensive Disks):
    • Mục đích và nguyên lý: Gộp nhiều ổ đĩa cứng vật lý thành một hệ thống luận lý nhằm nâng cao hiệu suất thông qua xử lý song song và tăng độ tin cậy bằng lưu trữ dữ liệu dư thừa.
    • Các mức RAID tiêu chuẩn:
      • RAID 0 (Striping): Phân chia luồng dữ liệu thành các khối ghi xen kẽ qua các ổ đĩa; tốc độ đọc/ghi cao, không có cơ chế dự phòng; ứng dụng trong xử lý hình ảnh, video.
      • RAID 1 (Mirroring): Tạo bản sao dữ liệu giống hệt nhau đồng thời trên các ổ đĩa; an toàn dữ liệu cao, dung lượng khả dụng bằng 50%.
      • RAID 5 (Parity): Sử dụng cơ chế kiểm tra chẵn/lẻ phân tán trên các khối; cân bằng giữa chi phí, hiệu năng và tính an toàn dữ liệu.
      • RAID 10 (Mirror + Stripe): Kết hợp phân sọc của RAID 0 và nhân bản của RAID 1; đáp ứng đồng thời yêu cầu hiệu năng cao và khả năng chịu lỗi.
      • Các biến thể khác: Hệ thống sử dụng bit Parity tính toán qua mã Hamming (Mã sửa lỗi), phân bố theo cấp độ byte hoặc cấp độ khối (block).
  4. Quản lý bộ đệm (Buffer Management):
    • Mục tiêu: Cấp phát vùng nhớ tạm trong RAM để giảm thiểu số lượng khối truyền giữa đĩa và bộ nhớ chính.
    • Cơ chế vận hành: Bộ quản trị bộ đệm (Buffer Manager) kiểm tra sự tồn tại của khối trong RAM. Áp dụng kỹ thuật khối chốt (Pinned block – không cho phép ghi đè/xóa khi đang xử lý) và xuất bắt buộc (Forced output – ghi dữ liệu xuống đĩa để đảm bảo an toàn sau sự cố).
    • Chiến lược thay thế khối: Giải thuật ít được sử dụng nhất gần đây (LRU – Least Recently Used), giải thuật được sử dụng gần đây nhất (MRU – Most Recently Used), kết hợp thông tin thống kê từ tự điển dữ liệu và chỉ mục.
  5. Tổ chức tập tin và mẫu tin (File & Record Organization):
    • Mẫu tin có độ dài cố định (Fixed-length records): Minh họa qua cấu trúc mẫu tin instructor (kích thước 53 byte). Phân tích vấn đề kích thước khối không chia hết cho 53 byte dẫn đến hiện tượng bản ghi nằm vắt qua hai khối đĩa. Đưa ra 3 giải pháp xử lý khi xóa bản ghi: (1) Dịch chuyển các bản ghi phía sau về trước; (2) Di chuyển bản ghi cuối cùng lên vị trí trống; (3) Sử dụng thông tin Header để quản lý danh sách các ô nhớ tự do (Free-list).
    • Mẫu tin có độ dài thay đổi (Variable-length records): Xuất hiện khi bảng chứa trường dữ liệu động hoặc mảng lặp lại (minh họa bằng cấu trúc account-list). Khảo sát 4 giải pháp lưu trữ:
      • Biểu diễn chuỗi byte liên tiếp (dễ gây lãng phí không gian khi cập nhật).
      • Cấu trúc khe trang (Slotted-page architecture): Phần đầu khối (Block header) chứa số lượng bản ghi (#entries), con trỏ trỏ đến vị trí kết thúc vùng trống (End of free space), cùng mảng lưu cặp giá trị vị trí (location) và kích thước (size) của từng bản ghi.
      • Biểu diễn độ dài cố định có dự trữ không gian (chèn ký tự NULL).
      • Phương pháp con trỏ móc xích và phương pháp tách biệt khối neo (Anchor block) với khối tràn (Overflow block).
  6. Mô hình tổ chức mẫu tin trong tập tin: Khảo sát 4 phương pháp chính: Tổ chức tập tin tuần tự (Sequential file – sắp xếp theo khóa tìm kiếm, liên kết con trỏ và xử lý bản ghi mới qua khối tràn), Tập tin đống (Heap file), Tập tin băm (Hashing file), và Tập tin cụm (Clustering file).
  7. Chủ đề liên quan trong chương trình: Chỉ mục và băm (Index & Hash), Kỹ thuật xử lý vấn tin (Query Processing).

Kiến thức nền tảng được xây dựng

  • Lý thuyết phân tầng lưu trữ máy tính: Mối tương quan nghịch đảo giữa tốc độ truy xuất và dung lượng/chi phí trên các thế hệ bộ nhớ.
  • Nguyên lý I/O và truyền nhận dữ liệu: Quy tắc trao đổi dữ liệu giữa bộ nhớ trong và bộ nhớ ngoài theo đơn vị khối (Block), tính toán theo số trụ của mặt đĩa kết hợp các sector.
  • Lý thuyết độ tin cậy và dự phòng dữ liệu: Các mô hình bảo toàn dữ liệu bằng kỹ thuật nhân bản (Mirroring) và mã hóa kiểm tra lỗi (Parity bits / Hamming code).
  • Cơ chế cấp phát không gian bộ nhớ tầng thấp: Cấu trúc danh sách liên kết (Linked list), kỹ thuật phân đoạn khối nhớ (Slotted page), và các chiến lược giải phóng/tái sử dụng không gian đĩa.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật:
    • Tính toán các thông số hiệu năng phần cứng đĩa từ (độ trễ tìm kiếm, độ trễ quay, thời gian đọc/ghi khối).
    • Phân tích và lựa chọn cấu hình RAID (RAID 0, 1, 5, 10) tương ứng với từng yêu cầu thực tế về tốc độ hoặc mức độ an toàn dữ liệu.
  • Kỹ năng phân tích hệ thống:
    • Đánh giá chi phí I/O phát sinh trong các thao tác quản lý bản ghi (thêm, sửa, xóa) trên các cấu trúc tập tin cố định và thay đổi.
    • Phân tích hiệu quả của các giải thuật thay thế bộ đệm (LRU vs MRU) trong các tình huống truy vấn cơ sở dữ liệu cụ thể.
  • Năng lực thực hành:
    • Thiết kế cấu trúc khối dữ liệu theo mô hình khe trang (Slotted-page).
    • Xây dựng sơ đồ tổ chức tập tin tuần tự kết hợp khối neo và khối tràn để duy trì thứ tự khóa tìm kiếm.

Phương pháp giảng dạy và học tập

Tiếp cận sư phạm (Pedagogical approach)

Bài giảng áp dụng phương pháp sư phạm cấu trúc tuyến tính từ trực quan phần cứng đến mô hình hóa giải thuật logic. Nội dung được thiết kế theo tiến trình:

  1. Trực quan hóa cấu trúc cơ học của đĩa từ và mảng RAID.
  2. Thiết lập công thức toán học và thông số kỹ thuật để đo lường hiệu năng truy xuất I/O.
  3. Phân tích các xung đột tài nguyên trong bộ nhớ (hiện tượng nghẽn I/O, tràn khối) và đưa ra các kỹ thuật giải quyết tương ứng (Buffer Manager, Slotted page, Free-list).

Bài tập và minh họa kỹ thuật

Giáo trình sử dụng các ca cấu trúc cụ thể để làm rõ lý thuyết:

  • Mẫu tin instructor (53 byte): Dùng để minh họa trực quan 3 phương pháp xóa bản ghi trên tệp có độ dài cố định, phân tích sự đánh đổi giữa chi phí dịch chuyển bản ghi trong khối và chi phí quản lý danh sách con trỏ tự do (Header/Free-list).
  • Cấu trúc account-list: Sử dụng kiểu bản ghi lồng nhau (branch-name: char(22), mảng động account_number: char(10)balance: real) để mô phỏng sự biến động kích thước bản ghi, từ đó chứng minh tính ưu việt của cấu trúc khe trang (Slotted page) so với phương pháp điền NULL.
Cấu trúc khe trang (Slotted-page header):
+-------------------------------------------------------------+
| #entries | End of free space | Entry 1 (Size, Loc) | Entry 2|
+-------------------------------------------------------------+
|                     ... Vùng trống (Free Space) ...         |
+-------------------------------------------------------------+
| [Record 2 Data]                      | [Record 1 Data]      |
+-------------------------------------------------------------+

Phương pháp đánh giá và hướng dẫn tự học

  • Đánh giá kiến thức: Kiểm tra khả năng phân biệt cơ chế hoạt động của các mức RAID, giải thích nguyên lý hoạt động của khối chốt (pinned block) và cơ chế xuất bắt buộc (forced output) trong bộ quản trị buffer.
  • Bài tập tự học:
    • Viết lại quy trình cập nhật con trỏ khi xóa một bản ghi trong cấu trúc danh sách tự do.
    • Phân tích trường hợp kích thước bản ghi biến đổi vượt quá dung lượng khối và thiết lập sơ đồ khối neo – khối tràn (Anchor - Overflow block).
    • So sánh chi phí lưu vết và phục hồi dữ liệu giữa chiến lược thay thế LRU và MRU khi đọc các trang từ điển dữ liệu (Data dictionary).

Điểm nổi bật và cập nhật

  • Tính cụ thể về mặt định lượng kỹ thuật: Tài liệu cung cấp các chỉ số vận hành chi tiết của hệ thống lưu trữ (thời gian tìm kiếm 2–30 ms, vận tốc quay 60–120 vòng/giây, kích thước sector chuẩn 512 byte, tốc độ truyền 1.5 Mbps), giúp người học có cơ sở số liệu thực tế để tính toán hiệu năng hệ thống.
  • Tiếp cận sâu về kiến trúc lưu trữ mức thấp: Khác với các tài liệu chỉ tập trung vào ngôn ngữ truy vấn cấp cao (SQL), giáo trình đi sâu vào cấu trúc vật lý của đĩa từ, cơ chế phân bổ khối đĩa và giải thuật tầng hệ thống của bộ quản trị cơ sở dữ liệu.
  • Khảo sát hệ thống RAID toàn diện: Tài liệu hệ thống hóa 4 cấu hình RAID thông dụng (RAID 0, RAID 1, RAID 5, RAID 10) cùng các biến thể tính toán bit Parity dựa trên mã sửa lỗi Hamming ở cả cấp độ byte và cấp độ khối.
  • Đa dạng hóa giải pháp tổ chức mẩu tin: Phân tích đầy đủ 5 phương thức biểu diễn và lưu trữ mẩu tin có độ dài thay đổi (chuỗi byte, khe trang, dự trữ vùng trống bằng NULL, móc xích con trỏ, phân tách khối neo/khối tràn), chỉ rõ ưu và nhược điểm về hiệu năng và không gian lưu trữ của từng giải pháp.

Đối tượng sử dụng giáo trình

  • Sinh viên đại học: Giáo trình được biên soạn trực tiếp cho sinh viên năm thứ 2 hoặc năm thứ 3 thuộc các ngành Công nghệ Thông tin, Kỹ thuật Phần mềm, Hệ thống Thông tin, Mạng máy tính và Truyền thông dữ liệu đang theo học học phần Quản trị dữ liệu (CT467) tại Trường Đại học Cần Thơ.
  • Yêu cầu kiến thức tiên quyết (Prerequisites):
    • Đã hoàn thành các học phần: Kiến trúc máy tính (hiểu về phân cấp bộ nhớ, thanh ghi, RAM, chu kỳ máy), Hệ điều hành (hiểu về quản lý bộ nhớ ảo, hệ thống tập tin, lập lịch I/O), và Nhập môn Cơ sở dữ liệu (hiểu về mô hình dữ liệu quan hệ, bảng, khóa).
  • Giảng viên và cán bộ giảng dạy: Tài liệu là khung bài giảng chuẩn để thiết kế slide giảng dạy, xây dựng ngân hàng câu hỏi kiểm tra đánh giá quá trình và bài thi kết thúc học phần CT467.
  • Kỹ sư và người tự học: Phù hợp cho các kỹ sư quản trị cơ sở dữ liệu (DBA), lập trình viên backend và kỹ sư hệ thống cần tài liệu tham khảo có tính hệ thống về cơ chế lưu trữ vật lý, tổ chức file và tối ưu hóa I/O trong các hệ DBMS quan hệ.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với đối tượng người học nào?

Tài liệu phục vụ trực tiếp cho sinh viên chuyên ngành Công nghệ Thông tin đang theo học học phần Quản trị dữ liệu (CT467), đồng thời là tài liệu tham khảo cho người học muốn nghiên cứu cấu trúc vật lý và cơ chế quản lý dữ liệu ở tầng thấp của hệ quản trị cơ sở dữ liệu.

2. Người học cần chuẩn bị những kiến thức nền tảng nào trước khi tiếp cận tài liệu?

Người học cần có kiến thức cơ sở về Kiến trúc máy tính (tổ chức bộ nhớ trong/ngoài), Hệ điều hành (cơ chế phân trang, lập lịch tiến trình và truy xuất file), cùng các khái niệm cơ bản về bảng, bản ghi và khóa trong hệ cơ sở dữ liệu quan hệ.

3. Giáo trình này có điểm khác biệt gì so với các tài liệu Cơ sở dữ liệu thông thường?

Tài liệu không tập trung vào thiết kế lược đồ quan hệ hay cú pháp truy vấn SQL, mà tập trung chuyên sâu vào kiến trúc phần cứng lưu trữ, cơ chế phân phối khối đĩa, kỹ thuật mảng RAID, giải thuật thay thế bộ đệm và các mô hình tổ chức mẫu tin trong khối.

4. Phương pháp tự học giáo trình này như thế nào để đạt hiệu quả cao?

Người học nên học tuần tự theo cấu trúc bài giảng: bắt đầu từ việc nắm vững cấu tạo phần cứng đĩa từ và các mức RAID; sau đó tự vẽ lại sơ đồ cấu trúc khe trang (Slotted page), mô phỏng các thao tác xen/xóa bản ghi; cuối cùng tính toán và so sánh chi phí I/O giữa các mô hình tổ chức tập tin tuần tự, đống, băm và cụm.

5. Tài liệu bổ trợ và liên quan gồm những nội dung nào?

Tài liệu thuộc chuỗi bài giảng học phần CT467 của Bộ môn Công nghệ Thông tin – Trường Đại học Cần Thơ. Các phần tiếp nối bao gồm: Chương 1 (Tổng quan kiến trúc DBMS), Chương 2 - Buổi 1 & 2 (Lưu trữ và cấu trúc tập tin), và các nội dung tiếp theo về Chỉ mục và băm (Chủ đề 6), Xử lý vấn tin (Chủ đề 7).


Kết luận

Bài giảng Chương 2: Lưu trữ và cấu trúc tập tin thuộc học phần Quản trị dữ liệu (CT467) của Trường Đại học Cần Thơ cung cấp cơ sở lý thuyết và mô hình kỹ thuật chi tiết về tầng lưu trữ của hệ quản trị cơ sở dữ liệu. Từ việc phân tích cấu tạo phần cứng đĩa từ, công nghệ RAID, giải thuật quản trị bộ đệm RAM đến các cấu trúc lưu trữ mẫu tin cố định/thay đổi và phương pháp tổ chức tập tin, tài liệu hệ thống hóa toàn bộ chu trình xử lý và quản lý dữ liệu vật lý.

Lộ trình học tập khuyến nghị là nắm vững kiến thức phần cứng và RAID ở Buổi 1, thực hành phân tích cấu trúc khối và tập tin ở Buổi 2, làm nền tảng vững chắc để tiếp tục nghiên cứu các chuyên đề nâng cao về hệ thống chỉ mục, hàm băm và tối ưu hóa câu truy vấn trong các chương tiếp theo của học phần.