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

Hệ thống quản lý siêu thị với CSDL phân tán

48 1K 12

Đ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

Định dạng
Số trang 48
Dung lượng 1,18 MB

Nội dung

Các CSDL thuộc mô hìnhphân cấp và mô hình cơ sở dữ liệu quan hệ không giải quyết được các bài toán trongmôi trường mới không tập trung mà phân tán, song song với các dữ liệu và hệ thốngk

Trang 1

MỤC LỤC

LỜI CẢM ƠN 2

Chương 1 ĐẶT VẤN ĐỀ 3

Chương 2 HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN 4

2.1 Giới thtiệu 4

2.2 Khái niệm 4

2.3 Quá trình phát triển các kiến trúc của hệ thống phân tán 5

2.4 Các đặc tính của hệ thống phân tán 11

2.5 Ưu và khuyết điểm của hệ thống phân tán 17

3.2 Phân mảnh ngang 21

Chương 4 ỨNG DỤNG XÂY DỰNG HỆ THỐNG 30

QUẢN LÝ SIÊU THỊ 30

4.1 Đặt vấn đề: 30

4.2 Phân tích hệ thống 31

Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 47

5.2 Hướng phát triển 47

Trang 2

LỜI CẢM ƠN

Lời đầu tiên tôi xin chân thành cám ơn thầy PGS.TS Đỗ Phúc đã giảng dạy cho em những kiến thức quan trọng của môn Cơ sở dữ liệu nâng cao và đã hướng dẫn em hoàn thành được đồ án môn học này

Tôi chân thành cảm ơn các thầy cô các anh chị và các bạn học viên trong lớp đã tạo cho tôi những điều kiện thuận lợi để học tập và nghiên cứu tại trường đại học Công Nghệ Thông Tin.

Cuối cùng, tôi muốn gửi lời cảm ơn vô hạn tới gia đình, bạn bè luôn bên cạnh và động viên cũng như tạo những điều kiện tốt nhất cho tôi trong suốt quá trình học tập và nghiên cứu tại trường Đại học Công Nghệ Thông Tin.

Học viên

Lê Nhựt Trường

Trang 3

Chương 1 ĐẶT VẤN ĐỀ

Ngày nay, chúng ta đang sống trong thế kỷ bùng nổ về khoa học công nghệ màđặc biệt là sự phát triển vượt bậc về công nghệ tông tin Công nghệ thông tin và việcứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trongnhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưutrữ ngày một tích luỹ nhiều lên Bên cạnh đó, các thiết bị thu thập dữ liệu tự động tươngđối phát triển đã tạo ra những kho dữ liệu khổng lồ, như các dữ liệu ngân hàng, hàngkhông, giáo dục… Cùng với việc phân bố ngày càng rộng rãi của các công ty, xínghiệp, dữ liệu bài toán là rất lớn và không tập trung được Các CSDL thuộc mô hìnhphân cấp và mô hình cơ sở dữ liệu quan hệ không giải quyết được các bài toán trongmôi trường mới không tập trung mà phân tán, song song với các dữ liệu và hệ thốngkhông thuần nhất, thế hệ tiếp theo của hệ quản trị CSDL ra đời vào những năm 80 trong

đó có CSDL phân tán để đáp ứng những nhu cầu mới

Trang 4

Chương 2 HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN 2.1 Giới thtiệu

Quá trình sử dụng máy tính của con người xuất phát từ nhu cầu tính toán dữ liệuvới số lượng lớn và độ phức tạp cao, theo đó là thời gian xử lý phải nhanh chóng vàhiệu quả tốt Theo thời gian, chức năng cơ bản này của các máy vi tính trở nên quá phổthông, các nhà khoa học máy tính lại nhắm đến một thế hệ điện toán mới có khả năngtương tác và trao đổi thông tin với mọi hệ thống máy tính khác trên thế giới thông quamột môi trường network cụ thể Giải pháp ban đầu được gọi là hệ thống tập trung(Centralized Systems), tức một máy tính duy nhất với 1 hoặc nhiều CPU đảm nhận việc

xử lý tất cả các request đến từ các máy client Tuy nhiên, thực tế đã chứng minh môhình này không hiệu quả vì nhiều nguyên nhân, trong đó quan trọng nhất là độ phân rãcủa hệ thống và chi phí bảo trì cao, tính tin cậy thấp Từ đó, giải pháp thứ hai ra đờimang tên hệ thống phân tán (Distributed Systems) Thay vì chỉ sử dụng một máy tínhvới cấu hình mạnh, hệ thống lần này được triển khai với nhiều máy tính được đặt rải rác

ở khắp nơi trong các vùng hoặc quốc gia nào đó và chúng giao tiếp với nhau thông quamột mạng phổ biến (Common Network) Tính bền vững, phân tán và đôi khi khôngđồng nhất này mang lại hiệu quả ngoài mong đợi cho các ứng dụng công nghệ thông tin

và trở thành mô hình tương tác dữ liệu phổ biến nhất hiện nay trên thế giới Ta hãy bắtđầu với khái niệm hệ thống phân tán

2.2 Khái niệm

Hệ thống phân tán là một tập hợp các máy tính tự trị (Autonomous Computers)liên kết với nhau thông qua một network và được cài đặt chung một phần mềm chuyêndụng phục vụ cho việc giao tiếp giữa chúng (Distributed System Software) Hệ thốngphân tán là mô hình mang tính đối lập hoàn toàn với hệ thống tập trung thời kì đầu xử

lý request chỉ bằng một máy tính Nó cho phép các máy tính trong mạng phối hợp hoạtđộng và chia sẻ tài nguyên hệ thống với nhau Một hệ thống phân tán được xây dựng tốt

Trang 5

sẽ cung cấp một môi trường tương tác mang tính đơn thể và đa tích hợp với người dùng

dù thực sự ứng dụng mà người dùng sử dụng đang tham chiếu cùng lúc đến nhiều máychủ được đặt ở khắp nơi trên thế giới Nói một cách tổng quát, các phần mềm này cungcấp tính phân tán trong suốt (Distributing Transparency) cho hệ thống mạng của chúngta

2.3 Quá trình phát triển các kiến trúc của hệ thống phân tán

Cuối những năm 70 đầu những năm 80, khái niệm hệ thống phân tán lúc bấy giờđược hiểu là xử lý phân tán (Distributed Processing), nghĩa là một kĩ thuật xử lý cóchức năng nhận một request, sau đó chia nhỏ nó thành các tác vụ con (Subtasks) và xử

lý chúng thông qua nhiều máy tính Mỗi một vùng có số lượng máy tính khác nhau, mỗimáy sẽ kết nối với một máy chủ trung tâm thông qua đường dây điện thoại Cách nhaumột khoảng thời gian nhất định, các máy con này sẽ gửi thông tin (ví dụ thông tin bánhàng của các chi nhánh rải rác trên thế giới) về máy chủ trung tâm Trong khoảng thờigian này, hệ thống phân tán có mối liên hệ mật thiết với các kiến trúc hình sao (Star),thứ bậc (Hierarchical) và kiến trúc vòng (Ring)

Hình 2.1 Kiến trúc hình sao

Trang 6

Hình 2.2 Kiến trúc thứ bậc (hay còn gọi là cấu trúc cây phân cấp)

Trang 7

2.3.1 Một hệ thống có chức năng phân tán

Nghĩa là nó có khả năng xử lý hoàn tất một giao dịch với các hàm thành phầnđược phân tán tại các máy con Nó cài đặt các thiết bị đầu cuối hoặc trình điều khiểnthông minh ở các máy con để xử lý việc biên tập và định dạng các thông điệp, thu thập

dữ liệu, bảo mật và cuối cùng là đóng gói tất cả thành một khối để gửi về máy chủ trungtâm

2.3.2 Hệ thống điều khiển tập trung

Là một tập hợp các máy tính ngoại vi, mỗi máy đều có khả năng hoàn tất xử lýnhững tác vụ cụ thể và có vai trò tương đương với một máy con thuộc quyền quản lýcủa máy chủ trung tâm trong hệ thống Máy chủ này đóng vai trò đầu não, mọi hoạtđộng của các máy con đều do nó trực tiếp điều hành và nó cũng là cầu nối trao đổi dữliệu giữa các máy con đó

2.3.3 Hệ thống tích hợp

Tập hợp các hệ thống riêng biệt có thiết kế dữ liệu chuẩn được tích hợp ngaytrong các tầng khác nhau của những hệ thống đó

2.3.4 Hệ thống phi tích hợp

Đơn thuần là các hệ thống độc lập kết nối với nhau qua mạng

Nửa cuối những năm 80, khái niệm và kiến trúc của hệ thống phân tán bắt đầu cónhững thay đổi đáng kể Ý tưởng hệ thống phân tán lúc này là các hệ thống máy chủnằm rải rác không phân biệt khoảng cách địa lý hợp tác với nhau trong việc truyền tải

dữ liệu và có tính độc lập nền tảng, không cần quan tâm đến các phần mềm chuyêndụng phù hợp với hệ điều hành đang chạy trên các máy chủ đó Dữ liệu truyền đi giữa

Trang 8

chúng sẽ được quy định theo một chuẩn chung nhất Lúc bấy giờ xuất hiện bốn cấu trúcphân tán mới:

- Các máy tính cá nhân cùng kết nối đến ứng dụng chạy trên máy chủ mainframe,sau đó tiến hành trao đổi dữ liệu qua lại với nhau

Hình 2.4 Mô hình kết nối các máy PC với máy chủ

