1. Trang chủ
  2. » Luận Văn - Báo Cáo

Iên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ

60 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu Các Phương Pháp Tổ Chức, Tối Ưu Khai Thác Dữ Liệu Trong Cơ Sở Dữ Liệu Đào Tạo Tín Chỉ
Người hướng dẫn ThS. Hoàng Ngọc Cảnh
Trường học Cao Đẳng Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo đề tài nghiên cứu khoa học
Năm xuất bản 2019
Thành phố Hồ Chí Minh
Định dạng
Số trang 60
Dung lượng 1,47 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI (5)
    • 1. Tính cấp thiết nghiên cứu của đề tài (5)
    • 2. Tổng quan về đề tài nghiên cứu (6)
    • 3. Mục tiêu nghiên cứu (9)
    • 4. Đối tượng và phạm vi nghiên cứu (9)
    • 5. Phương pháp nghiên cứu (10)
    • 6. Kết cấu báo cáo nghiên cứu (10)
  • CHƯƠNG 2: LÝ THUYẾT VỀ THIẾT KẾ VÀ TỐI ƯU HÓA HIỆU NĂNG CƠ SỞ DỮ LIỆU (12)
    • 1. Tổng quan về cơ sở dữ liệu (12)
      • 1.1. Các khái niệm liên quan (12)
      • 1.2. Kiến trúc của hệ thống CSDL (15)
      • 1.3. Lược đồ và thể hiện của CSDL (16)
      • 1.4. Mô hình dữ liệu (17)
      • 1.5. Một số các dạng chuẩn CSDL (19)
    • 2. Các vấn đề liên quan tới hiệu năng cơ sở dữ liệu và cách giám sát (24)
      • 2.1. Một số vấn đề liên quan tới hiệu năng cơ sở dữ liệu (24)
      • 2.2. Công cụ giám sát và cảnh báo sớm hiệu năng CSDL (0)
    • 3. Các phương pháp tối ưu hóa cơ sở dữ liệu mức vật lý (27)
      • 3.1. Nội dung thiết kế tệp vật lý và cơ sở dữ liệu vật lý (27)
      • 3.2. Thiết kế các trường (31)
      • 3.3. Thiết kế các bản ghi vật lý (34)
      • 3.4. Thiết kế các file vật lý (35)
      • 3.5. Ví dụ về thiết kế file (41)
      • 4.1. Tối ưu tổ chức dữ liệu (42)
      • 4.2. Tối ưu trong viết lệnh truy vấn (45)
  • CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ MỘT SỐ GIẢI PHÁP TỐI ƯU HÓA TRÊN CƠ SỞ DỮ LIỆU TTN TRONG QUẢN LÝ ĐTTC (49)
  • TÀI LIỆU THAM KHẢO (56)
  • PHỤ LỤC (57)

Nội dung

Trong thời đại ngày nay, khi mà mọi thứ đều được số hóa, được quản lý bởi máy tính và các hệ quản trị cơ sở dữ liệu thì nhiệm vụ tổ chức và tối ưu dữ liệu trở thành công việc hàng ngày c

TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI

Tính cấp thiết nghiên cứu của đề tài

Thiết kế, tổ chức và tối ưu hóa dữ liệu luôn là chủ đề quan trọng trong các nghiên cứu và diễn đàn trao đổi về cơ sở dữ liệu Trong thời đại số hóa hiện nay, việc tổ chức và tối ưu dữ liệu trở thành công việc hàng ngày của các nhà quản trị và lập trình viên cơ sở dữ liệu Tuy nhiên, việc khảo sát và phân tích dữ liệu thường mang tính chất đáp ứng nhanh công việc hiện tại, dẫn đến các cơ sở dữ liệu thiếu tính chuẩn hóa hoặc thiếu tính mở rộng Điều này khiến cho việc xử lý dữ liệu trở nên khó khăn và giảm hiệu suất của hệ thống Vì vậy, việc tìm ra các giải pháp tổ chức và truy vấn dữ liệu tối ưu là vô cùng cần thiết trong tất cả các giai đoạn khảo sát, thiết kế, vận hành cơ sở dữ liệu Việc áp dụng các phương pháp và kỹ thuật tổ chức, truy vấn dữ liệu hiệu quả giúp cải thiện đáng kể hiệu năng của hệ thống, đặc biệt là trong các cơ sở dữ liệu quan hệ áp dụng trong các bài toán quản lý.

Bài toán quản lý đào tạo theo tín chỉ trên nền tảng cơ sở dữ liệu quan hệ cũng là một trong những bài toán quản lý cần được bảo trì thường xuyên để đảm bảo hiệu suất và độ tin cậy.

Tổng quan về đề tài nghiên cứu

Tổng quan về đề tài nghiên cứu trong nước

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 8 trường cho rằng, mặc dù quy định đào tạo trong Quy chế đã được ban hành, nhưng khi áp dụng vào thực tiễn, các cơ sở đào tạo vẫn cần có sự tùy biến để phù hợp với đặc thù riêng, dẫn đến sự thiếu thống nhất về thiết kế, quy chuẩn và khai thác cơ sở dữ liệu đào tạo Trong lĩnh vực này, đã có nhiều công trình nghiên cứu về các kỹ thuật tổ chức và tối ưu dữ liệu được thực hiện tại Việt Nam, thường tập trung vào hai hướng chính.

Các nghiên cứu về tổ chức, thiết kế và tối ưu truy vấn dữ liệu trong hệ quản trị cơ sở dữ liệu quan hệ đóng vai trò quan trọng trong việc phát triển các hệ thống thông tin hiện đại, và thường được thực hiện dưới dạng sách chuyên khảo, tham khảo, giáo trình, bài giảng.

Theo nghiên cứu của Nguyễn Thị Thu Thủy và các cộng sự (2015), cũng như các tác giả khác như Hồ Thuần, Hồ Cẩm Hà (2009), Nguyễn Kim Anh (2008) và Phương Lan (2007), các tài liệu như sách và giáo trình chủ yếu khái quát các nguyên lý thiết kế, chuẩn hóa và khai thác dữ liệu trong cơ sở dữ liệu quan hệ ở mức lý thuyết chung Mặc dù có cung cấp ví dụ giúp sinh viên nắm bắt quy trình và kỹ thuật phân tích thiết kế cơ sở dữ liệu, nhưng các tài liệu này thiếu các bài toán quản lý dữ liệu toàn diện và tình huống thực tế liên quan đến đánh giá hiệu năng và giải pháp xử lý Do đó, các tài liệu này chủ yếu tập trung vào việc cung cấp kiến thức nền tảng hơn là nâng cao kỹ thuật thiết kế và tối ưu hóa khai thác dữ liệu.

Theo Lê Hoàng Chương (2014), tác giả đề xuất một phương pháp tiếp cận tối ưu hóa câu lệnh truy vấn thông qua phân tích toán học, cụ thể là đại số quan hệ, nhằm giản lược câu truy vấn Tuy nhiên, phương pháp này có thể gặp khó khăn và tốn thời gian khi áp dụng cho các câu truy vấn phức tạp, đồng thời cũng có thể khai thác nhiều công nghệ hiện đại để hỗ trợ quá trình này.

ThS Hoàng Ngọc Cảnh, chuyên gia tại Trung tâm Công nghệ thông tin 9, cho rằng việc tối ưu hóa các hệ quản trị cơ sở dữ liệu không nên chỉ dựa vào phân tích toán học Thay vào đó, cần tận dụng đặc thù của từng hệ quản trị để tối ưu hóa hiệu suất Tuy nhiên, việc phân tích tối ưu trên đại số quan hệ phụ thuộc vào việc cơ sở dữ liệu phải được chuẩn hóa ở mức độ nhất định Điều này có thể không phù hợp với các bài toán lớn, khi mà các nhà thiết kế và quản trị cơ sở dữ liệu phải chấp nhận phi chuẩn hóa để đạt được tốc độ và sự đơn giản trong lập trình và triển khai.

Theo đã thực hiện nhiều đề tài nghiên cứu khoa học và dự án triển khai liên quan đến xây dựng và nâng cấp hệ thống phần mềm và cơ sở dữ liệu đào tạo tín chỉ Các công trình này tập trung vào thiết kế cơ sở dữ liệu đào tạo tín chỉ dễ ứng dụng, phù hợp với Trường ĐH Thương mại và số hóa dữ liệu đào tạo Tuy nhiên, các kỹ thuật thiết kế còn thiếu chuẩn hóa, dẫn đến việc tối ưu tốc độ và bộ nhớ chưa được chú trọng Điều này sẽ bộc lộ nhiều điểm yếu khi dữ liệu đào tạo ngày càng lớn.

Tổng quan về đề tài nghiên cứu ngoài nước

Tối ưu hóa tổ chức và khai thác dữ liệu trong cơ sở dữ liệu là một chủ đề quan trọng và không ngừng phát triển Các tổ chức và quản trị viên công nghệ trên toàn thế giới đang tìm kiếm những phương pháp và kỹ thuật hiệu quả hơn để giải quyết các bài toán quản lý thực tiễn Chỉ cần tìm kiếm các từ khóa như "Tối ưu hóa dữ liệu", "Cải thiện truy vấn" hay "Chuẩn hóa cơ sở dữ liệu", người dùng sẽ nhận được hàng ngàn kết quả liên quan, chứng tỏ đây là một lĩnh vực nghiên cứu thiết yếu trong quản trị dữ liệu số.

Theo Craig S Mullins, một chuyên gia về quản trị dữ liệu, hiệu suất của cơ sở dữ liệu phụ thuộc vào nhiều yếu tố, bao gồm cấu trúc cơ sở dữ liệu và các tham số vật lý - logic liên quan đến dữ liệu Tuy nhiên, nghiên cứu của ông trên searchoracle.techtarget.com chỉ tập trung vào vấn đề phân vùng (Partitioning) và lập chỉ mục (Indexing), mà chưa đề cập đến việc tổ chức, phân tích, chuẩn hóa các thực thể dữ liệu cũng như các phương pháp tối ưu trong việc viết lệnh truy vấn.

Rodrigo Koch, một nhà phát triển phần mềm ứng dụng tại Samsung Latin America, đã thực hiện nghiên cứu chuyên sâu về SQL Database Performance Tuning, trong đó đề xuất nhiều phương pháp tối ưu hóa cụ thể để cải thiện hiệu suất cơ sở dữ liệu.

ThS Hoàng Ngọc Cảnh – Trung tâm Công nghệ thông tin 10 chia sẻ quan điểm của lập trình viên và người quản trị cơ sở dữ liệu Nội dung chính tập trung vào việc tối ưu hóa câu lệnh T-SQL, trong khi chưa đề cập đến phân tích và thiết kế cơ sở dữ liệu.

Mục tiêu nghiên cứu

Nghiên cứu này tổng quan về các kỹ thuật tổ chức và tối ưu truy vấn dữ liệu trong quản trị cơ sở dữ liệu quan hệ, với trọng tâm phân tích cấu trúc hiện tại của cơ sở dữ liệu đào tạo tín chỉ tại Đại học Thương mại Bài viết áp dụng các phương pháp tối ưu hóa nhằm cải thiện hiệu suất khai thác dữ liệu từ cơ sở dữ liệu này.

Tổng quan về phương pháp thiết kế, chuẩn hóa và tối ưu hóa câu lệnh T-SQL trong cơ sở dữ liệu quan hệ

Tổ chức lại các thực thể và áp dụng tối ưu hóa một số nhóm store lấy dữ liệu quan trọng.

Đối tượng và phạm vi nghiên cứu

Một số phương pháp thiết kế và tổ chức cơ sở dữ liệu như: Thiết kế logic, Thiết kế vật lý

Một số kỹ thuật tối ưu dữ liệu: Indexing, Execute Plan, Partioning, Sub Query,…

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 11

Here is a rewritten paragraph that contains the main idea of the article, complying with SEO rules:"Thông qua thực nghiệm, bài viết này sẽ trình bày các phương pháp tổ chức và tối ưu khai thác dữ liệu hiệu quả trên cơ sở dữ liệu đào tạo tín chỉ của trường Đại học Thương mại, từ đó giúp nâng cao chất lượng và tốc độ khai thác dữ liệu, phục vụ cho các mục đích nghiên cứu và ứng dụng trong thực tế."

Phương pháp nghiên cứu

Cách tiếp cận đánh giá dựa trên sự bùng nổ dữ liệu từ cơ sở dữ liệu đào tạo tín chỉ của trường Đại học Thương mại đã chỉ ra những hệ quả trong các học kỳ gần đây, giúp phát hiện nguyên nhân của vấn đề tổ chức và lệnh khai thác dữ liệu.

Phương pháp nghiên cứu của đề tài tập trung vào việc thu thập dữ liệu thứ cấp từ các tài liệu liên quan đến thiết kế, tổ chức cơ sở dữ liệu và kỹ thuật tối ưu hóa Mục tiêu là cung cấp cái nhìn tổng quan về tổ chức và tối ưu hóa trong khai thác dữ liệu trên cơ sở dữ liệu quan hệ.

Phương pháp xử lý dữ liệu bao gồm việc áp dụng các kỹ thuật thống kê và so sánh để làm nổi bật sự khác biệt về hiệu năng giữa các bó lệnh trước và sau khi được cải tiến.

Nguồn dữ liệu sử dụng trong nghiên cứu là bản sao dữ liệu của cơ sở dữ liệu tín chỉ Trường ĐH Thương mại.

Kết cấu báo cáo nghiên cứu

Về mặt nội dung và bố cục, báo cáo bao gồm các phần như mục lục, danh mục hình vẽ, danh mục từ viết tắt và tài liệu tham khảo, phụ lục, cùng với đó là 3 chương chính.

Chương 1: Tổng quan nghiên cứu đề tài

Chương này sẽ cung cấp tổng quan về đề tài nghiên cứu, bao gồm tính cấp thiết và tình hình nghiên cứu trong và ngoài nước Mục tiêu nghiên cứu sẽ được xác định rõ ràng, cùng với việc xác định đối tượng và phạm vi nghiên cứu Ngoài ra, chương này cũng sẽ trình bày các phương pháp nghiên cứu được áp dụng khi tìm hiểu về vấn đề phi chuẩn trong thiết kế Cơ sở dữ liệu (CSDL) trong hệ thống thông tin.

Chương 2: Lý thuyết về thiết kế và tối ưu hóa hiệu năng cơ sở dữ liệu

Chương này sẽ cung cấp cái nhìn tổng quan về cơ sở dữ liệu (CSDL), bao gồm các khái niệm cơ bản và kiến trúc ba mức của hệ thống CSDL Bên cạnh đó, bài viết cũng sẽ giới thiệu một số mô hình dữ liệu phổ biến và các tiêu chuẩn thiết kế CSDL Hơn nữa, chương sẽ liệt kê các vấn đề thường gặp liên quan đến hiệu năng hoạt động của CSDL và đưa ra các phương pháp tối ưu hóa CSDL từ góc độ thiết kế và tổ chức dữ liệu.

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 12

Chương 3: Thử nghiệm và đánh giá một số giải pháp tối ưu hóa trên cơ sở dữ liệu thi trắc nghiệm trong quản lý đào tạo tín chỉ

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 13

LÝ THUYẾT VỀ THIẾT KẾ VÀ TỐI ƯU HÓA HIỆU NĂNG CƠ SỞ DỮ LIỆU

Tổng quan về cơ sở dữ liệu

1.1 Các khái niệm liên quan

Trong những năm gần đây, thuật ngữ Cơ sở dữ liệu (CSDL) đã trở thành một phần không thể thiếu trong nhiều lĩnh vực của đời sống, từ kinh tế đến xã hội Sự phát triển của các ứng dụng tin học đã giúp cho công tác quản lý trở nên dễ dàng và hiệu quả hơn Do đó, việc phân tích, thiết kế, xây dựng và ứng dụng CSDL đã trở thành một nhu cầu thiết yếu, thu hút sự quan tâm của nhiều người.

Trước khi các hệ cơ sở dữ liệu (CSDL) ra đời, mỗi chương trình ứng dụng đều có một tệp dữ liệu tương ứng, dẫn đến việc mỗi khi chương trình ứng dụng cần được sửa đổi hoặc mở rộng thì tệp dữ liệu tương ứng cũng phải sửa đổi theo Điều này gây ra nhiều hạn chế khi lưu trữ thông tin của một tổ chức trong một hệ xử lý tệp, bao gồm sự phức tạp và khó khăn trong việc quản lý và cập nhật dữ liệu.

Khó khăn trong việc truy cập dữ liệu xuất phát từ việc các môi trường xử lý tệp truyền thống không cho phép người dùng tìm kiếm dữ liệu một cách thuận tiện và hiệu quả.

Sự cô lập của dữ liệu gây khó khăn cho việc phát triển các ứng dụng mới, vì dữ liệu phân tán trong nhiều tệp với các định dạng khác nhau Điều này làm cho việc tìm kiếm và truy xuất dữ liệu phù hợp trở nên phức tạp hơn.

Các vấn đề về toàn vẹn phát sinh khi có thêm các ràng buộc mới, làm cho việc điều chỉnh các chương trình trở nên khó khăn hơn để đảm bảo tuân thủ đúng các yêu cầu này.

Các dị thường của truy cập tương tranh xảy ra khi nhiều người dùng cập nhật dữ liệu đồng thời, dẫn đến khả năng dữ liệu không nhất quán do các hệ thống cho phép truy cập đa người dùng để tăng tính hiệu quả và tốc độ trả lời nhanh hơn.

Các vấn đề an toàn trong hệ cơ sở dữ liệu (CSDL) rất quan trọng, khi mà mỗi người dùng chỉ được phép truy cập một phần của CSDL, giúp bảo vệ dữ liệu hiệu quả Ngược lại, hệ xử lý tệp truyền thống thường cho phép các ứng dụng được thêm vào một cách không kiểm soát, dẫn đến khó khăn trong việc đảm bảo các ràng buộc an toàn cần thiết.

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 14

Chính vì những lý do nêu trên mà các hệ CSDL đã ra đời

Một cơ sở dữ liệu (CSDL) là tập hợp các dữ liệu có liên quan với nhau, chứa thông tin về một tổ chức cụ thể như trường đại học, ngân hàng, công ty hoặc nhà máy Dữ liệu này được lưu trữ trên các thiết bị nhớ thứ cấp như từ, đĩa từ, nhằm đáp ứng nhu cầu khai thác thông tin của nhiều người sử dụng (NSD) với nhiều mục đích khác nhau.

Như vậy, CSDL có các tính chất đặc trưng:

- CSDL phản ánh thông tin về hoạt động của một tổ chức nhất định, nghĩa là biểu thị một phần nào đó của thế giới thực (thế giới nhỏ)

- CSDL phải là tập hợp các thông tin mang tính hệ thống tức là CSDL phản ánh được một cách trung thực sự thay đổi của thế giới nhỏ

- Thông tin lưu trữ trong CSDL được chia sẻ cho nhiều NSD và nhiều ứng dụng khác nhau

Việc xây dựng và khai thác cơ sở dữ liệu (CSDL) cần chú trọng đến tính nhất quán và toàn vẹn của dữ liệu, đảm bảo tính bảo mật và quyền truy cập của người sử dụng, cũng như đảm bảo an toàn cho dữ liệu trong trường hợp xảy ra sự cố.

Hệ quản trị cơ sở dữ liệu (CSDL) là tập hợp các chương trình cho phép người dùng định nghĩa, tạo lập và bảo trì các CSDL, đồng thời cung cấp quyền truy cập có điều kiện đến các CSDL này.

Một số các hệ quản trị CSDL điển hình như IMS (Information Management

System), IDS (Integrated Data Store), Sysbase, Access, Foxpro, SQL-Server,

Hệ quản trị cơ sở dữ liệu (CSDL) là phần mềm giúp người dùng tương tác với các ứng dụng và CSDL Nó cung cấp nhiều phương tiện hỗ trợ quản lý và truy xuất dữ liệu hiệu quả.

Ngôn ngữ định nghĩa dữ liệu (Data Definition Language - DDL) cho phép người dùng xác định cơ sở dữ liệu, bao gồm việc mô tả các kiểu và cấu trúc dữ liệu, cũng như thiết lập các ràng buộc trên dữ liệu được lưu trữ trong cơ sở dữ liệu.

Để tạo bảng chứa dữ liệu về thực thể công ty, bạn có thể sử dụng lệnh SQL như sau: "Create table Co(Sohieu Char(2), Ten Char(10), Von Number(4,0))" Lệnh này cho phép tạo bảng Co với các trường dữ liệu bao gồm Số hiệu công ty (Sohieu) có tối đa 2 kí tự, Tên công ty (Ten) có tối đa 10 kí tự và Vốn của công ty (Von) có tối đa 4 số.

- Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): cho phép người dùng thêm, xóa, cập nhật dữ liệu và truy xuất dữ liệu trong CSDL Một ngôn

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 15 ngữ cho phép người dùng truy cập hoặc thao tác CSDL được tổ chức bởi một mô hình thích hợp

- Các kiểm soát, các điều khiển đối với việc truy cập vào CSDL

Các vấn đề liên quan tới hiệu năng cơ sở dữ liệu và cách giám sát

Vấn đề nghẽn cổ chai vi xử lý (CPU bottlenecks) trong khai thác dữ liệu thường xuất hiện khi xung nhịp hoạt động của CPU bất thường, dẫn đến hiệu năng vượt quá 80% và gây treo các tiến trình khác Nguyên nhân chính của hiện tượng này có thể là do sự bất đồng bộ trong cấu hình tài nguyên phần cứng, chẳng hạn như thiết bị quá nhanh hoặc quá chậm Hơn nữa, việc quản trị cơ sở dữ liệu không hiệu quả, đặc biệt là trong việc điều phối các đoạn mã lập trình, cũng góp phần gây ra sự quá tải cho một số tiến trình.

Vấn đề nghẽn cổ chai bộ nhớ trong (Memory bottlenecks) khi truy vấn thường dẫn đến kết quả trả về chậm, làm cho các chương trình có thể bị treo hoặc ngắt quãng, trong khi bộ nhớ vật lý gần như cạn kiệt và toàn bộ hệ điều hành trở nên chậm chạp Nguyên nhân chủ yếu của hiện tượng này là do bộ nhớ trong hạn chế và việc thực hiện các thao tác truy vấn không sử dụng chỉ mục, mà thay vào đó là duyệt tuần tự toàn bộ bảng dữ liệu (table scan), dẫn đến chi phí về bộ nhớ và thời gian gia tăng đáng kể.

