Phần 1 tổng qua về hệ cơ sở dữ liệu phân tán

5 843 0
Phần 1 tổng qua về hệ cơ sở dữ liệu phân tán

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

Thông tin tài liệu

phần I tổng quan về hệ sở dữ liệu phân tán I. Giới thiệu chung. Định nghĩa: Hệ CSDL phân tán là một tập hợp dữ liệuvề mặt logic tập dữ liệu này thuộc về một hệ thống, nhng đợc trải trên các vị trí khác nhau và chúng thể kết nối với nhau thông qua một mạng thông tin dữ liệu. hai điểm quan trọng đợc nêu ra trong định nghĩa là: - Phân tán: Dữ liệu không c trú trên một vị trí, mà đợc phân bố rộng khắp trên nhiều máy tính đặt tại nhiều vị trí khác nhau. - Tơng quan logic: Dữ liệu một số các thuộc tính ràng buộc chúng với nhau, điều này giúp chúng ta thể phân biệt một CSDL phân tán với một tập hợp CSDL cục bộ, các tệp c trú tại các vị trí khác nhau, hay hệ thống CSDL phân quyền trong một mạng máy tính. Hệ thống mạng thông tin cho phép ngời dùng chia sẻ dữ liệu, vì vậy ngời sử dụng hoặc ứng dụng ở vị trí A đều thể truy cập hay cập nhật dữ liệu tại vị trí B. Các vị trí của một hệ thống phân tán thể trải rộng trên một khu vực lớn (toàn thế giới) hoặc một phạm vi hẹp (toà nhà). Cũng nh vậy máy tính ở các vị trí phân tán thể là bất cứ loại nào, từ micro-computer cho đến supercomputer. II. Các đặc điểm chính của hệ phân tán. Hệ phân tán các đặc điểm: 1. Chia xẻ tài nguyên. Thuật ngữ tài nguyên dùng để chỉ tất cả mọi thứ thể chia xẻ bởi Hệ phân tán, bao gồm các thiết bị phần cứng: Đĩa, máy in . tới các đối tợng nh file, các cửa sổ, CSDL và các đối tợng dữ liệu khác. Việc chia xẻ tài nguyên trên hệ phân tán - nơi mà các tài nguyên bị lệ thuộc về mặt vật lý với một máy tính nào đó - đợc thực hiện thông qua truyền thông. Để chia xẻ tài nguyên một cách hiệu quả mỗi tài nguyên cần phải đ ợc quản lý bởi một chơng trình giao diện truyền thông, các tài nguyên thể đợc truy nhập, cập nhật một cách tin cậy và nhất quán. Quản lý tài nguyên ở đây là lập kế hoạch dự phòng, đặt tên cho các lớp tài nguyên, cho phép tài nguyên đợc truy nhập từ nơi khác, ánh xạ tên tài nguyên vào địa chỉ truyền thông . Mô hình mạng máy tính thờng đợc sử dụng là: Mô hình xử lý Client-Server. Mô hình xử lý Client-Server: Là một mô hình trong đó việc xử lý hợp tác đối với các yêu cầu của Client nêu ra với máy Server. Máy Server tiến hành xử lý và gửi trả kết quả về cho Client. Việc xử lý hợp tác Client-Server thực tế là một dạng riêng của xử lý phân tán với tài nguyên (và nhiệm vụ ảnh h - ởng tới tài nguyên) đợc trải qua hai hay nhiều hệ thống tính toán rời rạc. Mô hình xử lý Client-Server đã nổi lên nh một mức cao hơn của việc xử lý dùng chung thiết bị đã trong mang cục bộ (LAN). Trong môi trờng xử lý dùng chung thiết bị, các máy tính cá nhân (PC) đợc gắn với thiết bị hệ thống để cho phép các PC này dùng chung tài nguyên tệp trên đĩa cứng và máy in là các thí dụ tiêu biểu. Theo thuật ngữ LAN, các thiết bị dùng chung nh vậy đợc gọi là các Server (phục vụ). Tên phục vụ là thích hợp hơn cả vì các thiết bị dùng chung này dùng để nhận các yêu cầu cần phục vụ từ các PC. Trong xử lý dùng chung thiết bị trên LAN, các yêu cầu của PC này thờng bị giới hạn về các dịch vụ liên quan tới tệp dùng chung hay tệp xử lý in. Nhợc điểm hiển nhiên của cách tiếp cận nh vậy là ở chỗ mọi xử lý ứng dụng đều đợc thực hiện trên các PC riêng lẻ, và chỉ một chức năng nào đó (in, vào ra tệp) mới là phân tán. Do đó, toàn bộ tệp phải đợc gửi cho một PC đã ban ra yêu cầu READ tệp đó. Nếu tệp đợc cập nhật thì toàn bộ tệp đó bị khoá bởi PC đã tạo ra yêu cầu cập nhật tệp đó. Chính vì các lý do trên mà mô hình xử lý Client-Server là việc mở rộng tự nhiên của việc dùng chung thiết bị và vai trò của các trạm làm việc trở thành khách của máy chủ. Phần ý nghĩa nhất của mô hình này là xử lý ứng dụng đợc phân chia (không nhất thiết phải chia đều) giữa Client và Server. Xử lý thực tế đợc khởi đầu và kiểm soát một phần bởi nơi yêu cầu dịch vụ là Client nhng không phải theo kiểu chủ-khách. Thay vì điều đó, cả Client và Server đều hợp tác để thực hiện thành công ứng dụng. Chẳng hạn nếu PC chạy chơng trình cần một bản ghi đặc biệt nào đó từ một tệp dùng chung thì nó sẽ chuyển yêu cầu cho Server CSDL tiến hàng xử lý cục bộ rồi nhận lại đúng bản ghi đã yêu cầu. Nh vậy về mặt kiến trúc xử lý Client-Server cho thấy: - Đờng liên lạc tin cậy, chắc chắn giữa Client và Server. - Các trờng hợp tơng tác Client-Server do Client khởi xớng. - Phân tán xử lý ứng dụng giữa Client và Server. - Server kiểm soát các dịch vụ mà Client yêu cầu. - Server làm trọng tài cho các yêu cầu tranh chấp. Với Hệ CSDL phân tán, mô hình Client-Server các u điểm: - Các công ty lợi dụng đợc công nghệ tính toán của PC. PC ngày nay cung cấp một năng lực tính toán đáng kể (mà trớc đây chỉ các máy tính lớn mới đợc) nhng lại với một giá thành nhỏ. - Cho phép xử lý đợc thực hiện tại gần nguồn dữ liệu cần xử lý (các CSDL trên Server). Do đó lu lợng và thời gian đáp ứng của mạng giảm đi rất nhiều, hiệu năng và khả năng chuyển tải của mạng đợc tăng lên. - Tạo điều kiện cho việc dùng giao diện đồ hoạ (GUI) sẵn trên các trạm làm việc hiện có. - Cho phép và hỗ trợ hệ thống mở: Client và Server thể chạy trên các nền phần cứng và phần mềm khác nhau. Tuy nhiên không phải là mô hình Client-Server đã hoàn chỉnh, nó vẫn còn các nhợc điểm sau đây: - Nếu khá nhiều thành phần logic của ứng dụng đợc chuyển về Server thì Server sẽ trở thành cổ chai y nh máy tính lớn (main frame) mô hình thiết bị đầu cuối. Các tài nguyên hạn chế của Server sẽ ở trạng thái bị đòi hỏi làm việc ở mức cao hơn do việc tăng số ngời tiêu thụ tài nguyên (End User). - Các ứng dụng phân tán, đặc biệt là những ứng dụng đợc thiết kế cho xử lý hợp tác thờng phức tạp hơn các ứng dụng không phân tán. Tuy nhiên thể giảm bớt độ phức tạp bằng cách thu nhỏ vấn đề lớn thành một tập hợp vấn đề nhỏ hơn, thể đợc tính độc lập nhau, tơng tự nh trong hệ thiết kế đơn thể. 2. Tính mở. Tính mở của một hệ thống máy tính là tính dễ dàng mở rộng phần cứng (thêm các thiết bị ngoại vi, bộ nhớ, các giao diện truyền thông . ) và phần mềm (Các mô hình hệ điều hành, các giao thức truyên thông, các dịch vụ dùng chung tài nguyên .) của nó. Một Hệ phân tán tính mở là hệ thể đợc tạo nên từ nhiều loại phần cứng và phần mềm của nhiều nhà cung cấp khác nhau với điều kiện là các thành phần này phải theo một tiêu chuẩn chung. Tính mở của Hệ phân tán đợc xem xét theo mức độ bổ sung vào các dịch vụ dùng chung tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại. Tính mở đợc hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính của một hệ và làm cho nó tơng thích với các nhà phát triển phần mềm (hay các giao diện chính là phổ dụng). Tính mở của Hệ phân tán dựa trên việc cung cấp chế truyền thông giữa các tiến trình và công khai các giao diện dùng để truy nhập các tài nguyên chung. 3. Khả năng song song. Hệ phân tán hoạt động trên một mạng truyền thông nhiều máy tính, mỗi máy tính thể một hay nhiều CPU. Trong cùng một thời điểm nếu N tiến trình cùng tồn tại, ta nói chúng đợc thực hiện đồng thời. Việc thực hiện các tiến trình theo chế phân chia thời gian (một CPU) hay song song (nhiều CPU). Khả năng làm việc song song trong Hệ phân tán đợc thực hiện do hai tình huống sau: - Nhiều ngời sử dụng đồng thời đa ra các lệnh hay tơng tác với các chơng trình ứng dụng. - Nhiều tiến trình Server chạy đồng thời, mỗi tiến trình đáp ứng yêu cầu từ các tiến trình Client. 4. Khả năng mở rộng. Hệ phân tán khả năng hoạt động tốt và hiệu quả ở nhiền mức khác nhau. Một Hệ phân tán nhỏ nhất thể hoạt động chỉ cần hai trạm làm việc và một File Server. Các hệ lớn hơn thì gồm hàng nghìn máy, nhiều File Server, Printer Server. Khả năng mở rộng của một hệ phân tán đặc trng bởi tính không thay đổi phần mềm hệ thống và phần mềm ứng dụng khi hệ đợc mở rộng. Điều này chỉ đạt ở mức độ nào đó đối với các Hệ phân tán hiện tại. Yêu cầu cho việc mở rộng không chỉ là sự mở rộng về phần cứng hay về mạng mà nó trải rộng trên tất cả các khía cạnh khi thiết kế hệ phân tán. Một ví dụ đơn giản là tần suất sử dụng một file lớn tơng đơng với việc tăng thêm số ngời sử dụng trên mạng. Để tránh tình trạng tắc nghẽn xảy ra khi chỉ một Server đáp ứng các yêu cầu truy nhập file đó, ngời ta nhân bản file đó trên một vài Server và hệ thống đợc thiết kế sao cho việc thêm Server dễ dàng. Một số giải pháp khác là sử dụng Cache và các bản sao dữ liệu. 5. Khả năng chịu lỗi. Việc thiết kế khả năng chịu lỗi của các hệ thống máy tính dựa trên hai giải pháp sau: - Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả. - Dùng các chơng trình phục hồi dữ liệu, thông tin khi xảy ra sự cố. Để xây dựng một hệ thống thể khắc phục sự cố theo cách thứ nhất thì ngời ta nối hai máy tính với nhau để thực hiện một chơng trình, một trong hai máy chạy ở chế độ Standby (không tải hay chờ). Giải pháp này khá tốn kém vì phải nhân đôi phân cứng của hệ thống. Một giải pháp để giảm phí tổn là các Server riêng lẻ đ ợc cung cấp các ứng dụng quan trọng để thể thay thế nhau khi sự cố xuất hiện. Khi không sự cố các Server hoạt động bình th ờng (nghĩa là vẫn phục vụ các yêu cầu từ Client). Khi sự cố trên một Server nào đó, các ứng dụng Client tự chuyển h- ớng sang các Server còn lại. Với cách thứ hai thì các phần mềm phục hồi đợc thiết kế sao cho trạng thái dữ liệu hiện thời (trạng thái trớc khi xảy ra sự cố) thể đợc khôi phục khi lỗi đợc phát hiện. Các hệ phân tán cung cấp khả năng sẵn sàng cao để đối phó với các sai hỏng phần cứng. Khả năng sẵn sàng của hệ thống đợc đo bằng tỷ lệ thời gian mà hệ thống sẵn sàng làm việc so với thời gian sự cố. Khi một máy trên mạng bị sai hỏng thì chỉ công việc liên quan đến các thành phần sai hỏng bị ảnh h ởng. Ngời sử dụng thể chuyển đến một trạm khác nếu máy họ đang sử dụng bị hỏng, một tiến trình Server thể đợc khởi động lại trên một máy khác. 6. Tính trong suốt. Tính trong suốt của hệ phân tán đợc hiểu nh là sự che khuất đi các thành phần riêng biệt của hệ đối với ngời sử dụng và những ngời lập trình ứng dụng. Ngời sử dụng quyền truy cập đến dữ liệu nằm tại bất cứ vị trí nào. Các thao tác để lấy hoặc cập nhật dữ liệu tại một điểm dữ liệu ở xa đợc tự động thực hiện bởi hệ thống tại điểm đa ra yêu cầu. Ngời sử dụng không cần biết đến sự phân tán của tất cả dữ liệu trên mạng dờng nh nằm ở máy tính cục bộ của ngời sử dụng. III. Các lí do sử dụng CSDL phân tán. Tuy việc quản trị một hệ thống CSDL phân tán gặp nhiều khó khăn hơn so với hệ CSDL tập trung nh ng xu hớng xây dựng các hệ CSDL phân tán ngày càng phát triển và nhiều ứng dụng trong thực tế vì các nguyên nhân sau: 1. Xuất phát từ chính yêu cầu thực tế về tổ chức và kinh tế. Trên thực tế nhiều tổ chức là không tập trung, dữ liệu ngày càng lớn và phục vụ cho đa ngời dùng nằm phân tán vì vậy CSDL phân tán là con đờng thích hợp với cấu trúc tự nhiên của các tổ chức đó. Đây là một trong các yếu tố quan trọng thúc đẩy việc phát triển CSDL phân tán. Một ví dụ minh hoạ cho vấn đề này là hệ thống bán máy bay thống nhất trên toàn thế giới. Mỗi hãng hàng không một hệ CSDL riêng, sự quản lý riêng và không thể lý do nào để CSDL này tập trung ở một chỗ đợc. Tuy vậy các hãng hàng không lại quan hệ với nhau trong việc bán hành khách cho những tuyến đờng thuộc phạm vi quản lý của nhiều hãng. Do vậy hệ thống dữ liệu về chuyến bay của các hãng hàng không chính là một hệ CSDL phân tán đợc quản lý thống nhất tại trung tâm điều khiển bay đặt tại một địa điểm nào đó. 2. Sự liên kết các CSDL đang tồn tại. CSDL phân tán là giải pháp tự nhiên khi các CSDL đang tồn tại và sự cần thiết thực hiện xây dựng một ứng dụng toàn cục. Trong trờng hợp này CSDL phân tán đợc tạo từ dới lên (bottom-up) từ các CSDL đã tồn tại trớc đó. Tiến trình này thể đòi hỏi cấu trúc lại cục bộ ở một mức độ nhất định. sao, những sửa đổi này là nhỏ hơn rất nhiều so với việc tạo lập một CSDL tập trung hoàn toàn mới. 3. Sự phát triển mở rộng. Các tổ chức thể mở rộng bằng cách thêm các đơn vị mới, vừa tính tự trị vừa quan hệ t ơng đối với các tổ chức khác. Khi đó CSDL phân tán hỗ trợ một sự mở rộng uyển chuyển với một mức độ ảnh hởng tối thiểu tới các đơn vị đang tồn tại. Với CSDL tập trung, cũng thể khởi tạo kích thớc lớn cho việc mở rộng trong tơng lai. Điều đó rất khó tiên định và chịu một phí tổn lớn, mặt khác sự mở rộng này ảnh hởng lớn không chỉ trên các ứng dụng mới mà còn trên các ứng dụng đang tồn tại. 4. Làm giảm tổng chi phí tìm kiếm. Việc phân tán dữ liệu cho phép các nhóm làm việc cục bộ thể kiểm soát toàn bộ dữ liệu của họ. Tuy vậy tại cùng thời điểm, ngời sử dụng thể truy cập đến dữ liệu ở xa nếu cần thiết. Tại các vị trí cục bộ, thiết bị phần cứng thể đợc chọn sao cho phù hợp với công việc xử lý dữ liệu cục bộ tại điểm đó. 5. Trả lời truy vấn nhanh. Dựa trên cách thức dữ liệu đợc phân tán, hầu hết các yêu cầu truy vấn dữ liệu từ ngời dùng tại bất kỳ vị trí cục bộ nào đều đợc thoả mãn bởi dữ liệu ngay tại thời điểm đó. Điều này làm tăng đáng kể tiến trình xử lý các yêu cầu truy vấn dữ liệu của ngời dùng. Hệ thống CSDL phân tán còn cho phép các bảng truy vấn phức tạp thể chia thành nhiều bảng nhỏ để thể thực hiện tiến trình xử lý song song cùng lúc trên nhiều vị trí cục bộ khác nhau. Kỹ thuật này cũng nâng cao tốc độ xử lý dữ liệu trên hệ thống. 6. Độ tin cậy và khả năng sử dụng đợc nâng cao. Khi hệ thống CSDL tập trung bị hỏng, toàn bộ CSDL trở nên vô dụng với tất cả ngời sử dụng. Còn đối với hệ thống CSDL phân tán, nếu một thành phần nào đó của hệ thống bị hỏng, hệ thống vẫn thể duy trì hoạt động tuy nhiên cũng không thể hiệu quả nh khi nó còn hoàn hảo. sao, việc thu đợc mục đích này không phải không rắc rối và đòi hỏi sử dụng các kỹ thuật vẫn cha đợc hiểu biết hoàn chỉnh. Khả năng xử lý tự trị của các vị trí khác nhau tự nó không đảm bảo một tính tin cậy toàn bộ cao của hệ thống, nhng nó đảm bảo một thuộc tính graceful degration. Nói một cách khác, sự cố trong CSDL phân tán thể thờng xuyên hơn một CSDL tập trung vì số lợng thành phần lớn hơn, nhng hậu quả của sự cố đợc hạn chế chỉ tới các ứng dụng sử dụng dữ liệu của vị trí sự cố, đổ vỡ hoàn toàn của hệ thống là điều hiếm xảy ra. 7. Giá thành truyền thông thấp hơn. Với CSDL phân tán, dữ liệu thể đặt gần nơi nó đợc sử dụng nhiều nhất. Đặc điểm này đã làm giảm chi phí chuyền tải dữ liệu rất lớn so với hệ CSDL tập trung. IV. Hạn chế của CSDL phân tán. Hệ thống CSDL phân tán bên cạnh những u điểm nh trên cũng những mặt hạn chế nh sau: - Giá thành và sự phức tạp của phần mềm: Các phần mềm sử dụng trong môi trờng CSDL phân tán rất phức tạp, đặc biệt là phần mềm sử dụng cho việc quản trị môi trờng CSDL phân tán. - Khó khăn trong tiến trình kết nối các vị trí dữ liệu cục bộ: Các vị trí cục bộ phải trao đổi thông điệp với nhau và thực hiện thêm các tính toán phức tạp để đảm bảo sự kết nối đúng đắn giữa các vị trí đó. - Sự toàn vẹn dữ liệu: Một sản phẩm mang nhiều tính phức tạp sẽ làm gia tăng khả năng xáo trộn trong việc bảo đảm tính toàn vẹn dữ liệu. - Tốc độ truy cập sẽ trở nên rất chậm: Nếu dữ liệu không đợc phân tán theo đúng yêu cầu sử dụng hoặc các bảng truy vấn đợc thiết lập không đúng đắn thì việc tìm kiếm và xử lý dữ liệu sẽ rất chậm. . phần I tổng quan về hệ cơ sở dữ liệu phân tán I. Giới thiệu chung. Định nghĩa: Hệ CSDL phân tán là một tập hợp dữ liệu mà về mặt logic tập dữ liệu. chính của hệ phân tán. Hệ phân tán có các đặc điểm: 1. Chia xẻ tài nguyên. Thuật ngữ tài nguyên dùng để chỉ tất cả mọi thứ có thể chia xẻ bởi Hệ phân tán, bao

Ngày đăng: 03/10/2013, 09:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan