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ế và tối ưu hóa trong khai thác dữ liệu là vấn đề cốt lõi trong nghiên cứu cơ sở dữ liệu, đặc biệt trong thời đại số hóa hiện nay Công việc này trở thành nhiệm vụ hàng ngày của các nhà quản trị và lập trình viên cơ sở dữ liệu, nhằm đảm bảo tính ổn định và hiệu quả cho hệ thống thông tin quản lý Tuy nhiên, việc khảo sát và phân tích thường chỉ tập trung vào giải quyết vấn đề trước mắt, dẫn đến cơ sở dữ liệu thiếu chuẩn hóa và khả năng mở rộng, gây ra những khó khăn khi triển khai thực tế Sự thiếu sót trong việc bảo trì và sao lưu cũng làm gia tăng số lượng bản ghi, tạo ra các bảng quan hệ vòng và dư thừa dữ liệu, ảnh hưởng đến hiệu suất truy vấn và làm tăng nguy cơ sụp đổ hệ thống Do đó, tìm kiếm các giải pháp tổ chức và truy vấn dữ liệu tối ưu là rất cần thiết trong mọi giai đoạn của cơ sở dữ liệu Người quản trị cần áp dụng các biện pháp kỹ thuật phù hợp để tái tổ chức dữ liệu mà không làm phát sinh quá nhiều lập trình lại chức năng phần mềm Đặc biệt, trong các hệ thống quản lý như bán hàng, nhân sự và kế toán, việc sử dụng các thuật toán hiệu quả và kỹ thuật T-SQL là rất quan trọng để cải thiện hiệu năng hệ thống, đảm bảo đáp ứng nhu cầu người dùng trên hạ tầng tối thiểu.
Trong số các bài toán quản lý, quản lý đào tạo theo tín chỉ trên nền tảng cơ sở dữ liệu quan hệ là một vấn đề cần được bảo trì thường xuyên.
ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 7 nhấn mạnh sự cần thiết phải nâng cấp cơ sở dữ liệu đào tạo tín chỉ do sự thay đổi liên tục trong yêu cầu quản lý của các cơ sở giáo dục Mặc dù các cơ sở dữ liệu ban đầu được thiết kế để đáp ứng nhu cầu quản lý cơ bản, nhưng sự gia tăng liên tục về số lượng bản ghi sinh viên, điểm số và lớp học đã tạo ra áp lực lên hệ thống, dẫn đến tình trạng chậm chạp và sai sót dữ liệu Tại Việt Nam, nhiều trường đại học đã sớm áp dụng công nghệ thông tin trong quản lý đào tạo tín chỉ, với khả năng tự xây dựng hoặc mua hệ thống phần mềm riêng Tuy nhiên, việc bổ sung và chỉnh sửa các module quản lý qua từng học kỳ đã làm cho cơ sở dữ liệu trở nên phức tạp hơn, đòi hỏi phải có các biện pháp tối ưu thiết kế và truy vấn để đảm bảo hệ thống hoạt động hiệu quả và ổn định.
Chúng tôi đã chọn đề tài “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ỉ” nhằm đáp ứng nhu cầu thực tế Mục tiêu của nghiên cứu là tìm ra các kỹ thuật thực tiễn có thể áp dụng nhanh chóng và bền vững, giúp cải thiện hiệu quả và tối ưu hóa cơ sở dữ liệu đào tạo tín chỉ cho các hệ đào tạo của Nhà trường.
Tổng quan về đề tài nghiên cứu
Tổng quan về đề tài nghiên cứu trong nước
Ngày nay, quản lý số và phần mềm quản lý dữ liệu trên nền tảng hệ quản trị cơ sở dữ liệu đang trở thành xu hướng quan trọng trong nhiều lĩnh vực Các trường Đại học, đặc biệt là Đại học Thương mại, đang chú trọng đầu tư vào hệ thống cơ sở dữ liệu đào tạo tín chỉ Những hệ thống này được thiết kế theo quy chế đào tạo tín chỉ của Bộ Giáo dục và Đào tạo, đồng thời phù hợp với đặc thù của từng trường.
ThS Hoàng Ngọc Cảnh từ Trung tâm Công nghệ thông tin 8 cho biết rằng các quy định đào tạo trong Quy chế cần được điều chỉnh để phù hợp với đặc thù của từng cơ sở đào tạo, điều này dẫn đến sự thiếu thống nhất trong thiết kế, quy chuẩn và khai thác cơ sở dữ liệu đào tạo Tại Việt Nam, đã có nhiều nghiên cứu lý thuyết và ứng dụng về các kỹ thuật tổ chức và tối ưu dữ liệu, thường được phân chia theo hai hướng khác nhau.
Nghiên cứu lý thuyết 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, đặc biệt là hệ quản trị cơ sở dữ liệu quan hệ, đã được thực hiện đa dạng qua các sách chuyên khảo, tài liệu tham khảo, giáo trình và bài giảng.
Theo các nghiên cứu của Nguyễn Thị Thu Thủy cùng cộng sự (2015) và các tác giả khác như Hồ Thuần, Hồ Cẩm Hà (2009), Nguyễn Kim Anh (2008), Phương Lan (2007), các tài liệu này chủ yếu cung cấp kiến thức lý thuyết về 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 dù có những 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 chưa có bài toán quản lý dữ liệu toàn diện hay 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 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.
Trong luận văn "Tối ưu hóa truy vấn trên cơ sở dữ liệu phân tán" của Nguyễn Văn Dũng (2012), tác giả nhấn mạnh rằng sự bùng nổ dữ liệu đang thúc đẩy các nhà quản trị chú trọng hơn đến hiệu suất khai thác dữ liệu Ông đã trình bày một số phương pháp và thuật toán nhằm tối ưu hóa các câu lệnh truy vấn Tuy nhiên, những phương pháp này chủ yếu vẫn ở mức lý thuyết và chưa được kiểm nghiệm thực tế trên các cơ sở dữ liệu lớn.
Các nghiên cứu thực nghiệm trên các hệ quản trị cơ sở dữ liệu như SQL SERVER, ORACLE, MY SQL, DB2 tập trung vào việc sử dụng các kỹ thuật chuẩn hóa và phi chuẩn hóa, đồng thời cung cấp ví dụ cụ thể để tối ưu hóa lệnh truy vấn T-SQL trong các bối cảnh khác nhau Hầu hết tài liệu này được công bố trên các diễn đàn và hội thảo trực tuyến chuyên về cơ sở dữ liệu.
Theo nghiên cứu của Trung tâm Tin học Khoa học Tự nhiên (2018), có nhiều cách tối ưu hóa cơ sở dữ liệu trong Hệ quản trị cơ sở dữ liệu SQL Server dựa trên kinh nghiệm thực tiễn Bài viết nêu rõ các kỹ thuật tối ưu và ý nghĩa của chúng, kèm theo ví dụ minh họa, tuy nhiên chủ yếu tập trung vào các phương pháp xử lý sau khi thiết kế và tổ chức cơ sở dữ liệu.
Theo Lê Hoàng Chương (2014), tác giả đã tiếp cận việc tối ưu hóa câu lệnh truy vấn bằng cách phân tích dựa trên 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 gặp khó khăn và tốn nhiều thời gian khi áp dụng cho các câu truy vấn phức tạp Ngoài ra, còn có thể khai thác nhiều công nghệ khác để hỗ trợ quá trình này.
ThS Hoàng Ngọc Cảnh 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 nên dựa vào các đặc thù riêng của chúng, thay vì chỉ phân tích từ góc độ toán học Ông nhấn mạnh rằng việc tối ưu dựa trên đại số quan hệ phụ thuộc vào mức độ chuẩn hóa của cơ sở dữ liệu Tuy nhiên, trong các bài toán lớn, các nhà thiết kế và quản trị cơ sở dữ liệu thường 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 cũng như triển khai.
Trong giai đoạn 2008-2010, Đặng Quốc Hữu và Hoàng Ngọc Cảnh đã thực hiện nhiều nghiên cứu khoa học và dự án liên quan đến việc xây dựng và nâng cấp hệ thống phần mềm cùng cơ sở dữ liệu đào tạo tín chỉ tại Trường ĐH Thương mại Các công trình này chủ yếu tập trung vào thiết kế cơ sở dữ liệu nhằm tối ưu hóa khả năng ứng dụng và số hóa dữ liệu đào tạo Tuy nhiên, kỹ thuật thiết kế vẫn còn thiếu chuẩn hóa, dẫn đến việc các câu lệnh khai thác chỉ đạt yêu cầu cơ bản mà chưa tối ưu hóa về tốc độ và bộ nhớ Kết quả là, khi dữ liệu đào tạo ngày càng gia tăng, các thiết kế và truy vấn dữ liệu bộc lộ nhiều điểm yếu.
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 cầu đang tìm kiếm các phương pháp và kỹ thuật hiệu quả hơn để giải quyết các vấn đề quản lý thực tiễn Chỉ với những 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 có thể tìm thấy hàng ngàn kết quả liên quan, cho thấy tầm quan trọng của nghiên cứu trong lĩnh vực 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 và các tham số vật lý - logic liên quan đến các đối tượng dữ liệu Tuy nhiên, nghiên cứu của ông trên searchoracle.techtarget.com chỉ tập trung vào các vấn đề phân vùng (Partitioning) và lập chỉ mục (Indexing), mà chưa chú ý đến việc tổ chức, phân tích và 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.
Theo Martin Goodwell, thành viên của Dynatrace Innovation Lab, có năm bước chính để tối ưu hóa cơ sở dữ liệu: kiểm tra máy chủ, phân tích đối tượng sử dụng dữ liệu, đánh giá vấn đề cân tải và đáp ứng của dịch vụ, xem xét số lượng kết nối đồng thời đến cơ sở dữ liệu, và cuối cùng là kiểm tra hạ tầng mạng Tuy nhiên, tác giả dường như chỉ tập trung vào việc thiết lập một môi trường lý tưởng cho cơ sở dữ liệu mà chưa đề cập đến các phương pháp cải thiện hiệu suất nội tại của nó.
Rodrigo Koch, một nhà phát triển phần mềm ứng dụng tại Samsung Latin America, đã tiến hành nghiên cứu chuyên sâu về Tối ưu hiệu suất Cơ sở dữ liệu SQL Nghiên cứu của ông chỉ ra nhiều phương pháp tối ưu hóa cụ thể, giúp cải thiện hiệu suất và hiệu quả của các hệ thống cơ sở dữ liệu.
ThS Hoàng Ngọc Cảnh từ Trung tâm Công nghệ Thông tin 10 đã chia sẻ cái nhìn của lập trình viên và người quản trị cơ sở dữ liệu về việc tối ưu hóa câu lệnh T-SQL Nội dung chủ yếu tập trung vào việc cải thiện hiệu suất của các truy vấn SQL mà 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 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ệ Bài viết tập trung 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 và á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
Đề tài nghiên cứu này tập trung vào việc tổ chức dữ liệu và tối ưu hóa câu lệnh T-SQL trong hệ quản trị cơ sở dữ liệu quan hệ (RDBMS).
Thực nghiệm các phương pháp tổ chức và tối ưu hóa việc khai thác dữ liệu từ cơ sở dữ liệu đào tạo tín chỉ tại trường Đại học Thương mại nhằm nâng cao hiệu quả quản lý và phục vụ nhu cầu học tập của sinh viên.
Phương pháp nghiên cứu
Cách tiếp cận đánh giá dựa trên dữ liệu từ hệ thống đà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.
Đề tài nghiên cứu áp dụng phương pháp 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 phương pháp 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
Báo cáo được cấu trúc rõ ràng với các phần quan trọng như mục lục, danh mục hình vẽ, danh mục từ viết tắt, tài liệu tham khảo và phụ lục Nội dung chính của báo cáo được chia thành 3 chương, giúp người đọc dễ dàng theo dõi và nắm bắt thông tin.
Ch ương 1 : Tổng quan nghiên cứu đề tài
Chương này sẽ tóm tắt tổng quan về đề tài nghiên cứu, bao gồm tính cấp thiết của vấn đề, tình hình nghiên cứu trong và ngoài nước, mục tiêu nghiên cứu, đối tượng và phạm vi nghiên cứu, cũng như các phương pháp nghiên cứu được áp dụng để khảo sát 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ẽ 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 Nó cũng sẽ giới thiệu một số mô hình dữ liệu phổ biến và các chuẩn thiết kế CSDL Bên cạnh đó, chương sẽ liệt kê các vấn đề thường gặp liên quan đến hiệu năng của CSDL và cách tối ưu hóa CSDL từ các khía cạnh 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ỉ
Chương này sẽ trình bày các kết quả đạt được từ việc áp dụng các kỹ thuật tối ưu hóa trên cơ sở dữ liệu đào tạo tín chỉ của Trường Đại học Thương mại, bao gồm việc tổ chức thiết kế lại các thực thể và tối ưu hóa các lệnh truy vấn trong các store, view, và function.
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ữ CSDL (Database) đã trở nên phổ biến trong nhiều lĩnh vực Sự phát triển của các ứng dụng tin học trong quản lý ngày càng đa dạng, với hầu hết các lĩnh vực kinh tế và xã hội áp dụng những thành tựu mới của công nghệ thông tin Điều này dẫn đến việc ngày càng nhiều người quan tâm đến phân tích, thiết kế, xây dựng và ứng dụng CSDL trong công việc chuyên môn của họ.
Trước khi có hệ quản trị cơ sở dữ liệu (CSDL), mỗi ứng dụng đều gắn liền với một tệp dữ liệu riêng, dẫn đến việc mỗi khi cần sửa đổi hoặc mở rộng ứng dụng, tệp dữ liệu cũng phải được điều chỉnh Việc lưu trữ thông tin trong hệ thống xử lý tệp gặp nhiều nhược điểm, ảnh hưởng đến hiệu quả quản lý và truy xuất dữ liệu của tổ chức.
Dữ liệu dư thừa và không nhất quán thường xảy ra khi cùng một thông tin được lưu trữ trong nhiều tệp khác nhau Khi tiến hành cập nhật, việc này có thể dẫn đến việc bỏ sót thông tin, gây ra sự không nhất quán trong 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 hỗ trợ việc 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 là một vấn đề lớn, bởi vì dữ liệu thường được phân tán trong nhiều tệp với các định dạng khác nhau Điều này gây khó khăn trong việc phát triển các ứng dụng mới nhằm tìm kiếm và truy xuất dữ liệu phù hợp.
Các vấn đề về tính toàn vẹn xuất hiện khi có thêm các ràng buộc mới, dẫn đến khó khăn trong việc điều chỉnh các chương trình để đảm bảo tuân thủ đúng các yêu cầu này.
Các vấn đề về tính nguyên tố trong các giao tác là một thách thức lớn đối với hệ thống xử lý tệp truyền thống, vì khó có thể đảm bảo nguyên tắc "hoặc thực hiện hoàn toàn hoặc không thực hiện gì" Hệ thống này cũng gặp khó khăn trong việc khôi phục về trạng thái nhất quán trước khi xảy ra sự cố.
Các dị thường của truy cập tương tranh có thể xảy ra khi nhiều người dùng đồng thời cập nhật dữ liệu trong hệ thống nhằm tăng hiệu quả và tốc độ phản hồi Tuy nhiên, điều này có thể dẫn đến tình trạng dữ liệu không nhất quán.
Các vấn đề an toàn trong hệ quản trị cơ sở dữ liệu (CSDL) thường yêu cầu mỗi người dùng chỉ được phép truy cập một phần nhất định của CSDL, giúp bảo vệ dữ liệu hiệu quả Ngược lại, với hệ xử lý tệp truyền thống, việc thêm các chương trình ứng dụng vào hệ thống diễn ra 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.
Cơ sở dữ liệu (CSDL) là tập hợp dữ liệu liên quan, chứa thông tin về tổ chức như trường đại học, ngân hàng, công ty, hay nhà máy Dữ liệu này được lưu trữ trên thiết bị nhớ thứ cấp như đĩa từ, nhằm phục vụ nhu cầu khai thác thông tin của nhiều người sử dụng với các 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ủamộ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 trungthự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) liên quan đến nhiều vấn đề quan trọng như đảm bảo tính nhất quán và toàn vẹn dữ liệu, bảo mật thông tin 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ó kiểm soát đến các cơ sở dữ liệu 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 tương tác giữa các ứng dụng của người dùng và CSDL Nó cung cấp các công cụ cần thiết để quản lý, truy xuất và xử lý 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ấu trúc cơ sở dữ liệu, bao gồm các kiểu dữ liệu và cấu trúc dữ liệu DDL cũng quy định các ràng buộc đối với dữ liệu được lưu trữ trong cơ sở dữ liệu, đảm bảo tính toàn vẹn và chính xác của thông tin.
Tạo bảng Co để lưu trữ thông tin về công ty, bao gồm các trường dữ liệu như Số hiệu công ty với độ dài tối đa 2 ký tự, Tên công ty với độ dài tối đa 10 ký tự, và Vốn của công ty với tối đa 4 chữ số Cú pháp SQL để thực hiện việc này là: Create table Co(Sohieu Char(2), Ten Char(10), Von Number(4,0)).
- 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 CPU hoạt động với xung nhịp bất thường, gây áp lực lớn lên quá trình xử lý và làm giảm hiệu năng của các tiến trình khác xuống dưới 80% Nguyên nhân chủ yếu 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, hoặc do việc quản trị cơ sở dữ liệu không hiệu quả trong việc điều phối mã lập trình, dẫn đến tình trạng quá tải ở 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 việc trả về kết quả chậm, khiến các chương trình có thể treo hoặc ngắt quãng Khi bộ nhớ vật lý gần như trống rỗng, toàn bộ hệ điều hành trở nên chậm chạp Nguyên nhân chính của tình trạ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 tìm kiếm chỉ mục, mà thay vào đó là các hoạt động 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 tăng cao.
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ừ các yếu tố này, nguyên nhân của tình trạng quá tải thường liên quan đến các luồng 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 hiệu quả Việc không kiểm soát thời gian ngắt kết nối của các phiên làm việc lỗi thời và cho phép các hệ thống tự động gửi nhận liên tục các request về cơ sở dữ liệu mà không điều hướng xử lý trên hệ thống khác có thể dẫn đến tình trạng nghẽn cổ chai mạng nghiêm trọng.
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) xảy ra khi phản hồi từ các thiết bị xuất chậm, mặc dù hệ thống đã hoàn tất thực thi, hoặc khi hàng đợi dữ liệu trống trong khi chờ thiết bị nhập xử lý thông tin từ người dùng Nguyên nhân chính của tình trạng này là do các thiết bị I/O bị lỗi, giao tiếp không tương thích với công nghệ hiện đại, bộ nhớ cache hạn chế và các mạch xử lý dữ liệu có tốc độ thấp, dẫn đến hiệu suất không tương xứng với khả năng của vi xử lý và bộ nhớ trong, từ đó làm giảm hiệu năng tổng thể của cơ sở dữ liệu.
Một vấn đề quan trọng trong hiệu suất cơ sở dữ liệu là tốc độ thực thi các câu truy vấn Dù phần cứng và hạ tầng mạng có mạnh mẽ đến đâu, nhưng nếu lệnh truy vấn không hiệu quả, hiệu suất vẫn sẽ bị ảnh hưởng nghiêm trọng Nguyên nhân dẫn đến các truy vấn kém có thể bao gồm lỗi chỉ mục, kế hoạch thực thi không tối ưu, 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ámsá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) trong SQL Server là một tính năng hữu ích, cung cấp thông tin chi tiết về nhiều vấn đề như thống kê truy vấn, kế hoạch thực thi, truy vấn có nhiều lần đọc và viết nhất, cũng như thời gian hoạt động của CPU Ví dụ, bạn có thể sử dụng lệnh sau trên DMVs để kiểm tra mức độ sử dụng của CPU và xác định các điểm nghẽn (CPU bottlenecks).
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à cho phép người dùng xác định 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 ứng dụng 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 Profiler là công cụ hữu ích giúp bạn theo dõi và quản lý các hoạt động trong cơ sở dữ liệu, bao gồm các 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ệpvật lý và cơ sở dữ liệu vật lý
Sau khi hoàn thành thiết kế lược đồ khái niệm và lược đồ ngoài, chúng ta tạo ra một tập hợp các quan hệ, khung nhìn và ràng buộc tham chiếu Tiếp theo, chúng ta tiến hành thiết kế cơ sở dữ liệu (CSDL) vật lý thông qua việc xây dựng lược đồ vật lý Do yêu cầu của người dùng thường xuyên thay đổi, phần thiết kế này cũng cần được điều chỉnh định kỳ để đáp ứng nhu cầu.
Trong quá trình thiết kế cơ sở dữ liệu (CSDL), cần cân nhắc kỹ lưỡng về khối lượng dữ liệu mà CSDL phải đáp ứng Đồng thời, việc tinh chỉnh thiết kế các quan hệ cũng rất quan trọng để đảm bảo hiệu năng truy xuất Để đạt hiệu suất tối ưu, cần tìm hiểu kỹ hệ quản trị CSDL sẽ sử dụng, phân tích kích thước và nhu cầu sử dụng dữ liệu một cách chi tiết, cũng như thiết kế các trường dữ liệu một cách hiệu quả.
Thiết kế cơ sở dữ liệu (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 nhằm lưu trữ dữ liệu hiệu quả Quá trình này bao gồm nhiều bước quan trọng để đảm bảo tính khả thi và tối ưu trong việc quản lý dữ liệu.
- 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 cho 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 chính: giai đoạn thiết kế và sản phẩm thiết kế.
Trong thiết kế hệ thống vật lý, việc tối ưu hóa không gian lưu trữ và thời gian tương tác của người dùng là rất quan trọng Tuy nhiên, với sự gia tăng nhanh chóng của dung lượng các thiết bị nhớ, hiện nay, người ta chú trọng hơn đến hiệu quả trong việc xử lý tệp và dữ liệu để phục vụ nhu cầu của người sử dụng.
Trước khi tiến hành 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) là rất quan trọng Các yêu cầu này sẽ định hình cách thức CSDL được tạo lập và sử dụng hiệu quả.
Yêu cầu thứ nhất là đưa racác yêu cầu chức năng của CSDL tức là liệt kê ra các yêu cầu mà CSDL có thể thực hiện đượcnhư:
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ụ liên quan đến việc nhập dữ liệu trực tiếp tại các biểu mẫu cụ thể, đồng thời cần xác định 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 này Ngoài ra, cần xem xét khả năng in ấn và tạo báo cáo từ các biểu mẫu, cũng như khả năng tìm kiếm và tra cứu thông tin dựa trên các tiêu chí nhất định Hệ thống cũng cần có khả năng phân chia cơ sở dữ liệu theo bộ phận hoặc phòng ban, cùng với khả năng thay đổi và cập nhật đa ngôn ngữ và 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 yêu cầu mô tả các ràng buộc mà CSDL phải đáp ứng để đảm bảo các giải pháp thỏa mãn 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ố ví dụ về yêu cầu phi chức năng bao gồm hiệu suất, tính khả dụng, bảo mật và khả năng mở rộ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?
- Yêu cầu về tính sẵn sàng của dữ liệu: cho phép truy cập dữ liệu đa người dùng?
Các biểu mẫu dễ sử dụng? Dễ hiểu và đúng qui định của pháp luật Nhà nước 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 CSDLnhư :
- 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ínhxá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ữ thông qua 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à hiệu quả trong việc quản lý thông tin Việc chuẩn hóa này giúp giảm thiểu sự trùng lặp và cải thiện khả năng truy xuất dữ liệu.
- 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ệ triển khai các tệp cơ sở dữ liệu (CSDL) đã được cài đặt đóng vai trò quan trọng trong việc kiểm tra và xác nhận quá trình tạo lập cũng như xây dựng CSDL Việc áp dụng các công nghệ hiện đại giúp tối ưu hóa quy trình triển khai, đảm bảo tính chính xác và hiệu quả trong việc quản lý dữ liệu.
Để tối ưu hóa hiệu quả thiết kế các tệp vật lý, cần xem xét các yếu tố ả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, quan trọng là xác định các mối quan hệ nào sẽ được chỉ mục và các trường nào hoặc sự kết hợp của nhiều trường sẽ tạo ra chỉ mục khoá tìm kiếm Đối với mỗi chỉ mục, cần 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 quả 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ã một 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 được chọn sẽ phụ thuộc vào các điều kiện trong quá trình thực thi.
Để nâng cao tốc độ thực thi các truy vấn, việc xem xét lại các lược đồ phân rã do chuẩn hoá trong thiết kế lược đồ khái niệm là cần thiết Tùy thuộc vào tình trạng hiện tại, chúng ta có thể cần phân rã các quan hệ sâu hơn, nhằm cải thiện hiệu suất cho các truy vấn chỉ sử dụng một vài thuộc tính.
Khung nhìn: Chúng ta có thể muốn thêm một vài khung nhìn để che giấu những thay đổi trong lược đồ khái niệm.
Điều chỉnh truy vấn và giao dịch là cần thiết để cải thiện hiệu suất, giúp các truy vấn được thực hiện liên tục và các giao dịch có thể được viết lại nhằm tăng tốc độ xử lý.