Vấn đề nghẽn cổ chai mạng là hiện tượng khó nhận biết, thường bị nhầm lẫn với các yếu tố như năng lực máy chủ, băng thông thấp và thiết bị mạng yếu kém Tuy nhiên, khi loại trừ những yếu tố này, nguyên nhân chính có thể là do quá tải trong việc trao đổi dữ liệu giữa server và người dùng, đặc biệt là do các lệnh truy vấn không đạt yêu cầu Một trong những vấn đề chính là việc không kiểm soát thời gian ngắt của các kết nối, dẫn đến các phiên làm việc lỗi thời, hoặc cho phép các hệ thống tự động gửi và nhận liên tục các request trực tiếp về cơ sở dữ liệu mà không được điều hướng xử lý trên một hệ thống khác chạy song song.

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 26

Vấn đề nghẽn cổ chai đối với các thiết bị vào ra (I/O bottlenecks) thường biểu hiện qua sự phản hồi chậm của các thiết bị xuất (Output) sau khi hệ thống đã thực thi xong, hoặc sự trống rỗng của hàng đợi dữ liệu khi phải đợi các thiết bị nhập (Input) xử lý dữ liệu nhập từ người dùng Nguyên nhân chính của vấn đề này thường liên quan đến các thiết bị nhập xuất lỗi thời hoặc có giao tiếp ở thế hệ quá cũ, bộ nhớ cache nhỏ, hoặc các mạch xử lý dữ liệu tốc độ thấp không tương xứng với năng lực hoạt động của vi xử lý hay bộ nhớ trong, dẫn đến giảm hiệu năng của toàn bộ cơ sở dữ liệu.

Here is a rewritten paragraph that contains the important sentences and complies with SEO rules:"Vấn đề cuối cùng và nghiêm trọng nhất đối với cơ sở dữ liệu là các câu truy vấn quá chậm, ngay cả khi hệ thống phần cứng và hạ tầng mạng được đầu tư tốt Nguyên nhân chủ yếu dẫn đến hiệu suất hoạt động kém là do các lệnh truy vấn yếu kém, bao gồm lỗi chỉ mục, kế hoạch thực thi câu lệnh kém, dư thừa dữ liệu trong truy vấn và lược đồ thiết kế không chuẩn hóa."

2.2 Công cụ giám sát và cảnh báo sớm các vấn đề ảnh hưởng tới hiệu năng CSDL

Công cụ DMVs (Dynamic Management Views) là một tính năng quan trọng trong SQL Server, cung cấp thông tin chi tiết về các vấn đề như thống kê truy vấn, kế hoạch thực thi, các truy vấn có tần suất đọc và viết cao, cùng với thời gian hoạt động của CPU Để kiểm tra mức độ sử dụng CPU và xác định các nút thắt cổ chai, người dùng có thể sử dụng lệnh truy vấn phù hợp trên DMVs.

Hình 11: CPU performance bottlenecks command checks

Hình 12: Kết quả kiểm tra hiệu năng của CPU khi thực hiện các câu truy vấn

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 27

Công cụ quản trị hiệu suất ứng dụng Retrace APM cung cấp thông tin chi tiết về số lượng truy vấn đã thực hiện, thời gian thực hiện truy vấn trung bình và các giao dịch liên quan Nó thu thập số liệu thống kê hiệu suất cho từng truy vấn và hỗ trợ tìm kiếm các truy vấn có vấn đề tiềm ẩn, giúp điều chỉnh hiệu suất SQL hiệu quả Dưới đây là ảnh chụp màn hình từ bảng điều khiển của Retrace, minh họa thời gian truy vấn SQL cao nhất của một ứng dụng cụ thể.

Hình 13: Sử dụng Retrace APM hiển thị mức độ truy vấn của các chương trình

Công cụ SQL Server Profiler là một công cụ ghi chép hiệu quả đi kèm với SQL Server, giúp quản lý và nắm bắt các hoạt động trong cơ sở dữ liệu của bạn, bao gồm truy vấn adhoc, lưu trữ yêu cầu, đăng nhập và lỗi.

Hình 14: Sử dụng SQL Server Profiler giám sát hệ thống

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 28

Các phương pháp tối ưu hóa cơ sở dữ liệu mức vật lý

3.1 Nội dung thiết kế tệp vật lý và cơ sở dữ liệu vật lý

Sau khi thiết kế lược đồ khái niệm và lược đồ ngoài, chúng ta sẽ tiến hành thiết kế cơ sở dữ liệu (CSDL) vật lý thông qua việc thiết kế lược đồ vật lý Quá trình này đòi hỏi sự điều chỉnh thường xuyên do những yêu cầu của người dùng thường thay đổi.

Trong quá trình thiết kế cơ sở dữ liệu (CSDL), việc xem xét khối lượng dữ liệu và điều chỉnh các mối quan hệ là rất quan trọng để đảm bảo hiệu năng truy xuất cao Để đạt được điều này, cần phân tích kỹ lưỡng hệ quản trị CSDL, kích thước và nhu cầu sử dụng dữ liệu, đồng thời thiết kế các trường dữ liệu một cách hiệu quả.

Thiết kế CSDL vật lý là quá trình chuyển đổi các đặc tả dữ liệu logic thành các đặc tả kỹ thuật để lưu trữ dữ liệu, bao gồm việc chuyển đổi các yêu cầu và mô hình dữ liệu logic thành cấu trúc và định dạng dữ liệu vật lý cụ thể.

