Tổ chức thiết kế cơ sở dữ liệu trên mạng máy tính để người dùng có thể truy nhập đến những thông tin mà họ cần
Luận văn tốt nghiệp Nguyễn Văn Duy CHƯƠNG MỞ ĐẦU GIỚI THIỆU CHUNG 1. Sự phát triển của mạng thông tin máy tính và ứng dụng Trong xu thế toàn cầu hoá hiện nay, máy tính và các hệ thống mạng thông tin máy tính ngày càng được sử dụng rộng rãi trong hầu hết các lĩnh vực kinh tế, văn hoá và xã hội. Các ứng dụng phong phú của mạng máy tính có thể kể đến ở đây là: • Sử dụng chung tài nguyên như máy in Laser, máy in nhanh, ổ đĩa cứng với dung lượng lớn (hàng chục đến hàng trăm GigaByte) trong tự động hoá văn phòng; sử dụng chung tài nguyên tính toán chính là các máy PC có công suất ngày càng lớn trong mạng cục bộ đối với các tính toán khoa học. • Truy nhập từ xa đối với các hệ thống tính toán có công suất lớn hoặc các mạng cục bộ với các dịch vụ thông tin giá trị gia tăng phong phú. • Các hệ thống thông tin tài chính, ngân hàng cho phép thanh toán và kiểm tra tài khoản trên phạm vi toàn cầu. • Các hệ thống thông tin dịch vụ liên quốc gia như đăng ký và đặt chỗ khách sạn, đăng ký và thanh toán vé máy bay, vé tầu hoả,.v.v • Các hệ thống quản lý như hệ thống thông tin thư viện, hệ thống phục vụ cho công tác quản lý đào tạo trong các trường đại học,.v.v • Các hệ thống thông tin xã hội công cộng. Những yếu tố thúc đẩy sự phát triển nhanh chóng của máy tính và mạng thông tin máy tính, đó là: 6 Luận văn tốt nghiệp Nguyễn Văn Duy • Những tiến bộ đáng kể của công nghiệp vi điện tử, cho phép sản xuất các linh kiện điện tử (các bộ vi xử lý, bộ nhớ, các vi mạch điều khiển ghép nối ngoại vi và thông tin số liệu, các vi mạch thực hiện chuyển mạch gói) có công suất ngày càng lớn, tiêu hao năng lượng ngày càng ít, giá thành hạ. • Cải tiến và nâng cao hiệu suất tính toán trên cơ sở cải tiến kiến trúc của toàn bộ hệ thống. • Việc đưa vào sử dụng các hệ thống truyền dẫn tốc độ cao, xác suất lỗi truyền thấp trên cơ sở sử dụng cáp quang và việc thực hiện các ghép nối truyền dẫn và chuyển mạch thông minh, công suất lớn (thành quả của công nghiệp vi điện tử). Bản thân công nghệ mạng thông tin máy tính cũng có những tiến triển đáng ghi nhận. Những cố gắng thực hiện mạng máy tính theo mô hình ISO/OSI - do độ phức tạp, "nặng nề" của các giao thức thực hiện chức năng của các mức - cũng không phủ nhận được một thực tế là các mạng thông tin máy tính được thực hiện trên cơ sở bộ giao thức TCP/IP đang tăng trưởng một cách hết sức nhanh chóng. Do tính mềm dẻo, dễ thích ứng trong các môi trường mạng khác nhau trong nguyên tắc hoạt động của bộ giao thức TCP/IP, lại được hỗ trợ rộng rãi trong các hệ điều hành quan trọng và thông dụng hiện nay như UNIX, Window9.x, Window NT để thực hiện kết nối mạng và liên kết các mạng, công nghệ Internet/Intranet đã trở thành công nghệ kết nối mạng tiêu chuẩn và hiệu quả hiện nay. Từ khi mạng máy tính ra đời nó phục vụ rất nhiều trong mọi lĩnh vực đời sống kinh tế xã hội như con người có thể khai thác thông tin trên mạng, lấy dữ liệu và dùng chung dữ liệu trên mạng, . Nhưng từ những nguồn tin ấy từ đâu để con người có thể truy nhập tới và sử dụng chúng. Cho nên khi môi trường mạng phát triển về phần cứng và phần mềm hệ điều hành mạng còn những phần thông tin để chúng ta cung cấp cho người dùng truy nhập đến thì thế nào? Vì vậy, chúng ta phải tổ chức thiết kế cơ sở dữ liệu trên mạng máy tính để người dùng tin có thể truy nhập đến những thông tin mà họ cần. Bài luận văn giải quyết một phần nhỏ về vấn đề này. 7 Luận văn tốt nghiệp Nguyễn Văn Duy 2. Nội dung của luận văn Dựa vào nền tảng của sự phát triển công nghệ mạng thông tin máy tính, một phần ứng dụng để phát triển môi trường mạng trong bài luận văn tốt nghiệp của tôi là “Truy nhập cơ sở dữ liệu trên mạng trong môi trường mạng Internet và Intranet”. Trong bài luận văn gồm bốn chương và một phụ lục có cấu trúc như sau: Chương mở đầu: Giới thiệu chung. Chương I: Khái niệm cơ sở dữ liệu trong môi trường Client/Server. Chương II: Thiết kế bài toán thực tế. Chương III: Mạng máy tính và ứng dụng công nghệ mạng đối với bài toán thực tế. Chương IV: Kết luận. Phụ lục: Mã nguồn của chương trình. Đề tài của luận văn là vấn đề mới đối với sinh viên và do những hạn chế nhất định về thời gian, chắc rằng luận văn không thể tránh khỏi có những thiếu sót. Rất mong được sự chỉ bảo của các thầy cô giáo và góp ý của các bạn để tôi có thể hoàn thiện về mặt kiến thức để tiếp tục nghiên cứu phát triển sau này. 8 Luận văn tốt nghiệp Nguyễn Văn Duy CHƯƠNG I KHÁI NIỆM CƠ SỞ DỮ LIỆU TRONG MÔI TRƯỜNG CLIENT/SERVER Trước khi nêu các khái niệm cơ sở dữ liệu trong môi trường Client/Server ta nêu khái niệm Client, Server, Client/Server. Khái niệm về thành phần Client: phần mềm chịu tránh nhiệm thu nhận yêu cầu của người sử dụng, xử lý sơ bộ và chuyển cho Server dưới một dạng thích hợp. Nó cũng làm nhiệm vụ nhận kết quả từ Server gửi đến và hiển thị thông tin cho người sử dụng. Khái niệm về thành phần Server: nhận các yêu cầu từ Client, xử lý chúng bằng nhiều cách như đọc tệp, tìm kiếm cơ sở dữ liệu . rồi gửi trả lại kết quả cho Client. Khái niệm Client/Server là hai phần mềm có thể được thực hiện trên cùng một máy hoặc trên hai máy với các hệ điều hành khác nhau. Việc xử lý thông tin thực hiện trên Server. Client đóng vai trò giao tiếp với người sử dụng và thực hiện trao đổi dữ liệu với Server nếu cần. Việc kết nối giữa Client và Server tuân theo các giao thức trao đổi thông tin nhất định. Trong chương này ta xét hai phần trong cơ sở dữ liệu Client/Server gồm: • Các cách cấu hình khác nhau cho ứng dụng cơ sở dữ liệu Client/Server. • Các kiến trúc đa dạng được dùng đối với cơ sở dữ liệu phân tán trên nhiều máy tính. 1. Cấu hình cơ sở dữ liệu Client/Server Các dạng khác nhau của mô hình ba phần ba về tính toán Client/Server có thể kết hợp với nhau để tạo nên cấu hình tính toán phân tán theo độ phức hợp xác định. Phần này tập trung vào mô hình phân tán dữ liệu trong tính toán Client/Server và các dạng khác nhau của mô hình này. 9 Luận văn tốt nghiệp Nguyễn Văn Duy Mô hình phân tán truy nhập dữ liệu nêu trên là dạng sử dụng chung nhất của mô hình phân tán Client/Server. Đó là dạng phân tán Client/Server dùng với phần mềm cơ sở dữ liệu, trong đó cơ sở dữ liệu ứng dụng dùng nhiều bộ xử lý. Mô hình phân tán truy nhập dữ liệu có thể được phân rã để rõ cách tổ chức liên kết các thành phần trong quá trình xử lý dữ liệu. Phần này sẽ giới thiệu cách thức để cấu hình hoá ba thành phần chung cho tất cả các ứng dụng cơ sở dữ liệu sau đây: • Các thành phần của quá trình ứng dụng. • Thành phần phần mềm cơ sở dữ liệu. • Cơ sở dữ liệu. 1.1. Cấu hình cơ sở dữ liệu Client/Server Các mô hình xử lý cơ sở dữ liệu khác nhau tuỳ thuộc vào nơi đặt các thể hiện của ba phạm trù thành phần trên. Phần này lần lượt xét năm mô hình kiến trúc; tất cả đều dựa trên cấu hình phân tán truy nhập dữ liệu của tính toán Client/Server: • Mô hình cơ sở dữ liệu tập trung. • Mô hình cơ sở dữ liệu dùng máy chủ file. • Mô hình xử lý lấy dữ liệu từ cơ sở dữ liệu. • Mô hình cơ sở dữ liệu Client/Server. • Mô hình cơ sở dữ liệu phân tán. Năm mô hình này có thể dùng hỗn hợp để tạo nên cấu hình ứng dụng cơ sở dữ liệu đa dạng. 1.1.1. Mô hình cơ sở dữ liệu tập trung Trong mô hình tập trung, các thành phần ứng dụng, phần mềm cơ sở dữ liệu và bản thân cơ sở dữ liệu đều trên cùng bộ xử lý. 10 Luận văn tốt nghiệp Nguyễn Văn Duy Chẳng hạn người dùng máy cá nhân có thể chạy chương trình ứng dụng với phần mềm ORACLE để truy nhập cơ sở dữ liệu trên đĩa cứng trong máy. Do các thành phần ứng dụng, phần mềm cơ sở dữ liệu và cơ sở dữ liệu trên cùng máy, ứng dụng này phù hợp với mô hình tập trung. Nhiều quá trình xử lý thông tin của các tổ chức lớn vẫn theo mô hình xử lý tập trung, chẳng hạn bộ xử lý mainframe chạy phần mềm IMS hay DB2 của IBM có thể cho phép các trạm đầu cuối khai thác với độ phân tán rộng. Tuy nhiên trong nhiều hệ thống như vậy, cả ba thành phần của ứng dụng cơ sở dữ liệu khai thác cùng trên mainframe. 1.1.2. Mô hình cơ sở dữ liệu dùng máy chủ file Mô hình máy chủ file đặt các thành phần ứng dụng và phần mềm cơ sở dữ liệu trên một hệ thống tính toán, và các file vật lí dùng để chứa cơ sở dữ liệu đặt trên hệ thống tính toán khác. Cấu hình như vậy thường được dùng trong môi trường mạng cục bộ, trong đó một máy giữ file dữ liệu để các máy khác truy nhập. Trong môi trường máy chủ file, phần mềm mạng sẽ tạo điều kiện để mỗi máy người dùng sẽ có cảm giác như máy chủ file chỉ dùng cho riêng mình. Mô hình máy chủ file tương tự như mô hình tập trung: file cơ sở dữ liệu đặt trên máy khác với thành phần ứng dụng và phần mềm cơ sở dữ liệu; tất nhiên các thành phần ứng dụng và phần mềm cơ sở dữ liệu có thể được thiết kế như đã thao tác trong môi trường tập trung. Thực tế phần mềm mạng đã tạo nên môi trường mà những phần mềm ứng dụng và phần 11 Ứng dụng Phần mềm cơ sở dữ liệu Cơ sở dữ liệu Titi Toto Hình 1. Mô hình cơ sở dữ liệu tập trung. Luận văn tốt nghiệp Nguyễn Văn Duy mềm cơ sở dữ liệu luôn cảm thấy như đang làm việc với cơ sở dữ liệu tập trung. Môi trường như vậy có thể phức tạp hơn mô hình tập trung vì phần mềm mạng có cơ chế xử lý tương tranh, cho phép nhiều người dùng cùng truy nhập đồng thời một dữ liệu. 1.1.3. Mô hình xử lý trích dữ liệu Một dạng của cơ sở dữ liệu từ xa có thể dùng phần mềm cơ sở dữ liệu để rút, trích dữ liệu. Người ta dùng thuật ngữ xử lý trích dữ liệu (database extract processing). 12 Ứng dụng Mạng truyền thông Server Cơ sở dữ liệu Phần mềm cơ sở dữ liệu Hình 2. Mô hình cơ sở dữ liệu máy chủ file. Ứng dụng Mạng truyền thông Máy Server Cơ sở dữ liệu Phần mềm cơ sở dữ liệu Cơ sở dữ liệu Ứng dụng Phần mềm cơ sở dữ liệu Hình 3. Mô hình rút dữ liệu. Luận văn tốt nghiệp Nguyễn Văn Duy Với mô hình này người ta có các cơ sở dữ liệu trên các máy nối mạng. Một máy dùng phần mềm cơ sở dữ liệu để truy nhập máy kia và rút dữ liệu cần thiết. Kết quả chuyển về máy yêu cầu, trên đĩa cứng của máy này. Người dùng sử dụng bản sao tại chỗ của dữ liệu. Bằng tiếp cận này, người dùng cần biết nơi cất dữ liệu và cách truy nhập cơ sở dữ liệu ở xa, cũng như bảo trì cơ sở dữ liệu. Phần mềm ứng dụng phụ trợ cần đặt trên cả hai hệ thống tính toán để truy nhập dữ liệu và chuyển dữ liệu giữa hai hệ thống. Tuy nhiên phần mềm cơ sở dữ liệu chạy trên hai máy không cần báo trước những truy nhập từ xa, do hai máy hoạt động độc lập. 1.1.4. Mô hình cơ sở dữ liệu Client/Server Trong mô hình cơ sở dữ liệu Client/Server thực sự mô tả trong hình vẽ, cơ sở dữ liệu đặt trên một máy tính; các máy khác chạy các thành phần xử lí ứng dụng. Nhưng phần mềm cơ sở dữ liệu được tách ra trên các máy Client, cho phép chạy các chương trình ứng dụng và hệ thống Server lưu trữ cơ sở dữ liệu. 13 Ứng dụng Mạng truyền thông Máy Server Cơ sở dữ liệu Phần mềm cơ sở dữ liệu Phần mềm cơ sở dữ liệu Máy Client Hình 4. Mô hình cơ sở dữ liệu Client/Server. Luận văn tốt nghiệp Nguyễn Văn Duy Các thành phần xử lí ứng dụng của hệ thống Client trong mô hình này yêu cầu phần mềm cơ sở dữ liệu cục bộ. Thành phần phần mềm cơ sở dữ liệu cục bộ trong máy Client liên lạc với phần mềm cơ sở dữ liệu phụ chạy trên máy Server. Phần mềm cơ sở dữ liệu máy Server truy nhập cơ sở dữ liệu và chuyển kết quả về máy Client. Thoạt nhìn mô hình cơ sở dữ liệu Client/Server tương tự như mô hình máy chủ file. Thế nhưng mô hình Client/Server có ưu điểm so với mô hình kia. Với mô hình máy chủ file, thông tin liên kết với mỗi lần truy nhập cơ sở dữ liệu vật lí cần đi theo mạng. Thao tác cơ sở dữ liệu yêu cầu nhiều truy nhập có thể gây tắc nghẽn mạng. Giả sử người dùng yêu cầu dữ liệu tổng, yêu cầu này đòi hỏi phần tử dữ liệu từ 100 bản ghi cơ sở dữ liệu. Theo cách tiếp cận máy chủ file, tất cả 100 bản ghi chạy qua mạng. Lí do là phần mềm cơ sở dữ liệu chạy trên máy người dùng cần truy nhập và kiểm tra từng bản ghi có đáp ứng điều kiện không. Còn theo tiếp cận cơ sở dữ liệu Client/Server, chỉ một câu hỏi và kết quả cuối cùng đi trên mạng. Phần mềm cơ sở dữ liệu thao tác trên máy tính có cơ sở dữ liệu và có khả năng thực hiện yêu cầu rồi cho kết quả. Người ta phân biệt phần mềm phía trước, tuyến trước và phần mềm ở phía sau, tuyến sau: (a) Phần mềm tuyến trước: Mô hình cơ sở dữ liệu Client/Server thường dùng phần mềm gọi là phần mềm làm trước, phần mềm làm sau. Phần mềm tuyến trước đặc trưng ở chỗ chạy trên máy cá nhân hay trạm làm việc tại chỗ và đáp ứng nhu cầu tính toán cho các cá nhân khác. Điển hình là phần mềm này giữ vai trò Client trong ứng dụng cơ sở dữ liệu Client/Server và thực hiện chức năng hướng về nhu cầu người dùng. Nhìn chung phần mềm tuyến trước thuộc về một trong những phạm trù sau: • Phần mềm cơ sở dữ liệu cho người dùng. • Phần mềm lập báo cáo và hỏi đơn giản. • Phần mềm phân tích dữ liệu. • Các công cụ phát triển ứng dụng. • Các công cụ quản trị cơ sở dữ liệu. 14 Luận văn tốt nghiệp Nguyễn Văn Duy (b) Phần mềm tuyến sau: Phần mềm này gồm phần mềm cơ sở dữ liệu Client/Server và phần mềm mạng chạy trên máy tính dùng làm máy Server cơ sở dữ liệu. 1.1.5. Mô hình cơ sở dữ liệu phân tán Mô hình máy chủ file và mô hình cơ sở dữ liệu Client/Server đều giả thiết cơ sở dữ liệu đặt trên một bộ xử lý và chương trình ứng dụng truy nhập cơ sở dữ liệu được đặt trên bộ xử lý khác. Mô hình phân tán thực sự giả thiết bản thân cơ sở dữ liệu nằm trên nhiều máy, tức là nhiều hệ thống xử lí. Phần tiếp theo sẽ mô tả các cơ chế dùng trong hệ thống cơ sở dữ liệu phân tán. Rồi sẽ là các mô hình kiến trúc khác nhau để xây dựng môi trường cơ sở dữ liệu phân tán. 1.2. Cơ chế phân tán dữ liệu 15 Ứng dụng Mạng truyền thông Máy Server Cơ sở dữ liệu Phần mềm cơ sở dữ liệu Phần mềm cơ sở dữ liệu Máy Server Cơ sở dữ liệu Phần mềm cơ sở dữ liệu Hình 5. Mô hình cơ sở dữ liệu phân tán. [...]... DRDA nêu trên để truy nhập cơ sở dữ liệu từ xa cho liệu chương trình truy nhập cơ sở dữ liệu Phầntrên máy sở dữ liệu xa Hai mức đơn mềm cơ tính đơn hỗ trợ truy nhập tiếp theo đây cho phép chương trình truy nhập cơ sở dữ Phần mềm cơ nhiều máy liệu phân tán trênsở dữ liệu tính ở xa Hai tiếp cận xử lí cơ sở dữ liệu phân tán có thể lập nên cấu hình được mô tả như trong hình vẽ sau: Mạng truy n thông Máy Server... cung cấp có thể dùng API của cơ sở dữ liệu hiện có và ngôn ngữ truy nhập dữ liệu người dùng đang sử dụng Môi trường cũng có thể dùng phần mềm cơ sở dữ liệu đã có tuy nó chưa đáp ứng được với cơ sở dữ liệu phân tán Nhà cung cấp có thể thiết kế phần mềm cổng để chương trình viết theo API của phần mềm cơ sở dữ liệu khác truy nhập được phần mềm cơ 22 Luận văn tốt nghiệp Nguyễn Văn Duy sở dữ liệu của họ Tuy... thành phần chạy trên các máy lưu bản sao Hàm này có thể chạy thường kì hay đột xuất tuỳ theo yêu cầu hội nhập trong cơ sở dữ liệu cụ thể Phần mềm cơ sở dữ liệu có thể đảm bảo các cơ chế đồng bộ hoá đa dạng Người thiết kế cơ sở dữ liệu hay quản trị cơ sở dữ liệu có thể xác định cơ chế đồng bộ dùng trên cơ sở dữ liệu hay trên vài bản sao Tất nhiên dù với hàm đồng bộ hoá nào, không cơ sở dữ liệu phân tán... mềm cơ sở dữ liệu phân tán 36 Luận văn tốt nghiệp Nguyễn Văn Duy Những phần được giới thiệu trên ngoài ra còn các hệ thống cơ sở dữ liệu phân cấp, mạng hay quan hệ, cơ sở dữ liệu suy diễn Đó là cơ sở dữ liệu xử lý các dữ liệu cùng tri thức Trong nghiên cứu cơ bản và các ứng dụng, người ta cần truy nhập không chỉ một cơ sở dữ liệu mà nhiều cơ sở dữ liệu, có các kiểu khác nhau Việc truy nhập cơ sở dữ liệu. .. thâu tóm Thành phần cơ sở dữ liệu trong máy ở xa không cần biết trước về truy nhập cơ sở dữ liệu phân tán Yêu cầu về dữ liệu được chuyển đến phần mềm cơ sở dữ liệu trong máy tính ở xa theo chức năng Server truy n thông Server truy n thông đối với phần mềm cơ sở dữ liệu được coi như chương trình ứng dụng bình thường chạy trên máy ở xa Phần mềm cơ sở dữ liệu chạy trên máy ở xa có thể thiết lập và giải... phân tán Các tiếp cận như kiến trúc cơ sở dữ liệu quan hệ phân tán DRDA, truy nhập cơ sở dữ liệu phân tán RDA là hai tiếp cận truy nhập cơ sở dữ liệu từ xa đã chuẩn hoá giao thức truy nhập cơ sở dữ liệu DRDA xác định bốn mức truy nhập cơ sở dữ liệu từ xa Các kiểu yêu cầu từ xa và đơn vị công tác ở xa khi truy nhập cơ sở dữ liệu phân tán cho phép truy nhập cơ sở dữ liệu đơn Còn đơn vị công tác phân tán... hỏi hỗ trợ tối thiểu từ phần mềm cơ sở dữ liệu của bốn tiếp cận cơ sở dữ liệu Client/Server do DRDA xác định Nó cho phép phần mềm cơ sở dữ liệu không thiết kế chuyên để truy nhập cơ sở dữ liệu từ xa vẫn dùng được trong môi trường phân tán Cơ sở dữ liệu Phần mềm cơ sở dữ liệu Client truy n thông Mạng truy n thông Server truy n thông Máy Server Chương trình ứng dụng Máy Client Hình 10 Cấu hình yêu cầu... mô hình giao thức truy nhập cơ sở dữ liệu Với mô hình cổng, máy Client dùng một API cơ sở dữ liệu để nối với máy cổng Cổng này truy nhập tiện nghi của cơ sở dữ liệu tại máy Server cơ sở dữ liệu; tại đó phần mềm cơ sở dữ liệu máy Server có API 35 Luận văn tốt nghiệp Nguyễn Văn Duy khác Chức năng cổng dịch yêu cầu mà chương trình ứng dụng cần thực hiện sang yêu cầu mà phần mềm cơ sở dữ liệu hiểu được Với... bộ cơ sở dữ liệu hay nếu dùng kĩ thuật phân đoạn thì người ta có thể sao chép một phần cơ sở dữ liệu Để phân biệt khác nhau giữa trích dữ liệu và sao dữ liệu, người ta xét chi tiết về kĩ thuật này 1.2.4 Trích dữ liệu Trích dữ liệu được dùng trong nhiều hoàn cảnh, khi cần phân tán các bản sao cơ sở dữ liệu trên nhiều nơi Một trích đoạn dữ liệu có thể là bảo sao toàn bộ cơ sở dữ liệu, hay chỉ là kết... phần mềm cơ sở dữ liệu có thể được thiết kế để khôi phục sau sự cố tại máy tính cục bộ, máy ở xa hay trên mạng truy n thông Do toàn bộ cơ sở dữ liệu được đặt trên một máy tính, các chức năng quản trị một giao tác cần cho việc khôi phục và xử lí quay lui là đơn giản Giao thức khẳng định khoá hai pha không yêu cầu cài đặt mức truy nhập cơ sở dữ liệu này 2.5.1.3 Cấu hình cơ sở dữ liệu phân tán Cơ sở dữ phép