Xem mẫu

  1. Luận văn tốt nghiệp Nguyễn Văn Duy Luận văn: “Truy nhập cơ sở dữ liệu trên mạng trong môi trường mạng Internet và Intranet” 6
  2. 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. 7
  3. Luận văn tốt nghiệp Nguyễn Văn Duy 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à:  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 8
  4. Luận văn tốt nghiệp Nguyễn Văn Duy 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. 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. 9
  5. 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 10
  6. Luận văn tốt nghiệp Nguyễn Văn Duy 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. 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 11
  7. Luận văn tốt nghiệp Nguyễn Văn Duy 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ý. Ứng dụng Titi Phần mềm cơ sở dữ liệu Cơ sở dữ liệu Toto Hình 1. Mô hình cơ sở dữ liệu tập trung. 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. 12
  8. Luận văn tốt nghiệp Nguyễn Văn Duy 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 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. Cơ sở dữ liệu Ứng dụng Server Mạng truyền thông Phần mềm cơ sở dữ liệu Hình 2. Mô hình cơ sở dữ liệu máy chủ file. 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). Cơ sở dữ liệu Ứng dụng Máy Server Mạng truyền thông Ứng dụng 13 Phần mềm cơ sở dữ liệu
  9. 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. Cơ sở dữ liệu Ứng dụng Mạng truyền thông Máy Server Phần mềm cơ sở dữ liệu Phần mềm cơ sở dữ liệu Máy Client 14 Hình 4. Mô hình cơ sở dữ liệu Client/Server.
  10. 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. 15
  11. Luận văn tốt nghiệp Nguyễn Văn Duy  Các công cụ quản trị cơ sở dữ liệu. (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í. Cơ sở dữ liệu Máy Server Ứng dụng Mạng truyền thông Phần mềm cơ sở dữ liệu Cơ sở dữ liệu Máy Server Phần mềm 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. 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. 16
  12. Luận văn tốt nghiệp Nguyễn Văn Duy 1.2. Cơ chế phân tán dữ liệu Có ba tiếp cận chính về cơ chế phân tán, dùng để quản lý truy nhập cơ sở dữ liệu; đó là cơ chế tập trung, phân đoạn, và sao chép cơ sở dữ liệu. 1.2.1 Tập trung Tiếp cận tập trung được dùng với mô hình tập trung vừa trình bày, trong đó cơ sở dữ liệu không hoàn toàn theo phân bố vật lí. Người ta bảo quản toàn bộ cơ sở dữ liệu trên một máy tính Server tại trung tâm, và các thành phần Client chạy trên các máy tính khác để truy nhập máy Server. Bản thân cơ sở dữ liệu là tập trung dù việc khai thác được tổ chức phân tán. Với nhiều môi trường làm việc, tiếp cận tập trung là thích hợp. Nó cho phép tất cả các thao tác cập nhật cơ sở dữ liệu được thực hiện tại chỗ và không cần nhiều bản sao dữ liệu. Tuy nhiên máy Server trong tiếp cận này trở nên điểm hay mắc lỗi trong hệ thống. Nếu rủi ro xảy ra tại máy Server, không ai có thể truy nhập nó. 1.2.2. Phân đoạn Theo kiểu phân đoạn, một số bản ghi cơ sở dữ liệu được ghi trên một máy tính, và một số bản ghi khác được ghi trên các máy tính còn lại. Tuy nhiên theo cách này không phần dữ liệu nào lại ghi ở nhiều chỗ; do vậy cho phép cơ chế cập nhật trở nên đơn giản hơn. Người ta dùng nhiều loại phân đoạn dữ liệu, thông thường có thể kể ra gồm:  Tất cả các bảng đối với bất kỳ cơ sở dữ liệu nào cũng có thể ghi ở một chỗ; cơ sở dữ liệu khác nhau ghi tại nơi khác nhau. Tất cả các cơ sở dữ liệu có thể được xử lí bằng cùng phần mềm cơ sở dữ liệu.  Các bảng khác nhau của cùng một cơ sở dữ liệu có thể được ghi tại nhiều nơi khác nhau.  Các phần tử dữ liệu tạo nên bảng quan hệ có thể được phân tách, hoặc theo dòng hoặc theo cột. Người ta dễ dàng phát hiện ra phần mềm cơ sở dữ liệu tại những nơi đặt dữ liệu. Bản thân phần mềm cơ sở dữ liệu có thể lưu trữ tất cả thông tin 17
  13. Luận văn tốt nghiệp Nguyễn Văn Duy liên quan đến vị trí của dữ liệu, hoặc người ta dùng dịch vụ thư mục toàn mạng để giúp phần mềm cơ sở dữ liệu định vị những phần khác nhau của cơ sở dữ liệu. 1.2.3. Bảo sao dữ liệu và trích dữ liệu Với tiếp cận phân đoạn hay tập trung, không có một bản sao dữ liệu nào trong cơ sở dữ liệu. Mỗi dữ liệu được ghi chỉ ở một nơi. Hai tiếp cận phụ dùng để tạo nên nhiều bản sao của toàn bộ hay một phần dữ liệu được dùng dưới dạng kĩ thuật sau:  Trích dữ liệu. Bản sao cơ sở dữ liệu được gọi là trích (extract) khi bản sao được dùng với phép đọc. Các giá trị phần tử dữ liệu trích ra không phục vụ cho mục đích cập nhật.  Bảo sao dữ liệu. Bản sao cơ sở dữ liệu được gọi là sao (replica) khi giá trị phần tử dữ liệu sao chép dùng được cho mục đích cập nhật. Khi đó giá trị mới sẽ được cập nhật trong toàn cơ sở dữ liệu, tức trên cả bản sao khác. Nhờ kĩ thuật trích và sao dữ liệu, các giá trị dữ liệu của cơ sở dữ liệu được ghi tại nhiều nơi khác nhau; người ta có thể nâng tính sẵn sàng, giảm tỉ lệ mất dữ liệu do sai sót và tăng hiệu suất. Tuy nhiên đó lại là nguy cơ mất bền vững dữ liệu. Có thể sao chép toàn 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 hợp các đoạn riêng. Các kiểu trích đa dạng trên dữ liệu có thể khác nhau tuỳ theo cơ chế cho phép chương trình ứng dụng quyết định tính thời sự của thông tin. Phần trích dữ liệu có thể không kèm thông tin về thời gian của nó, hoặc nó mang luôn thông tin về thời gian, tổng kiểm tra để phục vụ cho việc đồng bộ quá trình chung. 1.2.5. Bản sao dữ liệu 18
  14. Luận văn tốt nghiệp Nguyễn Văn Duy Bảo sao dữ liệu tương tự như trích dữ liệu, trừ việc bản sao cho phép cập nhật. Với bản sao, phần mềm cơ sở dữ liệu cần đảm bảo các phần tử dữ liệu giữ được đồng bộ với các giá trị khác trong cơ sở dữ liệu chính. Vì có nhiều bản sao giá trị phần tử dữ liệu cho nên phải khẳng định được việc cập nhật tiến hành đồng thời trên tất cả các bản sao. Nhiều cơ chế đã hội nhập các bản sao lại. Như vậy một khi bản sao thay đổi, chỉ một nó được cập nhật. Các giá trị phần tử dữ liệu được cập nhật trong bản sao này được di về cơ sở dữ liệu chính. Trong trường hợp khác, phép cập nhật tiến hành với cơ sở dữ liệu chính cũng như với các bản sao. Phần mềm cơ sở dữ liệu có thể được thiết kế để lan truyền các thay đổi đã thực hiện trên bản sao tới các bản sao khác và tới cơ sở dữ liệu một cách nhanh nhất. Theo một vài lược đồ, bản sao được thiết kế như một bản sao chính (master replica), còn các bản sao khác được gọi là bản sao phụ (secondary replica). Phép toán cập nhật cơ sở dữ liệu được coi là hoàn thành khi mà bản sao chính đã được cập nhật. Thành phần phần mềm cơ sở dữ liệu ứng với bản sao chính có trách nhiệm truyền tất cả những cập nhật tới các bản sao phụ sau một khoảng thời gian. Lược đồ khác dùng hàm hội nhập (convergence funtion) để đồng bộ hoá bản sao của cơ sở dữ liệu và khẳng định lại tại cơ sở dữ liệu chính. Hàm hội nhập là hàm phân tán, có các 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 nào đạt được hoàn toàn đồng bộ tại mọi thời điểm. 1.3. Cập nhật cơ sở dữ liệu có bản sao Khi tất cả các phần của cơ sở dữ liệu có bản sao thì cơ chế dùng để hội nhập các bản sao có thể hạn chế theo kiểu cập nhật áp dụng với cơ sở dữ liệu. Trong môi trường có nhiều bản sao, loại cập nhật đơn giản nhất đối với hàm hội nhập có các đặc tính sau: 19
  15. Luận văn tốt nghiệp Nguyễn Văn Duy  Toàn bộ. Cập nhật được gọi là toàn bộ khi nó dùng để bổ sung phần tử dữ liệu mà không để ý đến bất kỳ cập nhật đã thực hiện với cập nhật này.  Như cũ. Cập nhật có tính chất như cũ (idempotent) gây cùng một tác dụng trên cơ sở dữ liệu không lệ thuộc vào nhiều lần áp dụng.  Giao hoán. Một dãy cập nhật là giao hoán nếu kết quả không phụ thuộc vào thứ tự áp dụng từng phép cập nhật. Đặc tính cập nhật như cũ và toàn bộ được thể hiện qua một số nhất định các kiểu phép toán. Chẳng hạn thay thế giá trị phần tử dữ liệu cũ bằng giá trị mới là toàn bộ và như cũ; còn cập nhật tăng hay giảm giá trị thì không. Với cập nhật theo kiểu toàn bộ hay như cũ, phần mềm cơ sở dữ liệu không cần cơ chế đảm bảo thực hiện chỉ một lần phép cập nhật. Chỉ cần đảm bảo ít nhất thực hiện một lần; đó là vấn đề đơn giản. Một dãy các cập nhật có thể giao hoán nếu dùng đánh dấu thời gian. Tất cả những cập nhật có thể gắn với thời điểm cập nhật để người ta sắp xếp lịch thực hiện. Phép cập nhật toàn bộ, như cũ và giao hoán là các phép dễ quản lý nhất nhờ thuật toán hội nhập. Nếu phần mềm cơ sở dữ liệu cho phép người dùng thực hiện cập nhật dữ liệu mà thiếu các tính chất này thì cần sử dụng cơ chế phức tạp để hội nhập. 1.4. Nhạy cảm về vị trí Một mục đích của phần mềm cơ sở dữ liệu phân tán là cho phép người dùng và các chương trình ứng dụng độc lập hoàn toàn về vị trí lưu trữ dữ liệu. Người dùng có thể yêu cầu dữ liệu rồi chương trình ứng dụng truy nhập đến dữ liệu mà không để ý đến nơi lưu trữ dữ liệu. Tuy khó đảm bảo được tính hoàn toàn trong suốt trong hệ thống. Cho đến khi đạt đến độ trong suốt về các đối tượng, phần mềm cơ sở dữ liệu cần tuân theo các ràng buộc về cách thức phân đoạn, sao chép và loại hình cập nhật dữ liệu. 1.5. Kết luận về cấu hình cơ sở dữ liệu Client/Server Mô hình phân tán truy nhập dữ liệu là dạng phân tán Client/Server đặc biệt sử dụng để hợp nhất các phần mềm cơ sở dữ liệu Client/Server. Trong mô hình phân tán truy nhập dữ liệu, ba loại thành phần quan trọng gồm các thành phần xử lí ứng dụng, thành phần phần mềm cơ sở dữ liệu, và cơ sở dữ liệu. Các thành phần này có thể kết hợp với nhau theo nhiều 20
  16. Luận văn tốt nghiệp Nguyễn Văn Duy cách để hình thành mô hình cơ sở dữ liệu tập trung, mô hình cơ sở dữ liệu máy chủ file, mô hình xử lí trích dữ liệu, mô hình cơ sở dữ liệu Client/Server và mô hình cơ sở dữ liệu phân tán. Với tiếp cận tập trung, toàn bộ cơ sở dữ liệu lưu tại một chỗ và chỉ phân tán với việc truy nhập dữ liệu. Với tiếp cận phân đoạn, các phần của dữ liệu được lưu tại nhiều nơi để tăng hiệu quả sử dụng. Một đích quan trọng của phần mềm cơ sở dữ liệu phân tán là đảm bảo chương trình người dùng độc lập với vị trí của dữ liệu. Phần tiếp sau đây sẽ xét các kiến trúc khác nhau để phát triển tiện nghi khi truy nhập cơ sở dữ liệu từ xa và truy nhập cơ sở dữ liệu phân tán theo phần mềm cơ sở dữ liệu. 2. Kiến trúc phần mềm cơ sở dữ liệu phân tán Thực hiện hệ thống cơ sở dữ liệu phân tán có thể đơn giản hay phức tạp. Trong môi trường đồng nhất, các kiểu hệ thống tính toán làm việc trên cơ sở dữ liệu được điều khiển chặt. Do vậy không mấy vất vả. Một vài lược đồ phân tán cơ sở dữ liệu được thiết kế trên nền tảng cụ thể, gồm phần cứng, hệ thống điều hành và phần mềm mạng cân xứng. Chẳng hạn có hệ thống dùng toàn máy cá nhân dựa trên vi xử lý Intel, với hệ thống điều hành của Microsoft, hệ điều hành mạng Novell. Do vậy người thiết kế cơ sở dữ liệu phân tán chuyên tâm vào phần mềm cho môi trường đồng nhất, các chức năng đơn giản. Bên cạnh đó, các môi trường không đồng nhất về phần cứng, phần mềm đòi hỏi người ta có những cố gắng nhiều hơn. Người ta có thể dùng hệ thống điều hành Apple, IBM, Microsoft, UNIX với vi xử lí Intel, Motorola... Nhiều giao thức truyền thông đa dạng như TCP/IP, SNA của IBM, IPX/SPX của NetWere... Chức năng thực hiện của phần mềm cơ sở dữ liệu phân tán trong môi trường không đồng nhất cần phức tạp hơn nhiều. Để tiện tạo nên môi trường cơ sở dữ liệu phân tán không đồng nhất, người ta dùng ba mô hình kiến trúc phần mềm sau:  Mô hình cổng.  Mô hình giao diện chuẩn. 21
  17. Luận văn tốt nghiệp Nguyễn Văn Duy  Mô hình giao thức chuẩn. 2.1. Mô hình cổng Mỗi hệ thống con về phần mềm cơ sở dữ liệu được thiết kế để dùng giao diện chương trình ứng dụng API cụ thể. Các chương trình ứng dụng muốn sử dụng dịch vụ của phần mềm cơ sở dữ liệu biết được. Tiện nghi truy nhập người dùng do nhà cung cấp phần mềm cơ sở dữ liệu giới thiệu có thể thay thế chương trình ứng dụng trong môi trường mà người ta truy nhập trực tiếp các tiện nghi phần mềm cơ sở dữ liệu. Mô hình cổng trong cơ sở dữ liệu phân tán cho phép chương trình viết theo API của cơ sở dữ liệu đã biết để yêu cầu dịch vụ của phần mềm cơ sở dữ liệu; phần mềm này trợ giúp cho API khác. Mô hình cổng dựa vào thành phần cổng để thực hiện giao ước từ một API này đến API khác. Phần mềm cơ sở dữ liệu Cơ sở dữ liệu Giao diện API của cơ sở dữ liệu Giao diện API của cơ sở dữ liệu Phương tiện hỏi và lập báo cáo Hình 6. Mô hình cổng. Thí dụ: Người ta viết chương trình ứng dụng để truy nhập cơ sở dữ liệu ORACLE. Nó truy nhập cổng và cổng này chuyển từ API ORACLE sang API của cơ sở dữ liệu DB2. Cổng này truy nhập phần mềm cơ sở dữ liệu DB2 với tư cách Client. Thực tế thì cổng đã đánh lừa cả chương trình ứng dụng lẫn phần mềm cơ sở dữ liệu. Chương trình ứng dụng nghĩ rằng nó khai thác cơ sở dữ liệu ORACLE, còn phần mềm cơ sở dữ liệu DB2 tưởng rằng nó đang phục vụ chương trình ứng dụng DB2. Cơ sở dữ liệu DB2 Phần mềm cơ sở dữ liệu DB2 Giao diện API của ORACLE 22 Giao diện API của ORACLE
  18. Luận văn tốt nghiệp Nguyễn Văn Duy Với kiến trúc truy nhập cơ sở dữ liệu cổng, chương trình ứng dụng dùng một API. Thành phần phần mềm phân biệt gọi là cổng sẽ chuyển chương trình từ API này sang API khác để phần mềm cơ sở dữ liệu trên API khác có thể hiểu chương trình này. Kiến trúc cổng có thể hỗ trợ bất kì cấu hình cơ sở dữ liệu phân tán nào. Trong trường hợp đơn giản, chương trình ứng dụng, thành phần cổng, và phần mềm cơ sở dữ liệu đều được đặt trên cùng một máy tính. Còn với trường hợp phức tạp, các thành phần đó nằm trên nhiều máy khác nhau. Trong môi trường phân tán, các thành phần Client truyền thông và Server truyền thông để truyền dữ liệu trên nhiều máy tính. Với tiếp cận cổng trong hệ thống phân tán, nhà cung cấp có thể viết phần mềm cổng và các thành phần Client truyền thông, Server truyền thông. Các thành phần cổng cần được cắt may cho phù hợp với API của cơ sở dữ liệu cụ thể, và nhiều người cũng thấy được ưu điểm của chúng và tìm mua. Client truyền thông và Server truyền thông cần trợ giúp cơ chế truyền thông cụ thể và trợ giúp cho cả giao thức truyền thông. Trong mô hình cổng người ta thường để cùng một người thiết kế thành phần cổng và Client truyền thông, Server truyền thông. Sở dĩ như vậy là do chưa có chuẩn quản lí các giao diện, dịch vụ và chức năng trong môi trường này. Nhà 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ơ 23
  19. Luận văn tốt nghiệp Nguyễn Văn Duy sở dữ liệu của họ. Tuy nhiên người ta thường viết phần mềm cho riêng sản phẩm của họ và chỉ có phần mềm này mới hoàn toàn phù hợp. Nhiều nhà cung cấp cơ sở dữ liệu phân tán đang dùng mô hình cổng, do mô hình này đơn giản nhất so với các mô hình khác. Tuy vậy, nếu cài đặt tuân theo mô hình cổng để truy nhập cơ sở dữ liệu phân tán, người ta có thể bị gắn sâu vào một tiếp cận của nhà cung cấp. Cơ sở dữ liệu DB2 Server truyền thông Phần mềm cơ sở dữ liệu DB2 Client truyền thông Giao diện API của ORACLE Cổng ORACLE/DB2 Giao diện API của ORACLE Giao diện API của DB2 Chương trình ứng dụng ORACLE Server truyền thông Giao diện API của DB2 Client truyền thông Hình 8. Truy nhập cơ sở dữ liệu DB2 qua ORACLE. 2.2. Mô hình giao diện chuẩn Giống như mô hình cổng, mô hình giao diện chuẩn được thiết kế để chương trình ứng dụng viết theo API của cơ sở dữ liệu yêu cầu dịch vụ của phần mềm cơ sở dữ liệu dùng tại API. Phần mềm chạy trên máy Server được gọi là nguồn dữ liệu. Nguồn này gồm phần mềm cơ sở dữ liệu và phần mềm máy Server truyền thông. Phần mềm chạy trên máy Client có nhiều thành phần thiết bị thiết kế cho giao diện với nguồn dữ liệu cụ thể. 24
  20. Luận văn tốt nghiệp Nguyễn Văn Duy Phần mềm trên máy Client có thành phần quản trị thiết bị; thành phần này thực hiện hai giao diện sau:  Giao diện dịch vụ. Đây là API mà các thiết bị sử dụng để lập giao diện với quản trị thiết bị. Nhà phân phối phần mềm viết thiết bị cho phù hợp với giao diện dịch vụ để phần mềm cơ sở dữ liệu của họ giao tiếp được với quản trị thiết bị.  Giao diện chương trình ứng dụng. Đây là API mà chương trình ứng dụng dùng để yêu cầu dịch vụ cơ sở dữ liệu. Do sự phụ thuộc vào thiết bị và quản trị thiết bị, mô hình giao diện đôi khi được gọi là mô hình thiết bị. Mô hình giao diện chuẩn có nhiều điểm tương tự như mô hình cổng. Khác nhau chính ở chỗ mô hình này phụ thuộc vào API chuẩn mà tất cả các cơ sở dữ liệu đều dùng. Người ta phát triển ứng dụng cơ sở dữ liệu muốn tham gia vào môi trường mô hình giao diện chuẩn cần phải viết chương trình theo API chuẩn hoặc sử dụng phần mềm chuyển API riêng sang API chuẩn. 2.3. Liên kết cơ sở dữ liệu mở của Microsoft Để mô hình thiết bị hữu dụng trong môi trường không đồng nhất, nhiều tổ chức đủ mạnh cần tạo và thông báo về API yêu cầu và chuẩn giao diện thiết bị. Ngoài ra số lớn người dùng và nhà cung cấp phần mềm cơ sở dữ liệu cần cam kết tham gia chuẩn này. Trên môi trường máy cá nhân, Microsoft là tổ chức như vậy. Hãng này đã xây dựng chuẩn giao diện cơ sở dữ liệu gọi là liên kết cơ sở dữ liệu mở ODBC (open database connectivity); giao diện này phù hợp với mô hình giao diện chuẩn. Một số nhà cung cấp phần mềm cơ sở dữ liệu cho thị trường máy cá nhân đã tạo thiết bị ODBC cho các bộ phần mềm của họ, và ODBC đã trở thành chuẩn truy nhập cơ sở dữ liệu phân tán được công nhận cho dịch vụ môi trường máy cá nhân. Những nhà phát triển ứng dụng lợi dụng tiếp cận ODBC cho cơ sở dữ liệu phân tán bằng cách phát triển ứng dụng cơ sở dữ liệu mà không quan tâm đến nguồn dữ liệu chuyên dụng sẽ dùng. Ứng dụng này sẽ làm việc trên thiết bị của nhà phân phối và trên bất kì nguồn dữ liệu tương thích nhằm thực hiện kiến trúc ODBC. Những nhà phân phối phần mềm làm như vậy vì họ chỉ cần cung cấp phần mềm thiết bị phù hợp với những thứ mà họ đã cam kết cung cấp. 25
nguon tai.lieu . vn