- Lựa chọn công nghệ lưu trữ (bao gồm hệ điều hành sẽ sử dụng, hệ quản trị CSDL sẽ dùng và các công cụ truy nhập dữ liệu)

- Chuyển các quan hệ của mô hình logic thành các thiết kế vật lý

Sau khi xác định nội dung của hai khâu trước, chúng ta sẽ tiến hành thiết kế tệp vật lý và cơ sở dữ liệu (CSDL) vật lý Quá trình thiết kế này bao gồm hai giai đoạn quan trọng: giai đoạn thiết kế và sản phẩm thiết kế.

Trong thiết kế hệ thống vật lý, mục tiêu chính là tối ưu hóa không gian lưu trữ và giảm thời gian tương tác của người dùng Tuy nhiên, với sự gia tăng nhanh chóng của dung lượng thiết bị nhớ, hiện nay, sự chú trọng đã chuyển sang việc xử lý tệp và dữ liệu một cách hiệu quả nhất đối với nhu cầu sử dụng của người dùng.

Trước khi thiết kế các tệp vật lý, việc xác định các yêu cầu về cơ sở dữ liệu (CSDL) cần thiết cho việc tạo lập và sử dụng là rất quan trọng Các yêu cầu này sẽ giúp định hình cấu trúc và chức năng của CSDL, đảm bảo tính hiệu quả và đáp ứng nhu cầu của người dùng.

Yêu cầu đầu tiên là xác định các chức năng của cơ sở dữ liệu (CSDL), bao gồm việc liệt kê những yêu cầu mà CSDL có khả năng thực hiện, chẳng hạn như lưu trữ, truy xuất và quản lý dữ liệu hiệu quả.

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 29

- Yêu cầu về lưu trữ như các quan hệ nào, thuộc tính nào sẽ được lưu trữ trong CSDL?

Yêu cầu về nghiệp vụ bao gồm việc nhập dữ liệu trực tiếp tại các biểu mẫu cụ thể, có khả năng thay đổi, sửa đổi, xóa bỏ hoặc thay thế thông tin trong các mẫu biểu Ngoài ra, cần xác định khả năng in ấn và tạo báo cáo từ các biểu mẫu, cùng với khả năng tìm kiếm và tra cứu dựa trên các tiêu chí nhất định Hệ thống cũng nên có khả năng phân chia dữ liệu thành các nhóm theo bộ phận hoặc phòng ban, đồng thời hỗ trợ việc thay đổi và cập nhật các ngôn ngữ khác nhau cũng như các giao diện khác nhau.

Yêu cầu phi chức năng của cơ sở dữ liệu (CSDL) là những tiêu chí mô tả các ràng buộc cần thiết để đảm bảo CSDL đáp ứng các yêu cầu chức năng Những yêu cầu này không thể kiểm thử thông qua các bước cụ thể Một số yêu cầu phi chức năng quan trọng bao gồm hiệu suất, bảo mật, khả năng mở rộng và tính khả dụng của hệ thống.

- Yêu cầu về giao diện hệ thống: dễ sử dụng? Trực quan? Màu sắc hài hòa?

Để đảm bảo tính sẵn sàng của dữ liệu, cần xem xét khả năng truy cập dữ liệu cho nhiều người dùng, tính dễ sử dụng của các biểu mẫu, cũng như sự tuân thủ các quy định pháp luật hiện hành.

- Yêu cầu về tính an toàn và bảo mật: độ an toàn ở mức nào? Có cần phân quyền NSD? Cần mã hóa ở mức độ nào?

- Yêu cầu về khả năng tương tác với các hệ thống khác: có tính mở? Có nâng cấp dễ dàng không? Có khả năng thay đổi?

Và yêu cầu cuối cùng là đưa ra các yêu cầu về mặt thời gian của CSDL như :

- Yêu cầu về tốc độ tra cứu, tìm kiếm của hệ thống CSDL: Nhanh? Chậm? Trung bình?

- Tìm kiếm trên bao nhiêu bản ghi?

- Kết quả đúng chính xác hay gần đúng?

Các thông tin cần thiết để thiết kế các tệp vật lý:

Dữ liệu trong máy tính được lưu trữ theo một cấu trúc có tổ chức, trong đó các quan hệ và thuộc tính được chuẩn hóa theo mô hình logic Mỗi thuộc tính cần được mô tả một cách chi tiết để đảm bảo tính chính xác và khả năng truy xuất thông tin hiệu quả Việc chuẩn hóa này giúp tối ưu hóa việc quản lý và sử dụng dữ liệu trong các ứng dụng khác nhau.

- Chuyển dữ liệu từ pha thiết kế logic sang việc tạo lập và xây dựng CSDL trên một hệ quản trị CSDL cụ thể đã chọn

Công nghệ được sử dụng để triển khai các tệp cơ sở dữ liệu (CSDL) đã được cài đặt bao gồm các công cụ và phần mềm hỗ trợ việc kiểm tra, tạo lập và xây dựng CSDL một cách hiệu quả Quá trình này đảm bảo rằng các tệp CSDL được thiết lập đúng cách và hoạt động ổn định, giúp nâng cao hiệu suất và tính khả dụng của hệ thống.

Để tối ưu hóa hiệu quả thiết kế các tệp vật lý, cần xem xét những yếu tố quan trọng ảnh hưởng trực tiếp đến sự tích hợp và hiệu năng của hệ thống ứng dụng.

- Chọn định dạng lưu trữ (kiểu dữ liệu) cho mỗi thuộc tính sao cho tối thiểu hóa dư thừa thông tin và tối đa sự tích hợp dữ liệu.

Khi lựa chọn các chỉ mục cần tạo, cần xác định các quan hệ và trường nào sẽ được chỉ mục, hoặc kết hợp một số trường để tạo ra chỉ mục khoá tìm kiếm Đối với mỗi chỉ mục, hãy quyết định xem nó nên được phân cụm hay không phân cụm để tối ưu hóa hiệu suất tìm kiếm.

- Điều chỉnh lược đồ khái niệm:

Khi lựa chọn lược đồ chuẩn hóa, chúng ta có nhiều phương pháp để phân rã lược đồ thành các quan hệ con theo dạng chuẩn mong muốn như BCNF hoặc 3NF Quyết định về lược đồ nào sẽ được chọn phụ thuộc vào các điều kiện trong quá trình thực thi.

THỬ NGHIỆM VÀ ĐÁNH GIÁ MỘT SỐ GIẢI PHÁP TỐI ƯU HÓA TRÊN CƠ SỞ DỮ LIỆU TTN TRONG QUẢN LÝ ĐTTC

1 Tối ưu thiết kế cơ sở dữ liệu thi trắc nghiệm học phần

Hệ thống phần mềm quản lý đào tạo tín chỉ là một hệ sinh thái số phức tạp, bao gồm nhiều module chức năng khác nhau như quản lý nhập học, quản lý sinh viên, quản lý đào tạo, quản lý đăng ký học, quản lý tổ chức thi, quản lý điểm, quản lý học phí và quản lý thi trắc nghiệm trên máy tính Tất cả các module này đều được kết nối đồng bộ đến cơ sở dữ liệu đào tạo tín chỉ chung Để tối ưu hóa hệ thống, chúng tôi sẽ tập trung vào module quản lý thi trắc nghiệm học phần trên máy tính và cơ sở dữ liệu liên quan, nhằm áp dụng các phương pháp tối ưu về thiết kế và truy vấn.

Một trong các ưu tiên thiết kế đối với cơ sở dữ liệu thi trắc nghiệm mà nhóm tác giả đưa ra như sau:

Khi thiết kế cơ sở dữ liệu, cần đảm bảo rằng nó phù hợp với luồng công việc thực tế trong quá trình vận hành hệ thống Hai lược đồ cơ sở dữ liệu cần được phân tách rõ ràng: một là lược đồ dữ liệu cho việc lưu trữ và xử lý ngân hàng câu hỏi thi, và hai là lược đồ dữ liệu cho việc lưu trữ và xử lý bài thi.

Lược đồ quản lý ngân hàng câu hỏi thi cần xác định các nhóm thực thể chính như Học phần, Câu hỏi và Đáp án, cùng với các thực thể hỗ trợ như Loại câu hỏi, Mức độ câu hỏi và Chương/Nhóm kiến thức Đặc biệt, cần chú ý đến kiểu dữ liệu của các câu hỏi và đáp án, do dữ liệu thi rất đa dạng, bao gồm văn bản, số, công thức, bảng biểu, hình ảnh và âm thanh Việc đa dạng hóa cách thức lưu trữ với nhiều kiểu khác nhau không chỉ tiết kiệm bộ nhớ mà còn tăng tốc độ truy vấn dữ liệu trong tương lai.

Lược đồ quản lý bài thi cần xác định các nhóm thực thể chính bao gồm bài thi học phần sinh viên, danh mục câu hỏi và danh mục đáp án bài thi Mỗi sinh viên chỉ có một bản ghi bài thi cho từng học phần, và mỗi bài thi sẽ có n câu hỏi, trong đó mỗi câu hỏi sẽ có m đáp án Các thực thể này chứa nhiều thông tin liên quan như ngày giờ, trạng thái, mức điểm, và kết quả đúng, sai Để tối ưu hóa dữ liệu, danh mục các học phần, sinh viên, câu hỏi và đáp án chỉ lưu trữ khóa ngoại, nhằm giảm thiểu sự dư thừa dữ liệu và kích thước bảng.

Tối giản kiểu dữ liệu của các thuộc tính để phù hợp với quy mô dữ liệu, sử dụng số nguyên làm khóa chính và khóa ngoại, đồng thời thiết lập chỉ mục để tối ưu hóa hiệu suất truy vấn.

ThS Hoàng Ngọc Cảnh từ Trung tâm Công nghệ thông tin 51 đã thực hiện các phép Join cho tất cả thuộc tính và tiến hành chuẩn hóa cơ sở dữ liệu về mức 3NF.

Hình 20: Lược đồ cơ sở dữ liệu thi trắc nghiệm học phần

2 Tối ưu truy vấn trong cơ sở dữ liệu thi trắc nghiệm học phần

Trong lĩnh vực tối ưu hóa truy vấn cho cơ sở dữ liệu thi trắc nghiệm học phần, có nhiều quy tắc quan trọng được áp dụng Bài viết này sẽ tập trung phân tích một số giải pháp tối ưu hóa liên quan đến các Store Procedure trong việc sinh đề thi và lấy bài thi Những bộ lệnh T-SQL này có ảnh hưởng toàn diện đến các thực thể và yêu cầu xử lý lượng dữ liệu lớn, do đó, việc tối ưu hóa chúng là vô cùng cần thiết.

Với Store Procedure sinh đề thi, có một số phương pháp tối ưu như sau:

Mục tiêu của bộ lệnh này là tạo đề thi cho một nhóm sinh viên, đảm bảo rằng mỗi sinh viên nhận được câu hỏi và đáp án ngẫu nhiên từ bảng dữ liệu Thuật toán cần thực hiện việc sinh đề lặp đi lặp lại cho nhiều sinh viên khác nhau, đồng thời truy vấn để tìm ra các câu hỏi và đáp án ngẫu nhiên trong ngân hàng câu hỏi.

ThS Hoàng Ngọc Cảnh tại Trung tâm Công nghệ thông tin đã nghiên cứu về hàng dữ liệu quá lớn, với quy mô không chỉ ở số lượng bản ghi mà còn ở dung lượng của mỗi bản ghi.

Sử dụng các bảng tạm (biến bảng) giúp tối ưu hóa quy trình truy vấn bằng cách rút gọn tập dữ liệu ngân hàng câu hỏi trước khi thực hiện các lần lặp sinh đề thi Điều này không chỉ nâng cao hiệu suất truy vấn mà còn đảm bảo tính chính xác của dữ liệu được sử dụng.

INSERT INTO @tblTapCauHoi(CH_ID, CH_MDCH_ID, KCC_ID, CH_MucDiem)

SELECT tblCauHoi.CH_ID,tblCauHoi.CH_MDCH_ID, tblCauHoi.CH_KCC_ID, tblCauHoi.CH_MucDiem

FROM tblCauHoi INNER JOIN tblKhungChuongChinh ON tblCauHoi.CH_KCC_ID = tblKhungChuongChinh.KCC_ID

WHERE CH_TrangThai = 1 AND tblKhungChuongChinh.KCC_HP_ID = @HP_ID AND tblKhungChuongChinh.KCC_BM_ID = @BM_ID

Sử dụng việc sắp xếp mã GUI trên một tập dữ liệu nhỏ để lấy ngẫu nhiên câu hỏi và đáp án thay vì các thuật toán sinh ngẫu nhiên phức tạp giúp tối ưu hóa quy trình Kết hợp phép lấy TOP dữ liệu, ví dụ như Top(50) cho số lượng câu hỏi và Top(4) cho số lượng đáp án, sẽ nâng cao hiệu năng thực thi của bó lệnh một cách đáng kể Dưới đây là câu lệnh áp dụng kỹ thuật tối ưu đã nêu.

INSERT INTO tblChiTietCauHoiDeThi(CTCHDT_SVLHPDT_ID, CTCHDT_CH_ID, CTCHDT_MucDiem)

SELECT TOP(@TCDT_SoLuong) @SVLHPDT_ID, CH_ID,

WHERE KCC_ID = @TCDT_KCC_ID AND CH_MDCH_ID @TCDT_MDCH_ID

Với Store Procedure lấy đề thi, có một số phương pháp tối ưu như sau:

Store này nhằm mục tiêu tạo ra 50 câu hỏi cho mỗi sinh viên trong phòng thi, với mỗi câu hỏi có 04 đáp án, tổng cộng sẽ có 200 bản ghi dữ liệu được liệt kê và sắp xếp theo thứ tự từ Câu 1 đến Câu 50 Vấn đề chính của bộ lệnh này là việc thực hiện Join giữa các bảng dữ liệu.

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 53 đã thực hiện việc truy xuất 200 bản ghi từ ba bảng dữ liệu SinhVienHocPhanDeThi, ChiTietCauHoiDeThi và ChiTietDapAnDeThi thông qua ID Tuy nhiên, việc Join đồng thời 5 bảng dẫn đến tốc độ thực thi chậm do kích thước lớn của các tập dữ liệu Để cải thiện hiệu suất, phương pháp được áp dụng là giới hạn dữ liệu trên từng bảng, sau đó thực hiện Join từng cặp bảng với các điều kiện nhất định, tạo ra bảng phụ mới Cuối cùng, các bảng phụ này sẽ được Join lại với nhau để tạo ra danh sách cuối cùng, giúp giảm thiểu đáng kể khối lượng dữ liệu trong mỗi nhóm bảng khi thực hiện Join.

The SQL code snippet defines a temporary table named `@tblA1`, which includes various columns such as `SoThuTuCauHoi` for question order, `SVLHPDT_ID` for identification, `SVLHPDT_MaDeThi` for the test code, and `SVLHPDT_ThoiGianLamBai` indicating the time allocated for the exam Additional fields include `SVLHPDT_ThoiDiemThi` for the exam date and time, `SVLHPDT_TrangThai` representing the status, `SVLHPDT_DKDT` for the conditions of the exam, and two columns `CTCHDT_ID` and `CTCHDT_CH_ID` for identifying related components, along with `CTCHDT_MucDiem` which signifies the scoring level.

DECLARE @tblA2 table(CTDADT_ID int, CTDADT_CTCHDT_ID int, CTDADT_DA_ID int, CTDADT_DapAnDung bit, CTDADT_DaChon bit)

Câu lệnh khai báo bảng phụ @tblA1 cho phép tiền xử lý dữ liệu bài thi và danh mục câu hỏi, trong khi @tblA2 lưu trữ danh mục và nội dung đáp án do số bản ghi đáp án nhiều hơn gấp 4 lần so với câu hỏi Kết hợp lệnh TOP trong việc thực hiện Join giữa các bảng @tblA1, @tblA2 và CauHoi, với điều kiện giới hạn bản ghi câu hỏi, giúp lấy ra nội dung đầy đủ cho câu hỏi Tổng số bản ghi Inner Join giữa các bảng là @tblA1 (50 bản ghi), @tblA2 (200 bản ghi), và CauHoi (50 bản ghi).

Rõ ràng với tập dữ liệu nhỏ sẽ tốn rất ít chi phí trong việc Scan dữ liệu trên các bảng.

Tăng hiệu năng truy vấn khi in bảng điểm thi trắc nghiệm bằng phương pháp đặt chỉ mục (Index):

Quá trình lấy dữ liệu điểm thi để in ra bảng điểm chủ yếu tập trung truy vấn trên bảng tblSinhVienLopHocPhanDeThi Cấu trúc của bảng này như sau:

ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 54

Ngày đăng: 03/01/2024, 19:59

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w