Tải bản đầy đủ (.pdf) (22 trang)

Cơ sở dữ liệu phân tán trong bài toán WSC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (190.75 KB, 22 trang )

Các công nghệ sử dụng trong CSDL phân tán

Trang 67
Phần I
Cơ Sở Dữ Liệu Phân Tán trong bài toán WSc
(water supply company )
i. Giới thiệu khái quát về hệ thống và các vấn đề liên
quan đến hệ thống.
Dữ liệu trong bài toán WSC đợc phân tán theo phơng pháp Partition. Lý
do về sự lựa chọn mô hình này đã đợc giải thích cụ thể trong phần giới thiệu
về các mô hình phân tán dữ liệu. Những nội dung đợc trình bày sau đây sẽ
chứng minh thêm tính đúng đắn của sự lựa chọn ấy.
1. Mô hình tổ chức và mô hình mạng của Công ty WSC.
WSC là cơ quan đã có nhiều năm ứng dụng máy tính trong sản xuất và
quản lý kinh doanh. Từ trớc năm 1997 WSC đã sử dụng hệ máy tính IBM sau
đó là các chơng trình viết bằng FoxBase và FoxPro để quản lý và tính hoá
đơn tiền nớc.Đến năm 1997 WSC đợc trang bị một hệ thống mạng máy tính
hiện đại đòi hỏi một hệ thống phần mềm mới, ứng dụng công nghệ hiện dại,
có khả năng kết nối diện rộng, quản lý lợng khách hàng lớn và đáp ứng yêu
cầu nghiệp vụ là:
- Đáp ứng 142 yêu cầu do các chuyên gia t vấn nớc ngoài đa ra bao
trùm lên các lĩnh vực chính :
1. Khách hàng.
2. Yêu cầu và khiếu nại của khách hàng.
3. Đồng hồ vật t, thiết bị và các vị trí lắp đặt đồng hồ.
4. Biểu giá tiền nớc và tiền phụ thu.
5. Chỉ số đồng hồ và xử lý hoá đơn tiền nớc.
6. Thu tiền.
7. Thởng phạt khách hàng.
8. Phiếu công tác, thi công và nhân sự.
- Đáp ứng yêu cầu nghiệp vụ hiện tại.


a. Tổ chức công ty:
Các công nghệ sử dụng trong CSDL phân tán

Trang 68
Thể hiện qua cơ đồ hình 1.IV:

Công ty cấp nớc
WSC
Hoá đơn
Chi nhánh
Sài Gòn
Chi nhánh
Chợ Lớn
Chi nhánh
Gia Định
Chi nhánh
Thủ Đức
Hợp đồng
Khách hàng
Các phòng
chức năng
NM nớc
Thủ Đức
Xí nghiệp
sửa chữa
Xí nghiệp
thi công
Xí nghiệp
vận hành
Hình 1.IV :Tổ chức Công ty WSC


b. Mô hình mạng của Công ty WSC:
Tại trung tâm có hai máy chủ chính là Billing và Account đợc nối với
nhau và chạy theo chế độ dự phòng. Khi máy thứ nhất có sự cố, thì máy thứ
hai sẽ đảm nhận nhiệm vụ của máy chủ thứ nhất. Trong trờng hợp máy chủ ở
chi nhánh có sự cố thì có thể khôi phục đầy đủ dữ liệu từ trung tâm.
Trên cơ sở tổ chức mạng của Công ty WSC, Hệ quản lý khách hàng và xử
lý hoá đơn tiền nớc đợc thiết kế theo mô hình CSDL phân tán trên môi
trờng Oracle.
Toàn bộ mạng máy tính của Công ty WSC đợc thể hiện qua hình vẽ sau:


Các công nghệ sử dụng trong CSDL phân tán

Trang 69
Sài Gòn
Chợ Lớn
Gia Định
Thủ Đức
Nhà máy nớc
Các phòng, ban
Account
Server
Billing
Server
File
Server
Developer
Server



2. Phạm vi của hệ thống.
Hệ thống đáp ứng 142 yêu cầu do chuyên gia t vấn nớc ngoài đa ra và
các yêu cầu nghiệp vụ hiện tại của WSC.
Hệ đợc chia thành 4 phân hệ chính:
- Hệ quản lý khách hàng.
- Hệ xử lý hoá đơn và thu tiền.
- Hệ tổng hợp và phân tích thông tin.
- Hệ quản trị.
Bao gồm hơn 120 module chơng trình, 70 module làm báo cáo, 30
database triggers, 105 thực thể, 83 thủ tục và hàm. Số bản ghi hệ thống phải
lu khoảng 35 000 000 bản ghi.
II. Mô hình phân tán dữ liệu tại WSC.
1. Phân tán chức năng hoạt động giữa trung tâm và chi nhánh tại
WSC.
- Trung tâm có các chức năng sau:
Các công nghệ sử dụng trong CSDL phân tán

Trang 70
+ Quản lý các danh mục của hệ thống.
+ Các thông số hệ thống.
+ Các đơn vị trực thuộc: các chi nhánh, các nhà máy nớc.
+ Tạo báo cáo phục vụ cho công việc hoạt động trên toàn công ty.
- Các chi nhánh có các chức năng sau:
+ Quản lý khách hàng.
+ Quản lý các dịch vụ đối với khách hàng.
+ Quản lý việc đọc đồng hồ của khách hàng.
+ Các báo cáo phục vụ cho công việc quản lý tại chi nhánh.
2. Mô hình dữ liệu chung tại WSC.


Centeral
Database
Saigon
Database
Cholon
Database
Thuduc
Database
Giadinh
Database

Sơ đồ dữ liệu

- Trung tâm: Dữ liệu tại trung tâm phải là hình ảnh đầy đủ về hoạt động
của công ty.
- Chi nhánh: Là một phần con của dữ liệu tại trung tâm, sao cho dữ liệu đó
đủ để chi nhánh có thể thực hiện các chức năng của mình.
3. Mô hình dữ liệu phân tán tại WSC.
Hệ thống của chúng ta sử dụng mô hình Basic Replication: Primary Site
Replication và Advanced Primary Site Replication .
Các công nghệ sử dụng trong CSDL phân tán

Trang 71
- Primary Site Replication: Một số bảng đợc quản lý tại trung tâm và có
các bản sao (read-only snapshot) của chúng tại các chi nhánh. Nh vậy, quyền
làm chủ của bảng đó là thuộc trung tâm.
- Advanced Primary Site Replication: Các bảng còn lại đợc chia thành
nhiều phần riêng biệt, mỗi phần đợc quản lý bởi một chi nhánh. Tơng ứng
với mỗi phần dữ liệu đó sẽ có một bản sao tại trung tâm, các bản sao của các
phần riêng biệt của cùng một bảng tại trung tâm sẽ đợc gộp lại thành một đối

tợng duy nhất (bản sao tổng hợp của các chi nhánh) để phục vụ cho quá trình
xử lý dữ liệu.
4. Các chú ý khi tạo các bảng tại các chi nhánh trong cấu hình CSDL
phân tán.
- Đảm bảo các ràng buộc: Các ràng buộc của các bảng tại các chi nhánh
(tức là tại một CSDL) đơng nhiên phải đợc đảm bảo. Ngoài ra các ràng buộc
này phải đợc đảm bảo trên toàn bộ hệ thống dữ liệu (bao gồm nhiều CSDL).
Oracle Server tại một CSDL không thể đảm bảo đợc điều này, do đó ta phải
thiết kế một cách hợp lý để đảm bảo đợc điều này.
- Phải xác định đợc nơi phát sinh dữ liệu cho một bảng nhất định (tại các
chi nhánh, tại trung tâm hoặc cả hai).
- Tên của các bảng: Các module tại các chi nhánh khi thực hiện thao tác
lên CSDL có một yêu cầu là tên các đối tợng đợc sử dụng phải ổn định mặc
dù đối tợng đó có thể có kiểu khác nhau (table, view, synonym, snapshot...).
Trong khi đó các bảng đợc tạo ra cha chắc đã là các đối tợng truy nhập
trực tiếp của các module, mà nó phải kết hợp với các đối tợng mới, do đó các
bảng có thể phải đổi tên để cho các đối tợng có thể sử dụng tên đó. Nh vậy
các module mới có thể truy nhập trực tiếp các đối tợng.
Để đảm bảo cho mô hình dữ liệu phân tán đáp ứng đợc các chú ý trên ta
phải thực hiện việc phân tích từng bảng trong hệ thống để có đợc những
thông tin cần thiết trong bảng sau:
Table name Owner Constraints
Sequences


Các công nghệ sử dụng trong CSDL phân tán

Trang 72
Chú thích:
- Table name: Là tên bảng theo thiết kế hiện tại.

- Owner: Xác định xem quyền làm chủ bảng sẽ là trung tâm hay chi
nhánh. Giá trị cho cột này có thể là một trong hai giá trị 'Trung tâm' hoặc 'Chi
nhánh'. Quyền làm chủ ở đây có nghĩa là các thao tác Update lên bảng sẽ do
phía nào thực hiện. Nếu một bảng nào đó có thể Update đợc từ cả trung tâm
và chi nhánh thì mô hình dữ liệu phân tán ở trên sẽ không áp dụng đợc.
- Constrains: Liệt kê tất cả các ràng buộc trên bảng theo thứ tự và khuôn
dạng sau:
Primary key: PK_NAME(column1,column2,...)
Unique key: UK_NAME(column1,column2,...)
Foreign key: FK_NAME(col1,col2,...) =>
REF_TABLE(ref_col1,ref_col2,...)
- Sequences: Liệt kê tất cả các sequence mà bảng có sử dụng đến theo
khuôn dạng sau: SEQ_NAME(column_use_this_sequence)
Ví dụ 1:
ABC: Assign billing cycle to customers.
Owner: Branch.
Constraints:
+ ASS_BCY_PK(CUST_ID, STT)
+ ASS_BCY_BLL_CYS_FK (BRANCH_ID,BC_CODE)=>
BILLING_CYC (BARANCH_ID, CODE)
+ ASS_BCY_CUST_FK (CUST_ID) => CUSTOMERS(ID)
Sequences:
Notes:
Names:
+ Branch: Table ABC
+ Center: Snapsshot ABC$TD, ABC$SG ...; View ABC

