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

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

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

Thông tin tài liệu

Chơng II CSDL phân tán theo 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 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 tơng quan logic với nhau (dữ liệu 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à 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 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ỗ. Mặt khác các hãng hàng không lại 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 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 thể đòi hỏi CSDL phả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. 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ợ 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 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ẽ ả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ỉ 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. sao, CSDL phân tán 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 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ả chỉ ảnh hởng tới các ứng dụng sử dụng dữ liệu của vị trí sự cố và việc đổ vỡ toàn bộ hệ thống là hiếm xảy ra. B. hình xử lý Client-Server hình xử lý Client-Server là một 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 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 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. 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 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à 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 ý nghĩa nhất của 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ả ClientServer đề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 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 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. 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à cổ vũ hệ thống mở. Thực tế là ClientServer 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à hình Client-Server đã hoàn chỉnh, hình này vẫn còn các nhợc điểm sau đây: Nếu 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 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 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, thể đợ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 ý 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) 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 để đạ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 hình xử lý Client-Server. Extent hợp thành cấp phát cho bộ phậnsở 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 đồ 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 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 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 hình kiến trúc của Oracle Server thể chia ra làm ba khối 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 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 tên là INIT + <bí danh CSDL>+.ORA. Thể hiện của Oracle Server : Là sự kết hợp giữa bộ nhớ đệm và các tiến trình nền. Bất cứ khi nào Oracle Server bắt đầu, một vùng nhớ hệ thống toàn cục (System Global Area : SGA) đợc cấp phát, đồng thời các tiến trình nền cũng đợc khởi động. Thể hiện của Oracle là một phơng tiện để truy cập dữ liệu trong Data File. - SGA: một nhóm bộ đệm dùng chung mà Oracle Server cấp phát cho một thể hiện. - Background Process: là các tiến trình chạy ngầm bên dới phục vụ cho tất cả các User. - User Process & Server Process : User Process đợc tạo khi User chạy một chơng trình ứng dụng. Khi đó Oracle Server cũng tạo ra các Server Process để đáp ứng các yêu cầu từ phía User Process. Giữa User Process và Server Process luôn sự liên hệ với nhau. Quá trình thực hiện của Server Process theo một số bớc sau : + Phân tích cú pháp các câu lệnh SQL (Parse). + Thi hành các câu lệnh SQL (Excute). + Trả lại kết quả thực hiện các câu lệnh SQL cho User Process (Fetch). Trớc khi dữ liệu thể truy cập đợc thì Server Process phải đợc thực hiện để đa dữ liệu lên vùng nhớ đệm dùng chung. Các khối dữ liệu sau khi đợc thao tác, sửa đổi sẽ đợc viết trở lại bộ nhớ ngoài nhờ một tiến trình nền gọi là Database Writer (DBWR). Do việc cập nhật lại dữ liệu từ vùng nhớ dùng chung (SGA) ra đĩa là rất tốn thời gian cho nên tiến trình CKPT (Check Point) sẽ đảm bảo việc cập nhật dữ liệu sẽ thực hiện vào thời điểm cần thiết. Cũng do việc cập nhật xảy ra không liên tục cho nên tiến trình LGWR (Log Writer) sẽ cập nhật lại các thay đổi của Redo Buffer ra các Redo Log File. Nếu sử dụng lu trữ trực tuyến thì các Redo Log File sẽ đợc cập nhật trực tuyến sang một vùng lu trữ khác (Offline Storage) để đề phòng sự cố xảy ra đối với hệ thống. . 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. 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ày đăng: 06/10/2013, 08:20

Hình ảnh liên quan

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: - Cơ sở dữ liệu phân tán theo mô hình Client - Server của Oracle

h.

ình kiến trúc của Oracle Server có thể chia ra làm ba khối cơ bản nh sau: Xem tại trang 5 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan