Tải bản đầy đủ

Cơ sở dữ liệu phân tán theo mô hình Client - Server của Oracle

Chơng II CSDL phân tán
theo mô hình Client - Server của Oracle
A. Khái niệm về CSDL phân tán
Một 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 này thuộc về một hệ thống, nh ng đợc trải
trên các vị trí (khác nhau) của một mạng máy tính.
Chú ý rằng phân tán có nghĩa là dữ liệu không c trú trên một vị trí (khác với CSDL tập trung, đơn lẻ) và phải có
tơng quan logic với nhau (dữ liệu có một số các thuộc tính ràng buộc chúng với nhau) chứ không phải là một tập hợp
CSDL cục bộ hoặc các tệp c trú tại các vị trí khác nhau trong một mạng máy tính.
Tuy việc quản trị một hệ thống CSDL phân tán sẽ gặp nhiều khó khăn hơn so với hệ CSDL tập trung nhng xu h-
ớng xây dựng các hệ CSDL phân tán ngày càng phát triển và có nhiều ứng dụng trong thực tế vì các nguyên nhân sau:
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à 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 vé máy bay thống nhất trên toàn thế giới. Mỗi hãng hàng
không có một hệ CSDL riêng, có sự quản lý riêng và không thể có lý do nào để CSDL này tập trung ở một chỗ. Mặt
khác các hãng hàng không lại có hợp tác với nhau trong việc bán vé phục vụ 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ỹ.
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á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 đó. Quá trình này có thể đòi hỏi CSDL phải cấu trúc lại cục bộ ở một mức độ nhất định.

Dù 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.
Sự phát triển mở rộng: Các tổ chức có thể mở rộng bằng cách thêm các đơn vị mới, vừa có tính tự trị vừa có
quan hệ tơng đối với các tổ chức khác. Khi đó CSDL phân tán hỗ trợ sự mở rộng tổ chức một cách 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 có thể khởi tạo kích thớc lớn
cho việc mở rộng tổ chức trong tơng lai. Điều đó rất khó đánh giá và chi phí thực hiện sẽ lớn, hoặc việc mở rộng tổ
chức sẽ có ả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 cũ đang tồn tại.
Làm giảm tổng chi phí tìm kiếm: Trên thực tế nhiều ứng dụng cục bộ rõ ràng làm giảm tổng chi phí truyền
thông trên phơng diện một CSDL tập trung. Bởi vậy một trong các mục đích chính trong thiết kế CSDL phân tán là
tạo tối đa các vị trí ứng dụng.
Sự quan tâm hiệu suất (Performance Considerations): S tồn tại một vài bộ xử lý tự trị đa đến kết quả tăng hiệu
suất thông qua một mức độ song song cao. Sự quan tâm này chỉ có thể đ ợc ứng dụng cho một hệ thống đa xử lý
không nhất thiết phải là một hệ CSDL phân tán. Dù sao, CSDL phân tán có lợi trong sự phân tán dữ liệu phản ánh các
tiêu chuẩn phụ thuộc ứng dụng và số tối đa vị trí các ứng dụng. Bằng phơng pháp này sẽ giảm tối thểu sự gây trở ngại
lẫn nhau giữa các bộ xử lý. Trọng tải đợc chia sẻ giữa các bộ xử lý, và các tắc nghẽn nguy kịch, nh tắc nghẽn mạng
truyền thông, tắc nghẽn dịch vụ chung cho toàn bộ hệ thống sẽ đợc tránh. Kết quả này là một hệ quả của đòi hỏi khả
năng xử lý tự trị cho các ứng dụng cục bộ đã đợc phát biểu trong định nghĩa CSDL phân tán.
Tính tin cậy và tính sẵn sàng: CSDL phân tán, đặc biệt với dữ liệu d thừa, cũng đợc sử dụng để đạt đợc một sự
tin cậy và tính sẵn sàng cao hơn. Để đạt đợc mục đích này cũng gặp một số trở ngại và phải giải quyết bằng việc sử
dụng các kỹ thuật vẫn cha đợc hoàn thiện. Bản thân khả năng xử lý tự trị của các vị trí khác nhau trong CSDL phân
tán cũng không bảo đảm tính tin cậy cao của hệ thống, nhng nó đảm bảo hạn chế sự đổ vỡ toàn bộ hệ thống. Các sự
cố trong CSDL phân tán có thể thờng xuyên hơn một CSDL tập trung vì có số lợng thành phần lớn hơn, nhng hậu quả
chỉ ảnh hởng tới các ứng dụng sử dụng dữ liệu của vị trí có sự cố và việc đổ vỡ toàn bộ hệ thống là hiếm xảy ra.
B. Mô hình xử lý Client-Server
Mô hình xử lý Client-Server là một mô hình liên quan đến việc xử lý hợp tác đối với các yêu cầu từ Client (hoặc
ngời yêu cầu) đợc máy Server tiến hành xử lý và gửi trả kết quả về cho Client.
Trong khi các hệ phân tán là hiện tợng tơng đối mới thì phân tán ở mức hệ điều hành đã đợc hiểu khá tờng tận
và đợc dùng rộng rãi. Ví dụ phân tán các chức năng số học và vào/ra, phân tán các chức năng hệ điều hành cho nhiều
CPU trong bộ đa xử lý của IBM 3090/600 (sáu bộ xử lý).
Hệ phân tán đã tiến hoá từ môi trờng nguyên thuỷ nhất để hỗ trợ cho xử lý ứng dụng. Chính môi trờng xử lý dựa
trên Server cha có khả năng xử lý ứng dụng phân tán. Việc xử lý ứng dụng trên Server đợc thực hiện trên một hệ
thống máy tính có gắn các thiết bị câm không thông minh. Một máy PC đơn lẻ hay máy lớn IBM với các thiết bị
cuối dựa trên hiển thị kí tự là một thí dụ về môi trờng xử lý dựa trên Server. Theo quan điểm ứng dụng thì xử lý trên
Server hoàn toàn không phân tán.
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ị đã có trong mạng
cục bộ (LAN). Thí dụ 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 với mục đích 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. Theo thuật ngữ LAN,
các thiết bị dùng chung nh vậy đợc gọi là các phục vụ (Server). 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 cho các chức năng thấp, tổng quát. 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 đơn lẻ, và chỉ một số 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 đã ban 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à
các trạm làm việc đóng vai trò khách của máy chủ. Phần có ý 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ủ-tớ. Thay vì vậy, 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ành xử lý cục bộ rồi nhận nhận lại đúng bản ghi đã yêu cầu.
Về mặt kiến trúc xử lý Client-Server có các đặc tính:
Đờng liên lạc tin cậy, chắc chắn giữa Client và Server.
Các Client khởi xớng tơng tác Client-Server.
Phân tán xử lý ứng dụng giữa Client và Server.
Server kiểm soát các dịch vụ do Client yêu cầu.
Server làm trọng tài cho các yêu cầu tranh chấp.
Các u điểm của mô hình Client-Server:
Phát huy đợc sức mạnh năng lực công nghệ tính toán của PC. Các PC ngày nay với giá thành nhỏ đã cung cấp
một năng lực tính toán đáng kể mà trớc đây các máy tính lớn mới có đợc.
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) có sẵn trên các trạm làm việc hiện có.
Cho phép và cổ vũ hệ thống mở. Thực tế là Client và Server có 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, mô hình này vẫn còn các nhợc điểm sau đây:
Nếu có nhiều thành phần logic của ứng dụng đợc chuyển về Server thì Server sẽ nảy sinh hiện tợng cổ chai nh
máy tính lớn (main frame) trong mô hình thiết bị cuối. Các tài nguyên 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 một vài sự phức tạp này có thể đợc giảm bớt bằng cách thu nhỏ vấn đề lớn thành một
tập hợp vấn đề nhỏ hơn, có thể có đợc tính độc lập lẫn nhau, tơng tự nh trong hệ thiết kế đơn thể.
C. Hệ quản trị CSDL
Oracle
Đối với một hệ CSDL phân tán thì hệ quản trị CSDL có ý nghĩa rất quan trọng vì phải đảm bảo tính thống nhất
và toàn vẹn của dữ liệu, đảm bảo cho các chơng trình ngời dùng truy xuất đến CSDL phân tán nh là một CSDL tập
trung duy nhất. Ngoài ra hệ quản trị CSDL còn phải đảm bảo chức năng phân quyền truy nhập và bảo mật trên đờng
truyền.
Trong các hệ quản trị CSDL phân tán hiện nay thì hệ quản trị CSDL Oracle đợc đánh giá là u việt nhất với các
chức năng tiên tiến: phân tán, sao bản (replication), bảo mật cao, tính nhất quán dữ liệu, thủ tục chạy ngầm
(Procedure Storge), đoạn mã xử lý sự kiện kích hoạt (Triggers), khoá dữ liệu đến từng hàng, chạy thông suốt trên 120
loại phần cứng từ máy lớn đến máy nhỏ và 19 hệ điều hành, hỗ trợ hầu hết các nghi thức mạng, là CSDL đầu tiên trên
thế giới tích hợp Web.
Oracle Server cung cấp việc quản lý dữ liệu bảo mật, tin cậy, hiệu quả cho các hệ thống ứng dụng từ các hệ
thống giao dịch trực tuyến (OLTP) cỡ lớn đến các ứng dụng sử dụng các kho dữ liệu (Data Warehouse) có nhiều giao
dịch. Oracle không chỉ hỗ trợ cho các nhu cầu quản lý nghiệp vụ phức tạp mà còn cung cấp các công cụ mềm dẻo cho
phân tán dữ liệu tới ngời dùng một cách thực sự, hiệu quả và phù hợp mọi qui mô để đạt đ ợc hiệu năng tối u từ mọi
tài nguyên đã có.
OS
server
sql
Pl/sql
Công cụ
ứng dụng
Oracle
Dữ liệu
Kiến trúc phân lớp của hệ CSDL ORACLE
Hệ quản trị CSDL Oracle bao gồm CSDL Oracle, các môi trờng phát triển, các công cụ và các trình ứng dụng đợc
viết trên đó đợc hoạt động theo mô hình xử lý Client-Server.
Extent
hợp thành
cấp phát
cho
bộ phận
Cơ sở dữ liệu
ORACLE
Tablespace
hợp thành
bộ phận
bộ
phận
hợp
thành
còn trống Đ sử dụngã
hợp thành
hợp thành
Segment
Data Index Cluster
Rollback Temporary Cache
hợp thành
bộ phận
Các file của HĐH
Block
bộ phận
Sơ đồ tổng thể CSDL phân tán của ORACLE
Về mặt logic thì CSDL Oracle đợc cấu tạo nên từ các thành phần nhỏ gọi là Tablespace. Mỗi Tablespace có một
chức năng riêng nh Tablespace System dành cho sự hoạt động của hệ thống, Table User dành cho các hoạt động của
ngời dùng ...v.v. Các Tablespace có thể mở rộng cũng nh thu hẹp lại và đơn vị cấp phát bộ nhớ cho các Tablespace là
các Extent. Mỗi Extent lại bao gồm các Segment (đoạn) nh Segment Index, Segment dữ liệu.
Về mặt vật lý thì mỗi Tablespace đợc tạo nên từ các file của hệ điều hành nằm phân tán. Các file của hệ điều
hành sẽ đợc chia thành nhiều Block. Mỗi Block sẽ chứa một hoặc nhiều hàng dữ liệu.
Kiến trúc Server dữ liệu của Oracle:
Database Buffer Cache
Server
User
DBWR LGWR
PMON LCKn
Data Files
Redo Log Files
ARCH
Kiến trúc Server dữ liệu ORACLE
SGA
Shared Pool
Redo Log
Buffer
Parameter
Files
Control
Files
Offline
Storage
RECO
SMON
CKPT
Data Buffer Cache

Mô hình kiến trúc của Oracle Server có thể chia ra làm ba khối cơ bản nh sau :
Oracle data base : Bao gồm Database Files, Redolog Files, Control Files và Parameter Files.
-Database File : lu trữ tất cả dữ liệu của cơ sở dữ liệu.
-Redo log File : dùng để khôi phục, ghi lại những thay đổi thông tin trên database.
-Control File : ghi lại cấu trúc vật lý của Database.
-Parameter File hay còn gọi là Init File chứa các tham số thiết lập môi trờng làm việc nh đờng dẫn tới CSDL,
kích thớc thành phần trong SGA, tạo khả năng theo dõi các câu lệnh SQL và dựng lại cây phân tích câu lệnh. File này
nằm ở th mục DATABSE trong th mục đã cài Oracle và có tên là INIT + <bí danh CSDL>+.ORA.
Thể hiện của Oracle Server :

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×