Ví dụ 2: ACTIVITIES_CUST_PARAMETERS
Owner: Center
Các công nghệ sử dụng trong CSDL phân tán


Trang 73
Constraints:
+ ACTIVITY_C_PK(ID,CPRS_ID)
+ ACTIVITY_C_ ACTIVITY_FK(ID) => ACTIVITY(ID)
+ ACTIVITY_C_CPRS_FK (CPRS_ID)
=> CUST_ PARAMETERS(CPRS_ID)
Sequences:
Notes: Định nghĩa tại trung tâm và đợc sử dụng tại các chi nhánh
trong các giao dịch với khách hàng.
a. Cách đặt tên:
- Nếu một bảng có nguồn gốc từ chi nhánh thì cách đặt tên nó nh sau:
Tại các chi nhánh có các bảng cùng tên.
Tại trung tâm: Các Snapshot có tên tạo bởi tên bảng ghép với dấu $ và
mã chi nhánh, một View có cùng tên với bảng tổng hợp dữ liệu từ các
Snapshot.
Ví dụ :
Bảng ABC có nguồn gốc từ các chi nhánh do đó nó có cách tổ chức nh
sau:
Tại các chi nhánh Sài Gòn, Chợ Lớn, Thủ Đức, Gia Định có các bảng
tên là ABC. Tại trung tâm có 4 snapshot là ABC$SG, ABC$CL, ABC$TD,
ABC$GD lấy dữ liệu từ các bảng ở các chi nhánh theo câu lệnh sau:
CREATE SNAPSHOT ABC$SG AS
SELECT * FROM ABC@saigon;
và một View tổng hợp dữ liệu từ 4 chi nhánh:
CREATE VIEW ABC AS
SELECT * FROM ABC$SG
UNION
SELECT * FROM ABC$CL
UNION

SELECT * FROM ABC$TD
UNION
SELECT * FROM ABC$GD ;
Các công nghệ sử dụng trong CSDL phân tán

Trang 74
- Nếu một bảng có nguồn gốc từ trung tâm và dữ liệu của nó không phụ
thuộc vào từng chi nhánh thì nó có cách đặt tên nh sau:
Tại trung tâm có một bảng nh tên đã định.
Tại mỗi chi nhánh có một Snapshot có cùng tên.
Ví dụ: Bảng EXCHANGES có nguồn gốc từ trung tâm.
Tại trung tâm có một bảng có tên là EXCHANGES.
Tại mỗi chi nhánh có một Snapshot có tên EXCHANGES và đợc tạo ra
nh sau:
CREATE SNAPSHOT EXCHANGES
AS SELECT * FROM EXCHANGES@wsc ;
- Nếu bảng có nguồn gốc trung tâm nhng bản thân dữ liệu lại phụ thuộc
từng chi nhánh thì nó cùng có cách đặt tên nh trên nhng khác ở câu lệnh tạo
Snapshot.
Ví dụ: Tạo Snapshot BILLS tại chi nhánh Chợ Lớn
CREATE SNAPSHOT BILLS AS
SELECT * FROM BILLS@wsc
WHERE BRANCH_CODE = 'CL' ;
b. Cách tạo các FK:
Tại các chi nhánh: FK có liên quan đến các Snapshot (đến hoặc đi từ) vẫn
đợc giữ nguyên, chỉ có tên bảng chứa Snapshot đợc sử dụng thay vì tên
Snapshot.
Tại trung tâm: FK có dính dáng đến các Snapshot đợc tách thành 4 FK.
c. Tiến hành:
Sử dụng Designer/2000 để thực hiện việc tạo các DDL scripts.

- Tạo hai Application đại diện cho trung tâm và chi nhánh (CENTER và
BRANCH), và tạo một Application tên là ALL_OBJECTS phục vụ cho mục
đích tạo ra các FK của tất cả các bảng trong hệ thống một cách tổng thể.
- Vào các ứng dụng WBL, WCA, WMA và WMI để share tất cả các bảng
cho hai ứng dụng này một cách tơng ứng (bảng nào có nguồn gốc trung tâm

×