- Các máy tính cá nhân kết nối với máy chủ Mainframe thông qua một máy trunggian Cấp độ xử lý dữ liệu của chúng được tổ chức theo kiến trúc cây phân cấp, cànggần về gốc, các máy tính thuộc nhánh tương ứng sẽ phải có năng lực xử lý cao hơn,đảm nhận các tác vụ quan trọng và số lượng dữ liệu thao tác lớn hơn Những máy PCđộc lập sẽ truyền dữ liệu và cấu hình data dự phòng đến các máy trung gian, sau đómáy trung gian sẽ truyền dữ liệu về máy chủ Mainframe, nơi các tác vụ cấp cao nhất sẽđược thực thi

Trang 9

Hình 2.5 Mô hình kết nối máy chủ thông qua máy trung gian

- Hệ thống mang tính kết nối ngang hàng Tính phụ thuộc và quan hệ của chúngkhác nhau Không tồn tại điểm xử lý trung tâm (Central Point) trong kiến trúc này

Hình 2.6 Mô hình hệ thống mang tính kết nối ngang hàng

- Kiến trúc cuối cùng khá giống kiến trúc thứ hai, điểm khác biệt ở đây là các máy

PC thay vì tách biệt nay kết nối với nhau

Trang 10

Hình 2.7 Mô hình hệ thống phân tán

Mô hình hệ thống phân tán bước sang một trang khác vào cuối năm 1980 Kiếntrúc của hệ thống tại thời kì này được tổ chức như sau: các site bản thân chúng chứamột hoặc nhiều phần mềm chuyên dụng cho phép người dùng truy xuất tài nguyên hệthống của site đó

Hình 2.8 Truy xuất tài nguyên qua hệ thống

Sau này, hệ thống phân tán có bước tiến vượt bật về cấu trúc Nó trở nên linh hoạtkhi cho phép sử dụng chỉ một phần mềm chuyên dụng duy nhất và phân tán các chứcnăng của phần mềm đó cho các máy trong mạng triệu gọi Đây là kiến trúc của các hệthống phân tán ngày nay, nó chứa các máy tính tự trị liên kết với nhau qua mạng, phần

Trang 11

mềm sử dụng trong mạng được chia ra làm nhiều thành phần và bố trí tại các site khácnhau.

Hình 2.9 Hệ thống phân tán ngày nay

2.4 Các đặc tính của hệ thống phân tán

Một hệ thống phân tán chứa đựng 6 đặc tính chính sau: chia sẻ tài nguyên (Resource Sharing), mang tính mở (Openness), linh động trong lưu trữ và xử lý (Scalability), duy trì hoạt động của hệ thống khi xảy ra lỗi (Fault Tolerance), xử lý cạnh tranh (Concurrency Control) và tính trong suốt (Transparency) Những đặc tính này

không phải được tạo dựng qua loa mà là kết quả của một quá trình nghiên cứu và thiết

kế tinh tế, lâu dài

2.4.1 Chia sẻ tài nguyên

Tài nguyên cung cấp bởi một máy tính thành viên trong hệ thống phân tán có thểđược chia sẻ với các máy client và các máy tính thành viên khác thông qua mộtnetwork Để tiến trình chia sẻ diễn ra tốt đẹp và hiệu quả, mỗi một tài nguyên phải đượcquản lý bởi một phần mềm có giao diện cho phép các máy client tùy biến các tài

nguyên đó gọi là Hệ quản lý tài nguyên hệ thống Cơ chế hoạt động của phần mềm này

dựa trên các tập giao thức và phương thức được xây dựng sẵn

2.4.2 Tính mở

Trang 12

Quyết định khuynh hướng mở rộng của hệ thống Đặc tính này được tính toán rất

kĩ lưỡng phòng khi xảy ra trường hợp hệ thống vấp phải sự tồn tại của một dịch vụ chia

sẻ tài nguyên khác với chức năng tương tự thì nó vẫn có thể hợp tác với dịch vụ đó mà

hệ thống không rơi vào tình trạng tê liệt (Disruption) hay mâu thuẫn trùng lặp(Duplication) Trái ngược với tính mở là một hệ thống phân tán có tính đóng (ClosedDistributed System) với danh sách các đặc tính cố định, không thể thêm mới Mục đích

là để chống sự phân mảnh, tái tổ chức trong việc chia sẻ những tài nguyên hệ thống vốn

đã được xác lập địa chỉ cấp phát Tính mở có thể được hiểu rõ hơn qua hai khía cạnh:

mở rộng phần cứng – phương pháp thêm một phần cứng từ một hệ thống khác vào hệ thống phân tán và mở rộng phần mềm – phương pháp thêm một phần mềm hoặc module lập trình từ một hệ thống khác vào hệ thống phân tán.

Một hệ thống được xem là có đặc tính mở khi giao diện phần mềm của nó đượcxuất bản, sẵn sàng cung cấp cho cộng đồng các nhà phát triển phần mềm Tiến trình nàykhông bắt buộc phải trải qua giai đoạn chuẩn hóa giao diện Ví dụ: chúng ta có UNIX,một hệ thống mở khá nổi tiếng Tài nguyên trên các hệ thống này được truy xuất thôngqua các lời triệu gọi của hệ thống (System Calls) - tức tập các thủ tục có khả năngtương tác với chương trình và ngôn ngữ khác Hệ thống UNIX có thể giải quyết cácdạng dự liệu mới (phần mềm hoặc phần cứng) bằng cách thêm chúng vào danh sách cácsystem call có hoặc không kèm thông số Những system call này được định nghĩa bởi

một module của UNIX gọi là nhân (KERNEL) Thiết kế của kernel quy định phạm vi

và cấp độ hỗ trợ của UNIX đối với các loại tài nguyên khác nhau được cung cấp chocác ứng dụng Các tài nguyên không thể truy xuất qua các lời gọi của hệ thống sẽ đượcthao tác thông qua truyền thống liên tiến trình Nghĩa là tài nguyên của các hệ thốngkhác nhau về phần cứng và phần mềm vẫn có thể được trao đổi và sử dụng miễn là cớchế truyền thông giữa chúng minh bạch và đúng chuẩn chung

Trang 13

Ví dụ: máy chủ mainframe phải xử lý những yêu cầu từ phía các người dùng, mỗingười dùng lại gửi đi nhiều yêu cầu tại một thời điểm Nếu không có cơ chế xử lý cạnhtranh này thì hiệu suất của hệ thống sẽ giảm đi đáng kể do mỗi yêu cầu sẽ phải đượcthực thi theo thứ tự (First Come First Served).

Phần mềm có cài đặc chức năng này phải đảm bảo rằng các yêu cầu của ngườidùng nhằm truy xuất đến cùng một tài nguyên hệ thống tại cùng mộ thời điểm phảiđược xử lý một cách toàn vẹn, tránh xung đột lẫn nhau có thể dẫn đến treo hệ thống haynhiều hệ lụy khác Các luồng truy cập tài nguyên sẽ được đồng bộ hóa tránh gây ra tìnhtrạng thất lạc thông tin cập nhật dữ liệu (Lost Update), sai lệch dữ liệu (Dirty Read) –một người dùng cập nhật dữ liệu đang được xem bởi người dùng khác tại một thờiđiểm, không thể đọc lại dữ liệu (Unrepeatable Read) – do dữ liệu thay đổi giữa hai lầntruy cập kề nhau

2.4.4 Tính linh động trong lưu trữ và xử lý

Phần mềm cấp ứng dụng hay cấp hệ thống sẽ giữ nguyên trạng thái của chúng khi

có sự thay đổi về kích thước của hệ thống Đặc tính này rất quan trọng vì số lượngrequest đến từ các máy con hoặc client thường có khuynh hướng tăng nhanh thay vìgiảm đi Để giải quyết vấn đề này, giải pháp thường thấy là nâng cấp phần mềm lẫnphần cứng Tuy nhiên điều này không đúng đối với mô hình hệ thống phân tán vì chúngđược thiết kế để có thể tiếp tục xử lý công việc một cách linh hoạt, ngay cả khi công

Trang 14

suất hoạt động đạt tới giới hạn mà không cần bất cứ thay đổi gì về phần cứng lẫn phầnmềm.

2.4.5 Duy trì hoạt động của hệ thống khi xảy ra lỗi

Hệ thống phân tán cung cấp một cơ chế xử lý lỗi có thứ bậc khi những lỗi nàyphát sinh mà không cần phải tắt hoặc tạm ngưng quá trình vận hành của hệ thống Kĩthuật xử lý lỗi càng tốt, tính sẵn sàng (Availability) của hệ thống càng cao, lưu thônggiữa các máy trong hệ thống thông thoáng Để đạt được đặc tính này, có thể thực hiện 2cách Thứ nhất là dự phòng phần cứng nhằm ngăn chặn tình trạng sập hệ thống do phầncứng của máy bị hư hỏng Tuy chi phí khá tốn kém nhưng bù lại hoạt động hệ thốngphần nào được bảo đảm vì luôn có phần cứng thay thế khi lỗi phát sinh

Ví dụ: Một ứng dụng có thể sử dụng 2 máy tính kết nối với nhau, 1 đóng vai tròback-up PC phòng trường hợp máy còn lại mắc lỗi không thể xử lý các yêu cầu gửi đến

từ các máy con và các máy client

Cách thứ hai là thiết kế phần mềm chuyên dụng có chức năng tự khôi phục lạitrạng thái của hệ thống tại thời điểm gần nhất trước đó và ghi nhận lại lỗi phát sinh.Một số trường hợp sẽ không cần thiết phải khôi phục lại toàn bộ hệ thống vì có nhữngtiến trình chưa hoàn tất công việc của nó Giải pháp chỉ khôi phục những vùng bị lỗidựa trên các tập tin log và back-up của server được xem là lựa chọn hiệu quả nhất

2.4.6 Tính trong suốt

Che giấu những thành phần không cần thiết nhằm tạo sự tương tác thuận tiện nhấtgiữa người dùng và người phát triển ứng dụng Đặc tính trong suốt được chia làm 8dạng:

Trang 15

- Truy cập trong suốt (Access Transparency): cho phép các đối tượng kết nối cục

bộ hoặc từ xa truy cập tài nguyên bằng cách sử dụng các thao tác đồng nhất (IdenticalOperations)

- Vị trí trong suốt (Location Transparency): cho phép các đối tượng kết nối truyxuất thông tin mà không cần biết chính xác địa chỉ của hệ thống

Hai dạng này còn được biết đến qua tên gọi hệ thống mạng trong suốt (Network

Ransparency) tương tự cách cung cấp tính nặc danh cho tài nguyên trong mô hình hệthống tập trung

- Xử lý lỗi trong suốt (Concurrency Transparency): cho phép một vài tiến trình sửdụng vùng nhớ chia sẻ để xử lý lỗi mà không ảnh hưởng đến hoạt động của các tiếntrình khác

- Tái tạo trong suốt (Replication Transparency): cho phép nhiều đối tượng thôngtin được dùng để gia tăng độ tin cậy và hiệu năng của hệ thống

- Tình trạng lỗi trong suốt (Failure Transparency): che giấu các đoạn mã lỗi, chophép người dùng và các ứng dụng hoàn thành các tác vụ của họ mặc dù đã có phát sinhlỗi về phần mềm hoặc phần cứng

- Di trú trong suốt (Migration Transparency): cho phép các đối tượng thông tin cóthể di chuyển đến nơi khác trong hệ thống mà không ảnh hưởng đến các tiến trình củangười dùng và ứng dụng

- Thực thi trong suốt (Performance transparency): cho phép hệ thống phân tán cóthể tự động ngầm tái xác lập các thông số cấu hình để cải thiện hiệu năng, cân bằng tảiv.v…

Trang 16

- Giãn nở trong suốt (Scaling Transparency): cho phép hệ thống và ứng dụng mởrộng phạm vi hoạt động mà không cần thay đổi cấu trúc của hệ thống hay thuật toán củaứng dụng.

Ví dụ: Đối với một email dạng abc@.ou.edu.vn, người dùng không cần quan tâmđến địa chỉ vật lý của máy mà họ phải kết nối để gửi thư đến địa chỉ trên hoặc cách thưđược gửi đi như thế nào Địa chỉ và cách thức truy cập của email là ví dụ điển hình cho

mô hình mạng trong suốt (Network Transparency)

Các đặc tính của hệ thống phân tán liên hệ với nhau rất chặt chẽ Chia sẻ tàinguyên đòi hỏi hệ thống phải có tính mở Vì tài nguyên được trao đổi và truy xuất từcác máy trong mạng với phần cứng và phần mềm khác nhau nên nếu không có tính mở,các máy client sẽ không thể sử dụng nguồn tài nguyên đó được vì công nghệ xử lý tàinguyên khác với công nghệ thiết kế của hệ thống Một vấn đề khác là phần cứng vàphần mềm của một đại lý nào đó không tương thích với toàn hệ thống đặc biệt là khi có

sự tồn tại của hệ thống di sản (Legacy Systems) Hệ thống di sản là hệ thống máy tính

đã và đang được dùng trong công ty mặc dù những kỹ thuật máy tính mới đã có vàđược lắp đặt bởi vì thường có một nhu cầu dùng những hệ thống cũ để đảm bảo tínhtương thích (vì những hệ thống mới đôi khi không tương thích với những hệ thống cũ).Thông thường thuật ngữ “hệ thống di sản” chỉ hệ thống máy tính lớn đã có nhưng ngàynay thuật ngữ nầy được dùng trong lĩnh vực rộng hơn

Ví dụ, mạng di sản (cáp đồng trục Ethernet), ngân hàng dữ liệu di sản (ngân hàng

dữ liệu chứa những thông tin có tính lịch sử) và các phần mềm di sản Những phầnmềm di sản vẫn được dùng vì nó là phương tiện duy nhất để truy cập những CSDL disản

Có tính mở sẽ khắc phục được chuyện này, hệ thống sẽ tận dụng triệt để những tàinguyên có thể khai thác được qua các đại lý đó và tránh những xung đột do phần cứng

và phần mềm gây ra một cách linh hoạt nhất Sau cùng là nếu không có tính trong suốt,

Trang 17

người dùng sẽ đối mặt với những thuật toán xử lý vô cùng phức tạp vốn nằm bên dướitầng tương tác của hệ thống Hậu quả là hệ thống sẽ trở nên quá khó để sử dụng và tốnnhiều thời gian cho việc triển khai training đối với người sử dụng, điều này có thể giảm

đi rất nhiều hoặc thậm chí làm sụp đổ hiệu quả của mô hình hệ thống phân tán

2.5 Ưu và khuyết điểm của hệ thống phân tán

Trước hết hãy nói về những ưu điểm mà hệ thống phân tán mang lại

2.5.1 Khả năng chia sẻ (Shareability)

Là chức năng cho phép các máy trong hệ thống sử dụng tài nguyên của nhau.Chức năng này được kích hoạt trong mạng các máy tính liên kết với nhau và hoạt độngdựa trên một phương thức truyền thông phổ biến Internet là một minh chứng điển hìnhcho hệ thống phân tán, mỗi một máy tính muốn truy xuất tài nguyên từ mạng phải đảmbảo điều kiện là đã kết nối và hoạt động trên nên phương thức TCP/IP

2.5.2 Khả năng mở rộng (Expandability)

Là khả năng cho phép hệ thống phân tán kết nạp thêm các đại lý mới Tuy nhiênkhông phải lúc nào tài nguyên của các hệ thống mới cũng được tận dụng trọn vẹn vì cóthể phát sinh lỗi trùng lặp Đôi lúc tình trạng cấp phát thừa tài nguyên vẫn xảy ra do đógiải pháp tối ưu nhất là cấp quyền tự trị cho các máy tính, ra nguyên tắc chỉ thu thậpthêm tài nguyên chia sẻ khi điều đó là thật sự cần thiết

2.5.3 Quyền tự trị cục bộ

Một hệ thống phân bố có toàn quyền quản lý tài nguyên của nó Nói cách khác nótrao quyền tự trị cục bộ cho hệ thống để quản lý tài nguyên Mỗi một hệ thống con cóthể áp đặt các thủ tục, cấu hình và quyền truy cập khác nhau đối với tài nguyên thuộcquyền chủ quản của chúng Điều này làm cho hệ thống phân tán trở thành một mô hình

đa thực thể với mỗi chủ thể là một đối tượng quản lý độc lập Ví dụ: một công ty đa

Trang 18

quốc gia có thể nhiều chi nhánh nằm rải rác khắp nơi trên thế giới Mỗi hệ thống trongmạng của công ty tại một quốc gia nào đó có cách thức quản lý và hoạt động phù hợpvới đặc tính của quốc gia đó.

2.5.4 Cải thiện hiệu năng của hệ thống

Khi càng có nhiều client kết nối tới yêu cầu truy xuất tài nguyên, thời gian đápứng của hệ thống sẽ giảm dần theo tỉ lệ nghịch Một trong những giải pháp duy trì tính

ổn định của thời gian đáp ứng là nâng cấp máy chủ (Upgrading The Host Machine).Thế nhưng kĩ thuật thường được áp dụng là tạo ra các bản sao của tài nguyên đó, cânbằng tải, sau đó cấp phát quyền truy cập cho người dùng đến các bản sao này Mô hình

hệ thống phân tán khá hữu dụng khi tài nguyên nằm rải rác ở các máy con trong mạng,yêu cầu cấp phát sẽ được gửi đến các máy khác nhau thay vì chỉ một máy duy nhất nênquá trình xử lý mang đập đặc tính phân tán và hiệu năng cũng tăng lên Tương tự, sốlượng máy tính trong hệ thống cũng góp phần gia tăng hiệu suất của toàn mạng thườngđược gọi là sức mạnh xử lý bởi vì sự kết hợp nhiều máy tính mang lại lợi thế mà không

hệ thống tập trung nào có được Các máy cấu hình yếu vẫn có thể được nâng cấp bằngcách thay các bộ xử lý đa nhân v.v…

2.5.5 Tăng độ tin cậy và tính sẵn sàng

Hệ thống phân tán vẫn tiếp tục duy trì hoạt động cho dù có phát sinh lỗi Tàinguyên vẫn được cấp phát dù một số có thể không truy cập được do được quản lý bớinhiều máy tính khác nhau đảm bảo nhu cầu sử dụng của người dùng Nếu các tàinguyên đã được sao chép thành nhiều bản sao thì thiệt hại sẽ không nhiều vì yêu cầu sẽđược lái đến địa chỉ khác nơi chứa một bản sao của tài nguyên đó Điều này đảm bảo hệthống luôn ở trạng thái sẵn sàng đáp ứng

Trang 19

2.5.6 Giảm chi phí

Chi phí triển khai, bảo trì sẽ thấp hơn và hiệu quả hơn nhiều so với hệ thống tập

trung Nguyên nhân là chi phí này được trải đều cho các hệ thống con trong mạng dochúng được cấu hình và bảo trì hoàn toàn độc lập với nhau

Ngoài ra hệ thống phân tán còn có các nhược điểm sau:

Độ tin cậy

Do các máy tính thuộc hệ thống phân tán giao tiếp với nhau thông qua một môitrường mạng thống nhất, do đó nếu vấn đề trục trặc về hạ tầng mạng sẽ dẫn đến việc hệthống bị tê liệt đặc biệt là các vần đề về phần cứng như card mạng, router, bridge v.v…Chi phí để phục hồi sau thiệt hại có thể sẽ rất lớn

Phức tạp

Phần mềm sử dụng trong hệ thống phân tán không dễ phát triển Nó phải có khảnăng xử lý những lỗi phát sinh trong quá trình vận hành, đủ mạnh để thao tác với nguồntài nguyên luân chuyển trong môi trường lớn không đồng nhất

Bảo mật

Hệ thống phân tán cho phép các máy con hợp tác và chia sẻ dữ liệu dễ dàng hơn.Điều này có thể dẫn đến rắc rối to nêu không có một cơ chế bảo mật an toàn đúng mức.Những tài nguyên riêng tư sẽ bị phát tán khắp nơi, là lỗ hổng tuyệt vời cho các hackerkhai thác và miếng lợi hấp dẫn đối với những kết nối bất hợp lệ Sự thật là hệ thống tậptrung lại có mức độ bảo mật cao hơn hẳn hệ thống phân tán

Trang 20

Chương 3: THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN

3.1 Các vấn đề thiết kế

3.1.1 Lý do phân mảnh:

Khung nhìn của các ứng dụng thường chỉ là một tập con của quan hệ Vì thế đơn

vị truy xuất không phải là toàn bộ quan hệ nhưng chỉ là các tập con của quan hệ Kếtquả là xem tập con của quan hệ là đơn vị phân tán sẽ là điều thích hợp duy nhất

Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một đơn

vị, sẽ cho phép thực hiện nhiều giao dịch đồng thời Ngoài ra việc phân mảnh các quan

hệ sẽ cho phép thực hiện song song một câu vấn tin bằng cách chia nó ra thành một tậpcác câu vấn tin con hoạt tác trên các mảnh Vì thế việc phân mảnh sẽ làm tăng mức độhoạt động đồng thời và như thế làm tăng lưu lượng hoạt động của hệ thống

Trang 21

Tính tái thiết được (reconstruction).

Nếu một thể hiện quan hệ R được phân rã thành các mảnh R1, R2,…,Rn, thì cầnphải định nghĩa một toán tử quan hệ sao cho R= Ri, Ri Fr Toán tử thay đổi tuỳ∇ ∇ ∈theo từng loại phân mảnh, tuy nhiên điều quan trọng là phải xác định được nó Khảnăng tái thiết một quan hệ từ các mảnh của nó bảo đảm rằng các ràng buộc được địnhnghĩa trên dữ liệu dưới dạng các phụ thuộc sẽ được bảo toàn

Tính tách biệt (disjointness).

Nếu quan hệ R được phân rã ngang thành các mảnh R1, R2,…,Rn, và mục dữ liệu

di nằm trong mảnh Rj, thì nó sẽ không nằm trong mảnh Rk khác ( k≠ j )

Tiêu chuẩn này đảm bảo các mảnh ngang sẽ tách biệt (rời nhau) Nếu quan hệđược phân rã dọc, các thuộc tính khoá chính phải được lặp lại trong mỗi mảnh

Vì thế trong trường hợp phân mảnh dọc, tính tách biệt chỉ được định nghĩa trêncác trường không phải là khoá chính của một quan hệ

Trang 22

3.2.1 Phân mảnh ngang nguyên thuỷ

Phân mảnh ngang nguyên thuỷ được định nghĩa bằng một phép toán chọn trên cácquan hệ chủ nhân của một lược đồ của CSDL Vì thế cho biết quan hệ R, các mảnhngang của R là các Ri:

Ri = σ Fi;(R), 1 ≤ i ≤ z

Trong đó Fi là công thức chọn được sử dụng để có được mảnh Ri Chú ý rằng nếu

Fi có dạng chuẩn hội, nó là một vị từ hội sơ cấp (mj)

Bây giờ chúng ta có thể định nghĩa một mảnh ngang chặt chẽ và rõ ràng hơnMảnh ngang Ri của quan hệ R có chứa tất cả các bộ R thỏa vị từ hội sơ cấp mi Một đặctính quan trọng của các vị từ đơn giản là tính đầy đủ và tính cực tiểu

Tập các vị từ đơn giản Pr được gọi là đầy đủ nếu và chỉ nếu xác suất mỗi ứngdụng truy xuất đến một bộ bất kỳ thuộc về một mảnh hội sơ cấp nào đó được định nghĩatheo Pr đều bằng nhau

Khái niệm đầy đủ gắn chặt với mục tiêu của bài toán Số vị từ phải đầy đủ theoyêu cầu của bài toán chúng ta mới thực hiện được những vấn đề đặt ra của bài toán.Khái niệm cực tiểu liên quan đến vấn đề tối ưu của bộ nhớ, tối ưu của các thao tác trêntập các câu vấn tin Vậy khi cho trước một tập vị từ Pr để xét tính cực tiểu chúng ta cóthể kiểm tra bằng cách vứt bỏ những vị từ thừa để có tập vị từ Pr’ là cực tiểu và tứcnhiên Pr’ cũng là tập đầy đủ với Pr Thuật toán COM_MIN: Cho phép tìm tập các vị từđầy đủ và cực tiểu Pr' từ Pr Chúng ta tạm quy ước:

Quy tắc 1: Quy tắc cơ bản về tính đầy đủ và cực tiểu , nó khẳng định rằng một

quan hệ hoặc một mảnh được phân hoạch " thành ít nhất hai phần và chúng được truyxuất khác nhau bởi ít nhất một ứng dụng "

Thuật toán COM_MIN

Trang 23

Input : R: quan hệ; Pr: tậpcác vị từ đơn giản;

Output: Pr’: tập các vị từ cực tiểu và đầy đủ;

Declare

F: tập các mảnh hội sơ cấp;

Begin

Pr’=φ; F = φ;For each vị từ p∈ Pr if p phân hoạch R theo Quy tắc 1 then

Begin

Pr’: = Pr’∪ p;

Pr: = Pr – p;

F: = F ∪ p; {fi là mảnh hội sơ cấp theo pi }

End; {Chúng ta đã chuyển các vị từ có phân mảnh R vào Pr’}

Until Pr’ đầy đủ {Không còn p nào phân mảnh fk của Pr’}

For each p∈ Pr’, if ∃p’ mà p<=>p’ then

Begin

Pr’:= Pr’-p;

F:= F - f;

End;

Trang 24

End {COM_MIN}

Thuật toán bắt dầu bằng cách tìm một vị từ có liên đới và phân hoạch quan hệ đã

cho Vòng lặp Repeat-until thêm các vị từ có phân hoạch các mảnh vào tập này, bảo

đảm tính đầy đủ của Pr’ Đoạn cuối kiểm tra tính cực tiểu của Pr’ Vì thế cuối cùng ta

có tập Pr’ là cực tiểu và đầy đủ

Bước hai của việc thiết kế phân mảnh nguyên thủy là suy dẫn ra tập các vị từ hội

sơ cấp có thể được định nghĩa trên các vị từ trong tập Pr’ Các vị từ hội sơ cấp này xácđịnh các mảnh “ứng cử viên” cho bước cấp phát Việc xác định các vị từ hội sơ cấp làtầm thường; khó khăn chính là tập các vị từ hội sơ cấp có thể rất lớn (thực sự chúng tỷ

lệ hàm mũ theo số lượng các vị từ đơn giản) trong bước kế tiếp chúng ta sẽ tìm cáchlàm giảm số lượng vị từ hội sơ cấp cần được định nghĩa trong phân mảnh

Bước ba của quá trình thiết kế là loại bỏ một số mảnh vô nghĩa Điều này đượcthực hiện bằng cách xác định những vị từ mâu thuẫn với tập các phép kéo theo(implication) I Chẳng hạn nếu Pr’={p1, p2}, trong đó

Ngày đăng: 10/04/2015, 14:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Trần Đức Quang , “nguyên lý các hệ cơ sở dữ liệu phan tán”, Luận văn thạc sĩ, Nhà xuất bản Thống Kê, 1999 Sách, tạp chí
Tiêu đề: nguyên lý các hệ cơ sở dữ liệu phan tán
Nhà XB: Nhàxuất bản Thống Kê
[1] Mguyễn Văn Huân, Phạm Bích Trà, Ngô Thị Lan Phương , Giáo trình cơ sở dữ liệu 2, Đại học Thái Nguyên, 2006 Khác
[3] Nguyễn Bá Tường (2001), CƠ SỞ DỮ LIỆU Lý thuyết và thực hành, NXB Khoa học và kỹ thuật Khác
[4] Lê Tiến Vương (1996), Nhập môn CƠ SỞ DỮ LIỆU QUAN HỆ, NXB Khoa học và kỹ thuật Khác
[5] Hồ Thuần, Hồ Cẩm Hà (2004, 2005), Các hệ CƠ SỞ DỮ LIỆU lý thuyết và thực hành, tập 1,2, NXB Giáo dục Khác
[6] Jeffrey D. Ulman, biên dịch Trần Đức Quang (2002), Nguyên lý các hệ CƠ SỞ DỮ LIỆU và CƠ SỞ TRI THỨC, tập I và II, NXB Thống kê Khác
[7] M. Tamer Ozsu, Patrick Valduriez, biên dịch Trần Đức Quang (1999), Nguyên lý các hệ CƠ SỞ DỮ LIỆU phân tán, tập I, NXB Thống kê.Tiếng Anh Khác
[1] Clement T.Yu, Weiyi Meng (1998), Principles of Database Query Processing for Advanced Applications, Morgan Kaufmann Publishers, Inc Khác
[2] Ramez Elmasri, Shamkant Navathe (2002), Fundamentals of Database Systems, 3rd Edition Khác
[3] Sakti Pramanik, David Ittiner (1985), Use of Graph-Theoretic Models for Optimal Relational Database Accesses to Perform Join, pages 57-76 , ACM Transaction on Database Systems Khác
[4] Zhe Li, Kenneth A. Ross (1994), Better Semijoin Using Tuple Bit-Vectors, Technical Report No. CUCS-010-94 Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w