Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 107 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
107
Dung lượng
2,45 MB
Nội dung
CHƯƠNG III: XỬ LÝ CÂU HỎI VÀ ĐỊNH VỊ DỮ LIỆU (số tiết 5) Xem quan tri giao dịch 1.pdf (xem Distributed Database autum_chapter pdf +++ xu ly phan tan va song song.pdf H:\oracle-baigiang\2010\ppt\baigiang truong codex\ ch14[1]Query Optimization.ppt ) Commutative(a) giao hoán + da dấu cách=phép kết nối? 3.1 Xử lý câu hỏi 3.1.1 Tổng quan Vai trò xử lý câu hỏi • Truy vấn nsd mức cao->xử lý truy vấn->các lệnh manipulation liệu mức thấp Truy vấn nsd mức cao Bộ xử lý truy vấn lệnh vận dụng liệu mức thấp Các thành phần xử lý truy vấn • • • Ngôn ngữ truy vấn dùng (VD SQL: intergalactic dataspeak) Phương pháp vận hành truy vấn(Các bước qua vận hành truy vấn nsd (khai báo nsd mức cao) Tối ưu hóa truy vấn(Làm xác định kế hoạch truy vấn tốt nhất) • Ngôn ngữ truy vấn dùng SQL: dataspeak thiên hà • • Phương pháp vận hành truy vấn Các bước qua vận hành truy vấn nsd bậc cao(khai báo) Tối ưu hóa truy vấn Xác định kê hoach vận hành tốt Chọn luan phiên( thứ tự chọn thao tác với lệnh SQL?) Vấn đề gì? Thể thực thao tác site Giá luân phiên - Giả thiết - Chiến lược - Chiến lược 2: Kết cho thấy chiến lược có giá lớn chiến lược Các đối tượng tối ưu hóa truy vấn Tối thiểu hóa hàm giá thành: CPU cost+ IO cost+ communication cost Trọng số khác môi trường phân tán khác WAN • Giá truyền thông chiếm ưu (băng thông thấp/tốc độ thấp/tổng phí giao thức lớn) • Các giải thuật bỏ qua thành phần giá khác LAN • Giá truyền thông không chiếm ưu • Xem xét đến giá chức toàn thể Cũng tối đa hóa thông lượng Các phát biểu tối ưu hóa truy vấn Các kiểu tối ưu - Đầy đủ o Tối ưu o Phức tạp nhiều mối quan hệ - Heuristics o Không tối ưu o Gom lại biểu thức chung o Thực chọn, chiếu o Thay join chuỗi semijoin o Sắp xếp thao tác để giảm nhỏ kích thước quan hệ trung gian o Tối ưu hóa thao tác riêng Nghiền hạt tối ưu - Đơn truy vấn thời điểm o Không thể sử dụng kết trung gian chung - Đa truy vấn thời điểm o Hiệu nhiều truy vấn tương tự o Không gian định lớn nhiều Tối ưu hóa thời gian - Tĩnh o Việc dịch=> tối ưu hóa vận hành o Khó dự doán kích thước kết trung gian, lan truyền lỗi o Có thể amortize(trừ dần) qua nhiều vận hành - - o Động o o o o Lai o o o R* Tối ưu hóa thời gian chạy Thông tin xác kích thước quan hệ trung gian Phải ưu hóa lại cho nhiều vận hành INGRES phân tán Dịch dùng giải thuật tĩnh Nếu lỗi kích thước dự đoán>ngưỡng, tối ưu hóa lại chạy MERMAID Thống kê: - Quan hệ *cardinality *kích thước *phần tham gia join với quan hệ khác - Thuộc tính *Cardinality domain *Số lượng thực giá trị khác - Assumption chung • Độc lập giá trị thuộc tính khác • Phân tán uniform giá trị thuộc tính domain chúng Các site định - Trung tâm • Sitebđơn xác định lịch biểu tốt • Đơn giản • Cần biết toàn CSDL phân tán - Phân tán • Phối hợp site để xác định lịch biểu • Chỉ cần thông tin cục • Giá việc phối hợp - Lai • Một site xác định lịch biểu tổng thể • Mỗi site tối ưu truy vấn chung 10 Sử dụng DRIVING_SITE Hint The DRIVING_SITE hint allows you to specify the site where the query execution is performed It is best to let cost-based optimization determine where the execution should be performed, but if you prefer to override the optimizer, you can specify the execution site manually Following is an example of a SELECT statement with a DRIVING_SITE hint: SELECT /*+DRIVING_SITE(dept)*/ * FROM emp, dept@remote.com WHERE emp.deptno = dept.deptno; • Sử dụng tối ưu hóa dựa giá (CBO) Ngoài việc viêt lại truy vấn dùng collocated inline views , pphap CBO tối ưu hóa truy vấn phân tán cách tập hợp thống kê tham chiếu bảng ttoan thực tối ưu VD pitch giá với gthiet thống kê bảng có sẵn Bên với lệnh CREATE TABLE : CREATE TABLE AS ( SELECT l.a, l.b, r1.c, r1.d, r1.e, r2.b, r2.c FROM local l, remote1 r1, remote2 r2 WHERE l.c = r.c AND r1.c = r2.c AND r.e > 300 ); Được viết lại là: CREATE TABLE AS ( SELECT l.a, l.b, v.c, v.d, v.e FROM ( SELECT r1.c, r1.d, r1.e, r2.b, r2.c FROM remote1 r1, remote2 r2 WHERE r1.c = r2.c AND r1.e > 300 ) v, local l WHERE l.c = r1.c ); 93 Việc gán bí danh v inline view tham chiếu bảng câu lệnh SELECT Tạo collocated inline views giảm nhỏ lượng truy vấn thực site xa giảm nhỏ giá lưu lượng mạng Cho định vị liệu Client/Server vs DDBMS • Kiến trúc Client/server tham chiếu đến cách máy tính gtiep để hình thành hệ thống • Tạo nsd tnguyen (client) hay nguoi cung câp tnguyen (server.) • Kiến trúc dùng để thực DBMS client xử lý giao dịch transaction processor (TP) server xử lý dlieu data processor (DP) Ưu điểm Client/Server • C/S đắt • Cho phép nsd dùng gtiep đồ họa nên cải tiến chức đơn giản • Nhiều người voiws kỹ máy PC kỹ máy tính lớn • PC tlap tốt không gian làm việc • Nhiều công cụ ptich truy vấn liệu giảm nhẹ tương tác với nhiều DBMS • Giảm đáng kể giá thành chuyển từ máy tính lớn sang PC Nhược điểm Client/Server • Kiến trúc client/server tạo môi trường phức tạp với khác • Tăng số lượng nsd site xử lý thường pave (lát) cách cho vấn đề an ninh • Gánh đào tạo chu trình nsd PC tăng giá thành trì môi trường == = = = w Storing Data • Fragmentation consists of breaking a relation into smaller relations or fragments, and storing the fragments at different sites • Replication means storing copies of a relation or relation fragment An entire relation can be replicated at one or more sites w Types of Fragmentation • Horizontal Fragmentation of a relation consists of a subset of the tuples of a relation • Vertical Fragmentation of a relation consists of a subset of the attributes of a relation w Distributed Relational Database Design 94 • • • Chúng ta kiểm tra yếu tố bổ sung phải xem xét cho csdl quan hệ phân tán.Hãy xem: Fragmentation: A relation may be divided into a number of sub-relations, called fragments, which are then distributed Allocation: Each fragment is stored at the site with ‘optimal’ distribution Replication: The DDBMS may maintain a copy of a fragment at several different sites w Objectives • Locality of reference: Where possible, data should be stored close to where it is used If a fragment is used at several sites, it may be advantageous to store copies of the fragment at these sites • Improved reliability and availability: Reliability and availability are improved by replication: there is another copy of the fragment available at another site in the event of one site failing • Storage capacities and costs: Consideration should be given to the availability and cost of storage at each site, so that cheap mass storage can be used, where possible This must be balanced against locality of reference • Performance: Bad allocation may result in bottlenecks occurring: that is, a site may become inundated with requests from other sites, perhaps causing a significant degradation in performance Alternatively, bad allocation may result in under-utilization of resources • Communication costs: Consideration should be given to the cost of remote requests Retrieval costs are minimized when locality of reference is maximized or when each site has its own copy of the data However, when replicated data is updated, the update has to be performed at all sites holding a duplicate copy, thereby increasing communication costs w Data Allocation There are four alternative strategies: Centralized Partitioned (or fragmented) Complete Replication Selective Replication • Centralized: This strategy consists of a single database and DBMS stored at one site with users distributed across the network (we referred to this previously as 95 • • • distributed processing) Locality of reference is at its lowest as all sites, except the central site, have to use the network for all data accesses; this also means that communication costs are high Reliability and availability are low, as a failure of the central site results in the loss of the entire database system Partitioned (or Fragmented): This strategy partitions the database into disjoint fragments, with each fragment assigned to one site If data items are located at the site where they are used most frequently, locality of reference is high As there is no replication, storage costs are low; similarly, reliability and availability are low, although they are higher than in the centralized case, as the failure of a site results in the loss of only that site’s data Performance should be good and communications costs low if the distribution is designed properly Complete Replication: this strategy consists of maintaining a complete copy of the database at each site Therefore, locality of reference, reliability and availability and performance are maximized However, storage costs and communication costs for updates are the most expensive To overcome some of these problems, snapshots are sometimes used A snapshot is a copy of the data at a given time The copies are updated on a periodic basis, for example, hourly or weekly, so they may not be always up to date Snapshots are also sometimes used to implement views in a distributed database to improve the time it takes to perform a database operation on a view Selective Replication: This strategy is a combination of partitioning, replication and centralization Some data items are partitioned to achieve high locality of reference and others, which are used at many sites and are not frequently updated, are replicated; otherwise, the data items are centralized The objective of this strategy is to have all the advantages of the other approaches but none of the disadvantages This is the most commonly used strategy because of its flexibility Centralized Locality of reference lowest Partitioned high+ Complete replication Selective replication highest high+ Reliability and availability lowest Performance unsatisfactory Storage costs lowest Communication costs highest low for item; high for system highest satisfactory+ lowest low+ best for read highest low for item; high for system satisfactory+ average high for update; low for read low+ + Indicates subject to good design 96 === • • • • Fragmentation Why fragment? Usage: Nói chung udung làm việc với khung nhìn toàn quan hệ Vì vậy, với phân tán liệu làm việc với tập qhej phù hợp Efficiency: Dữ liệu lưu gần nơi thường dùng Hơn nữa, liệu không cần udung cục không cần lưu Parallelism: Với cacspdoan đơn vị phân tán, giao dịch chia thành truy vấn làm việc phân đoạn Điều tăng mức độ tương tranh hay song song song hệ thống cho phép giao dịch thực an toàn Security: Dữ liệu không yêu cầu udung cục không lưu, kqua sẵn cho nsd không quyền Primary Disadvantages • Performance: Hiệu ứng dụng yêu cầu liệu từ định vị phân đoạn vài site khác chậm • Integrity: Kiểm tra tính quán phức tạp độc lập chức phân đoạn định vị site khác Rules • Completeness:(hoàn toàn) Nếu thể R phân chia thành phân đoạn R1,R2,…Rn, hạng mục liệu tìm thấy R phải xhien phân đoạn Luật đảm bảo không liệu phân đoạn • Reconstruction: (tái xây dựng) Cần có khả dnghia toán tử quan hệ cho tái xdung quan hệ R từ phân đoạn Luật đảm bảo tinhd độc lập chức preserved • Disjointness: (không kết nối) Nếu hạng mục liệu di xhien tỏng phân đoạn Ri không xhien phân đoạn khác trừ ngoại lệ phân đoạn dọc với thuộc tính khóa sở lặp lại Luật đảm bảo dư thừa dlieuj tối thiểu Horizontal Fragment Vertical Fragmentation Mixed fragment Example of Mixed fragment Derived fragment 97 B.4 Sử dụng định lượng phẩm chất kết nối để đặc tả tên dịch vụ tên liên kết(Using Connection Qualifiers to Specify Service Names Within Link Names) Dùng có vài lien kết liệu đến kiểu trỏ đến CSDL xa (for example, public) hay thiết lập kết nối đến remote database dùng đường truyền thong khác Hiệu : • • Một CSDL xa phần cấu hình Oracle Real Application Clusters định nghĩa vài liên kết nút cục cho kết nối thiết lập đến thể đặc tả CSDL xa Một vài khách kết nối đến Oracle server dùng TCP/IP nsd khác dùng DECNET Giải pháp dùng phẩm chất kết nối tên dvu tạo tên liên kết CSDL Khi tao có tên: liên kết CSDL@phẩm chất kết nối @sales ( connection qualifier.) VD: CSDL xa hq.acme.com quản lý Oracle Real Application Clusters environment CSDL hq có hai thể mang tên hq_1 and hq_2 CSDL cục chứa liên kết công cộng để định nghĩa đường đến thể hq: CREATE PUBLIC DATABASE LINK hq.acme.com@hq_1 USING 'string_to_hq_1'; CREATE PUBLIC DATABASE LINK hq.acme.com@hq_2 USING 'string_to_hq_2'; CREATE PUBLIC DATABASE LINK hq.acme.com USING 'string_to_hq'; Notice in the first two examples that a service name is simply a part of the database link name The text of the service name does not necessarily indicate how a connection is to be established; this information is specified in the service name of the USING clause Also notice that in the third example, a service name is not specified as part of the link name In this case, just as when a service name is specified as part of the link name, the instance is determined by the USING string To use a service name to specify a particular instance, include the service name at the end of the global object name: SELECT * FROM scott.emp@hq.acme.com@hq_1 Note that in this example, there are two @ symbols 98 C Tạo liên kết CSDL chia xẻ-Creating Shared Database Links Ứng dụng chạy nhiều liên kết CSDL gây ….?? Shared database links cho phép hạn chế số lượng kết nối mạng yêu cầu giưa local server and the remote server Ta bàn về: • • • Determining Whether to Use Shared Database Links Creating Shared Database Links Configuring Shared Database Links C.1 Xác định xem liệu có sử dụng liên kết CSDL chia xẻ - Determining Whether to Use Shared Database Links XÁc định cẩn thận ứng dụng xem liệu có cần chia xẻ hay không Đơn giản sử dụng shared database links truy nhập nsd liên kết CSDL vượt sô tiến trình server CSDL cục Ta xem (số nsd-số tiến trình server-số phiên) Link Type Server Mode Consequences NonDedicated/shared Shared server Nếu ta sdung liên kết công cộng chuẩn, có 100 nsd yêu cầu đồng thời kết nối có 100 kết nối mạng trực tiếp đến csdl xa yêu cầu Shared shared server Nếu 10 tiến trình server chia xẻ tồn csdl chế độ server chia xẻ cục , 100 nsd dùng csdl yêu cầu 10 hay kết nối mạng đến server xa Mỗi tiến trình server dùng cần kết nối đên server xa Shared Dedicated Nếu 10 client kết nối đến mọt server cục , client có 10 phiên kết nối (như nhìn chung thiết lập 100 phiên), phiên tham chiếu đên csdl xa, cần 10 kết nối Nếu với lket csdl không chia xẻ, cần 100 knoi Lket csdl chia xẻ hữu hiệu hoàn cảnh Nếu có nsd truy nhập server xa mà định nghĩa liên kết csdl chia xẻ 10 tiến trình sv chia xẻ tồn csdl cục , nsd yêu cầu đến 10 kết nối tới sv xa Vì nsd sử dụng tiến trình server chia xẻ, tiến trình thiết lập kết nối đến server xa 99 Chỉ nên dùng liên kết chia xẻ nhiều nsd cần sử dụng liên kết Thông thường, liên kết chia xẻ dùng cho liên kết csdl công cộng liên kết csdl riêng nhiều người truy nhập lược đồ cục (cùng liên kết csdl riêng) C.2 Tạo liên kết CSDL dùng chung Để tao shared database link, dùng SHARED câu lệnh CREATE DATABASE LINK : CREATE SHARED DATABASE LINK dblink_name [CONNECT TO username IDENTIFIED BY password]|[CONNECT TO CURRENT_USER] AUTHENTICATED BY schema_name IDENTIFIED BY password [USING 'service_name']; VD: tạo môt fixed user, shared link link2sales đến CSDL sales, kết nối nhu scott xthuc keith: CREATE SHARED DATABASE LINK link2sales CONNECT TO scott IDENTIFIED BY tiger AUTHENTICATED BY keith IDENTIFIED BY richards USING 'sales'; Khi dùng SHARED, cần mệnh đề AUTHENTICATED BY Mục đích an ninh va coi dummy schema Không ảnh hưởng đến dùng shared database links không ảnh hưởng đến nsd shared database link C.3 Cấu hình liên kết CSDL dùng chung Theo cách: • • Creating Shared Links to Dedicated Servers Creating Shared Links to Shared Servers Tạo liên kết đến Sv túy Trong cấu hình, tiến trình shared server local server sở hữ dedicated remote server process ƯU điểm: giao thong mạng trực tiếp tồn local shared server the remote dedicated server NHƯỢC: cần extra back-end server processes 100 CHú ý: server xa share hay dedicated> có kết nối túy từ server Khi server xa muốn share server ta phải buộc kết nối dedicated server cáh dùng mệnh đề (SERVER=DEDICATED) dnghia tên dvu Figure 29-1 A Shared Database Link to Dedicated Server Processes Text description of the illustration admin039.gif Tạo liên kết đến Server dùng chung Dùng tiến trình shared server remote server Cấu hình loại bỏ cần có nhiều dedicated servers, lại yêu cầu kết nối qua dispatcher remote server Chú ý local and the remote server phải cấu shared servers 101 Figure 29-2 Shared Database Link to Shared Server Text description of the illustration admin038.gif E.Xem thông tin liên kết CSDL Có thể dùng từ điển liệu để xem CSDL có liên kết nao kết nối liên kết nao mở: • • Determining Which Links Are in the Database Determining Which Link Connections Are Open 102 E.1 Xác định liên kết CSDL Có thể xem liên kết CSDL sau dnghia CSDL local lưu từ điển liệu: View Purpose DBA_DB_LINKS Lists all database links in the database ALL_DB_LINKS Lists all database links accessible to the connected user USER_DB_LINKS Lists all database links owned by the connected user Nội dung cột với quyền hạn cho: Which Views? Description OWNER All except USER_* The user who created the database link If the link is public, then the user is listed as PUBLIC DB_LINK All The name of the database link Column USERNAME All If the link definition includes a fixed user, then this column displays the username of the fixed user If there is no fixed user, the column is NULL PASSWORD Only USER_* The password for logging into the remote database HOST All The net service name used to connect to the remote database CREATED All Creation time of the database link Một nsd dùng truy vấn USER_DB_LINKS để xác định liên kết CSDL có sẵn cho nsd Phải có quyền cao sử dụng ALL_DB_LINKS or DBA_DB_LINKS view 103 VD: script sau (chứa lệnh SQL) truy vân DBA_DB_LINKS view để xem thông tin liên kết: COL OWNER FORMAT a10 ;a10 alpha vơi đô rộng 10 COL USERNAME FORMAT A8 HEADING "USER" ;thay tên tiêu đề cột COL DB_LINK FORMAT A30 COL HOST FORMAT A7 HEADING "SERVICE" SELECT * FROM DBA_DB_LINKS / Chạy SQL>@link_script OWNER DB_LINK USER SERVICE CREATED - -SYS TARGET.US.ACME.COM SYS inst1 23-JUN-99 PUBLIC DBL1.UK.ACME.COM BLAKE ora51 23-JUN-99 PUBLIC RMAN2.US.ACME.COM inst2 23-JUN-99 PUBLIC DEPT.US.ACME.COM inst2 23-JUN-99 JANE DBL.UK.ACME.COM BLAKE ora51 23-JUN-99 SCOTT EMP.US.ACME.COM SCOTT inst2 23-JUN-99 rows selected Quyền cho việc xem thông tin mkhau Chỉ USER_DB_LINKS chứa cột thong tin password information Tuy nhiên quản trị người dùng (SYS or nsd kết nối AS SYSDBA), xem cách truy vấn LINK$ table Nếu không , bạn phải có quyền truy vấn LINK$ table phương pháp: • • Được gán quyền đối tương đặc tả cho LINK$ table Được gán quyền hệ thống cho SELECT ANY DICTIONARY Xem thông tin password Chạy lệnh (col/select from sys.link$ ) VD script sau: COL USERID FORMAT A10 COL PASSWORD FORMAT A10 SELECT USERID,PASSWORD FROM SYS.LINK$ WHERE PASSWORD IS NOT NULL / SQL>@linkpwd 104 USERID PASSWORD -SYS ORACLE BLAKE TYGER SCOTT TIGER rows selected Xem mkhau xthuc Xem xthuc nội dung username/password ( AUTHENTICATED BY IDENTIFIED BY ) truy vấn bảng LINK$ table VD script dùng SQL*Plus : COL AUTHUSR FORMAT A10 COL AUTHPWD FORMAT A10 SELECT AUTHUSR AS userid, AUTHPWD AS password FROM SYS.LINK$ ;tên bảng link WHERE PASSWORD IS NOT NULL / SQL> @authpwd USERID PASSWORD -ELLIE MAY row selected Có thể xem lkeet password join VD: COL OWNER FORMAT A8 COL DB_LINK FORMAT A15 COL USERNAME FORMAT A8 HEADING "CON_USER" COL PASSWORD FORMAT A8 HEADING "CON_PWD" COL AUTHUSR FORMAT A8 HEADING "AUTH_USER" COL AUTHPWD FORMAT A8 HEADING "AUTH_PWD" COL HOST FORMAT A7 HEADING "SERVICE" COL CREATED FORMAT A10 SELECT DISTINCT d.OWNER,d.DB_LINK,d.USERNAME,l.PASSWORD, l.AUTHUSR,l.AUTHPWD,d.HOST,d.CREATED FROM DBA_DB_LINKS d, SYS.LINK$ l ;gán bí danh cho bảng WHERE PASSWORD IS NOT NULL AND d.USERNAME = l.USERID / SQL> @user_and_pwd 105 OWNER DB_LINK CON_USER CON_PWD AUTH_USE AUTH_PWD SERVICE CREATED - - -JANE DBL.ACME.COM BLAKE TYGER ELLIE MAY ora51 23-JUN99 PUBLIC DBL1.ACME.COM SCOTT TIGER ora51 23-JUN-99 SYS TARGET.ACME.COM SYS ORACLE inst1 23-JUN-99 E.2 Xác định kết nối liên kết mở Phải nsd phiên Nếu SYSDBA truy vấn liên kết mở cho phiên Ta truy nhập thong tin liên kết phiên ta làm Vai trò bảng View Purpose V$DBLINK Lists all open database links in your session, that is, all database links with the IN_TRANSACTION column set to YES GV$DBLINK Lists all open database links in your session along with their corresponding instances This view is useful in an Oracle Real Application Clusters configuration.(thuận tiện cho dùng RAC) Đây từ điển liệu với thông tin nằm cột bảng Column Which Views? Description DB_LINK All The name of the database link OWNER_ID All The owner of the database link LOGGED_ON All Whether the database link is currently logged on HETEROGENEOUS All Whether the database link is homogeneous (NO) or heterogeneous (YES) PROTOCOL All The communication protocol for the 106 Column Which Views? Description database link OPEN_CURSORS All Whether cursors are open for the database link IN_TRANSACTION All Whether the database link is accessed in a transaction that has not yet been committed or rolled back UPDATE_SENT All Whether there was an update on the database link COMMIT_POINT_STRENGTH All The commit point strength of the transactions using the database link INST_ID The instance from which the view information was obtained GV$DBLINK only VD tạo script : COL DB_LINK FORMAT A25 COL OWNER_ID FORMAT 99999 HEADING "OWNID" COL LOGGED_ON FORMAT A5 HEADING "LOGON" COL HETEROGENEOUS FORMAT A5 HEADING "HETER" COL PROTOCOL FORMAT A8 COL OPEN_CURSORS FORMAT 999 HEADING "OPN_CUR" COL IN_TRANSACTION FORMAT A3 HEADING "TXN" COL UPDATE_SENT FORMAT A6 HEADING "UPDATE" COL COMMIT_POINT_STRENGTH FORMAT 99999 HEADING "C_P_S" SELECT * FROM V$DBLINK / ; bảng quan trọng V$DBLINK SQL> @dblink DB_LINK OWNID LOGON HETER PROTOCOL OPN_CUR TXN UPDATE C_P_S - - - - - -INST2.ACME.COM YES YES UNKN YES YES 255 107 [...]... xét • Quảng bá có thể được thám hiểm(join) • Giải thuật đặc biệt tồn tại cho mạng star METHODOLOGY TIếN TRÌNH TRUY VấN PHÂN TÁN Truy vấn tính toán trên các quan hệ phân tán- >(site điều khiển)->Truy vấn phân đoạn được tối ưu hóa với các thao tác truyền thông->(các site cục bô)->Các truy vấn cục bộ tối ưu hóa Site điều khiển : Lược đồ tổng thê (phân rã truy vấn)->truy vấn đại số trên các quan hệ phân tán- >lược... đồ phân đoạn(định vị dữ liệu) - >phân đoạn truy vấn->thống kê trên phân đoạn(tối ưu hóa tổng thể)-> truy vấn phân đoạn được tối ưu hóa với các thao tác truyền thông Các site cục bộ : ->Lược đồ cục bộ(Tối ưu hóa cục bộ)-> Các truy vấn cục bộ tối ưu hóa XEM SƠ ĐỒ DƯỚI 11 Bước 1: Phân rã truy vấn Đầu vào: truy vấn tính toán trên quan hệ tổng thể - Chuẩn hóa • Vận dụng định lượng và phân loại truy vấn - Phân. .. đương 14 Tái cấu trúc Bước 2: Định vị dữ liệu Đầu vào: truy vấn đại số trên các quan hệ phân tán - Xác định phân đoạn nào bị liên quan - Chương trình tối ưu hóa • Thay thế cho mỗi truy vấn tổng thể chương trình vật liệu của nó • Tối ưu hóa 15 Ví dụ: Cung cấp cơ chế song song Loại bỏ các công việc không càn thiết Bước 3: Tối ưu hóa truy vấn tổng thể Đầu vào: truy vấn phân đoạn - Tìm lịch biểu tổng thể... trước_ 2/Tổ chức dữ liệu để tìm kiếm nhanh=lập chỉ mục 3/Tối ưu hóa không gian lưu trữ=TableSpace,extension) Vấn đề/các dạng câu hỏi/cấu trúc câu hỏi Distributed Query Optimization Distributed query optimization là một đặc điểm của Oracle Database nhằm giảm nhỏ tổng số dữ liệu truyền yêu cầu giữa các site khi lấy dữ liệu giao dịch từ các bảng ở xa được tham chiếu trong câu lênh SQL phân tán 25 Tối ưu... dụng tối ưu dựa trên code để tìm hay phát sinh các biểu thức SQL lấy ra chỉ những dữ liệu cần thiết từ các bảng ở xa , xử lý dữ liệu đó ở site ở xa hay đôi khi trên site cục bộ và gửi kết quả đến site cục bộ xử lý lần cuối Thao tác này giảm nhỏ tổng số truyền dữ liệu yêu cầu so với thời gian lấy để chuyển toàn bộ dữ liệu đến site cục bộ để xử lý (Cần có thuật giải-cminh??? "Using Cost-Based Optimization")... giá trị ngưỡng 7500 trong mệnh đề WHERE và giá trị HIGH_VALUE and LOW_VALUE của thống kê cho cột empno nếu có CÁc thống kê này có thể tìm thấy trong chứng cứ USER_TAB_COL_STATISTICS …(hay chứng cứ USER_TAB_COLUMNS) Bộ tối ưu giả thiết rằng giá trị empno được phân tán trong phạm vi giữa giá trị cao nhất và thấp nhất Rồi bộ tối ưu xác định bao nhiêu phần tram các giá trị này nhỏ hơn7500 và dung giá trị. .. thông báo tối ưu dựa trên code như DRIVING_SITE, NO_MERGE, and INDEX, ta có thể đkhiển nơi nào xử lý dữ liệu và làm sao nó truy nhập được dữ liệu Kiến trúc và hoạt động Kiến trúc xử lý câu hỏi trong Oracle gồm 4 thành phần: bộ dịch, bộ tối ưu,bộ phát nguồn dòng và mô tơ vận hành SQL Bộ dịch thực hiện phân tích cú pháp và ngữ nghĩa của các câu lệnh SQL Bộ tối ưu sử dụng các luật nội tại hay các phương... bộ phân rã câu hỏi thành số các câu hỏi ở xa, gửi chúng đến các út ở xa vận hành Sau khi có kết quả đến nút cục bộ thì dùng cho nsd hay ứng dụng cục bộ b Sử dụng các khung nhìn trong dòng được sắp thứ tự (Collocated Inline Views) Tối ưu hiệu quả nhất là truy vấn truy nhập là ít nhất và xử lý chỉ các dữ liệu cần thiết VD, gthiet ta tham chiếu 5 bảng xa từ 2 csdl csdl xa khác nhau trong 1 truy vấn phân. .. SELECT e.empno,e.ename,d.deptno,d.dname FROM (SELECT empno, ename from emp@orc1.world) e, dept d; Collocated inline 1 inline view chọn dữ liệu từ nhiều bảng chỉ từ 1 csdl đơn Nó view giảm nhỏ tổng thời gian csdl xa được truy nhập, cải thiện hiệu năng của truy vấn csdl phân tán Oracle khuyến cáo ta nên hình thành việc dùng collocated inline views để tăng hiệu năng truy vấn CBO Oracle có thể viết lại trong... nghiêm ngặt của heuristic: thực hiện các thao tác unary trước các thao tác nhị phân Bởi tính nghiêm ngặt của cây join: chỉ xem cây tuyến tính (mỗi lần thêm một nút vào cây), bỏ qua cây bushy(nhóm hai riêng rẽ các nut thành nút mới) Chiến luoc tìm kiếm: Làm sao chuyển trong không gian tim kiếm • Xác định o Bắt đầu từ các quan hệ cơ sở và xây dựng các kế hoach bằng cách thêm mỗi quan hệ ở mỗi bước o Lập trình ... cô đinh công cộng chia xẻ 3.2.2.2 Thực (Quản trị tên/Tạo liên kết CSDL /Quản trị liên kết /Quản trị suốt định vị /Quản trị suốt câu lệnh) Quản tri CSDL phân tán This chapter describes how to manage... ngoài/LIS: ~lược đồ cục Thiết kế csdl phân tán cần yếu tố: • Phân chia csdl thành pdoan • CÁc phân đoạn nhân • Định vị phân đoạn nhân Tức mức suốt phân tán • Trong suốt phân đoạn • Trong suốt định vị... Lược đồ tổng thê (phân rã truy vấn)->truy vấn đại số quan hệ phân tán- >lược đồ phân đoạn(định vị liệu) - >phân đoạn truy vấn->thống kê phân đoạn(tối ưu hóa tổng thể)-> truy vấn phân đoạn tối ưu