Sự nghiên cứu về hệ thống mạng phân tán bao gồm nhiều lĩnh vực như:Mạng truyền thông, hệ điều hành phân tán, cơ sở dữ liệu phân tán, lý thuyết về các hệ thống song song và phân tán, cấu
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
NGUYEN THỊ KHUY
HE THONG CƠ SỞ DU LIEU DỰA TREN CO CHE
PHAN TAN DU LIEU
CHUYEN NGANH: HE THONG THONG TIN
MA SO: 60.48.01.04
TOM TAT LUAN VAN THAC SI
HÀ NỘI - 2015
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG
Người hướng dẫn khoa học: Thầy PGS.TS Hà Hải Nam
Phản biện 1: Phùng Văn On
Phản biện 2: Hoàng Lê Minh
Luận văn được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu
chính Viễn thông
Vào lúc: 13g1ờ ngày 20 tháng 09 năm 2015
Có thé tìm hiểu luận văn tại:
- Thu viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
Từ khi máy tính ra đời nó phục vụ rất nhiều trong mọi lĩnh vực đời sông kinh
tế xã hội, con người có thê khai thác thông tin trên mạng, lay dữ liệu và dùng chung
dữ liệu trên mạng, Từ những nguồn thông tin ấy con người có thé truy nhập tới và
sử dụng chúng Các ứng dụng này có tần suất sử dụng cao, yêu cầu hoạt động liêntục Do vậy, hệ thong mang phải có kha năng mở rộng tối ưu để đáp ứng được mộtlượng lớn các yêu cầu ngày càng tăng của người dùng mà không gây ra bất kỳ một
độ trễ không mong muốn nào
Một trong những xu hướng lựa chọn hệ thống mạng ngày nay là phân tán sự
tính toán giữa các hệ thống vật lý khác nhau Các hệ thống vật lý này có thé khác
nhau về quy mô và chức năng Chúng thường bao gồm các máy trạm, các máy tínhmini và các hệ thống máy tính đa năng lớn Các hệ thống này thường được gọi làcác nút Sự nghiên cứu về hệ thống mạng phân tán bao gồm nhiều lĩnh vực như:Mạng truyền thông, hệ điều hành phân tán, cơ sở dữ liệu phân tán, lý thuyết về các
hệ thống song song và phân tán, cấu trúc nối mạng, độ tin cậy và khả năng chịu lỗi,
hệ thống phân tán trong thời gian thực, khả năng gỡ lỗi phân tán và các ứng dụngphân tán Như vậy hệ thống mạng phân tán bao gồm mạng vật lý, các nút và cácphần mềm điều khiển Có nhiều lý do dé xây dung một hệ thong mang phan tan, d6
là: chia sẻ tài nguyên, cải tiễn sự tối ưu, độ tin cậy, khả năng truyền thông và độ khả
mở Một trong những van dé của hệ thống mạng phân tán là cải tiến sự tối ưu của hệthống truyền thông, thông qua cải tiễn hiệu năng hệ thống
Với những tìm hiểu thu thập được, đề tài sẽ tập trung đi sâu nghiên cứu vàomột số các vấn đề sau: (1) Vẫn đề hiệu năng hệ thống CSDL, Các cách tiếp cậnnâng cao hiệu năng hệ thống CSDL, (2) Phân tán dữ liệu, Đề xuất giải pháp cảithiện hiệu năng dựa trên phân tán dit liệu, (3) Nghiên cứu triển khai thử nghiệm dé
xuất và đánh giá kết quả thử nghiệm
Trang 4CHƯƠNG I: GIỚI THIỆU
1.1 Phát biểu bài toán
1.2 Vẫn đề hiệu năng hệ thống CSDL
1.2.1 Khai niệm hiệu nang
a, Khai niém hiéu nang
b, Cac độ đo hiệu nang
1.2.2 Hé thong CSDL
a, Khái nệm CSDL
Cơ sở dữ liệu [3].[5] là một hệ thống các thông tin có cau trúc, được lưu trữ
trên các thiết bị lưu trữ nhằm thõa mãn yêu cầu khai thác thông tin đồng thời của
nhiều người sử dụng hay nhiều chương trình ứng dụng chạy cùng một lúc với
: Tap trung va quan lý các dữ liệu rời rac.
: Dữ liệu không ton tại riêng lẻ mà có sự phụ thuộc lẫn nhau (ví dụ: dữ liệu nhân
viên có quan hệ chặt chẽ với dữ liệu của phòng ban và gia đình)
- CSDL không chỉ quản lý dữ liệu mà còn quan lý các quan hệ cua dir liệu
Trang 5* Chia sẻ (sharing)
- Nhiều user cùng sử dụng đồng thời
- Dữ liệu có thể được sử dụng cho nhiều mục địch, nhiều ứng dụng
c, Kiến trúc một hệ thống CSDL
1.2.3 Hiệu năng hệ thống CSDL
Tìm hiểu hiệu năng hệ thống CSDL nghiên cứu dựa trên những ưu điểm của
hệ thống CSDL[2]:
Giảm bot dự thừa dit liệu trong lưu trữ:
Tổ chức lưu trữ dữ liệu theo lý thuyết CSDL sẽ tránh được sự không nhất
quán trong lưu trữ dữ liệu và bảo đảm được tính toàn vẹn cua dit liệu:
Tổ chức lưu trữ dữ liệu theo lý thuyết CSDL có thể triển khai đông thời nhiều
ung dụng trên cùng một CSDL
Tổ chức dữ liệu theo lý thuyết cơ sở dữ liệu sẽ thống nhất các tiêu chuẩn, thủ
tục và các biện pháp bảo vệ, an toàn đữ liệu:
1.3 Các cách tiếp cận nâng cao hiệu năng hệ thống CSDL
Các cách tiếp cận nâng cao hiệu năng CSDL sau:
1.3.1 Giải pháp dựa trên thiết kế phần cứng
1.3.2 Tinh chỉnh hiệu nang CSDL
Khái niệm, mục tiêu và một số tinh chỉnh (tuning) hiệu năng hệ thống CSDL[13]:
+ Khái niệm: Khi CSDL được triển khai và van hành, có thé xuất hiện một số van
đề chưa được tính toán trong quá trình thiết kế CSDL vật lý, cần xem xét lại thiết
kế CSDL vật lý
+ Mục tiêu của tinh chỉnh: Tăng tốc độ thực thi của ứng dụng, giảm thời gian đáp
ứng của truy vân và giao tác, cải thiện thông năng cua giao tác.
+ Một số tinh chỉnh: tinh chỉnh chỉ mục (tuning indexes), tinh chỉnh thiết kế CSDL
(tuning the database design), tỉnh chỉnh truy vấn (tuning queries)
a, Tinh chỉnh chỉ mục (tuning indexes).
b, Tinh chinh thiét ké CSDL (tuning the database design).
Trang 6c, Tinh chỉnh truy van (tuning queries).
hiệu năng dựa trên phân tán dữ liệu và ứng dụng.
Trang 7CHƯƠNG II: GIẢI PHÁP NÂNG CAO HIỆU NĂNG DỰA
TREN PHAN TAN DU LIEU
2.1 Phan tán dữ liệu
2.1.1 Định nghĩa CSDL phân tan
* Định nghĩa CSDL phân tan[2].[4]: Một tuyên tập dữ liệu có quan hệ logic với
nhau, được phân bồ trên các máy tính của một mạng máy tính
- Tính chất phân tán: Toàn bộ đữ liệu của CSDL phân tán không được cư trú ở
một nơi mà cư trú ra trên nhiều trạm thuộc mạng máy tính, điều này giúp chúng ta
phân biệt CSDL phân tán với CSDL tập trung đơn lẻ.
- Tương quan logic: Toàn bộ dữ liệu của CSDL phân tán có một số các thuộctính ràng buộc chúng với nhau, điều này giúp chúng ta có thé phân biệt một CSDL
phân tán với 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.
*Hệ quản trị CSDL phân tán: Hệ thống phần mềm cho phép quản lý CSDL phân tán
và đảm bảo tính trong suôt vê sự phân tán đôi với người dùng.
+ Chia sẻ tài nguyên: Thực hiện thông qua mạng truyền thông
+ Tính mở: dễ dang mở rộng phan cứng và phan mềm
Trang 8+ Khả năng song song : Được thực hiện do nhiều người sử dụng đồng thời ra các
lệnh hay các tương tác với các chương trình ứng dụng Và nhiều tiến trình Serverchạy đồng thời, mỗi tiến trình đáp ứng các yêu cầu từ các tiến trình Client khác
+ Khả năng mở rộng: có thể làm việc tới hàng nghìn máy
+ Khả năng thứ lỗi: có thể khôi phục khi lỗi được phát hiện
+ Tính trong suốt: trong suốt với người sử dụng và những người lập trình ứng dụng+ Đảm bảo tin cậy va nhất quán: sự bí mật của đữ liệu phải được bảo vệ, các chức
năng khôi phục hư hỏng phải được đảm bảo Và không được có mâu thuẫn trong
nội dung dữ liệu.
2.1.3 Mục dich cua việc sử dụng cơ sở dữ liệu phân tan
Mục đích của việc sử dụng cơ sở dữ liệu phân tan[2].[4] là:
Làm giảm tổng chỉ phí tìm kiếm: Việc phân tán dữ liệu cho phép các nhómlàm việc cục bộ có thé kiểm soát được toàn bộ dữ liệu của ho Tuy vậy, tại cùng
thời điểm người sử dụng có thể truy cập đến đữ liệu ở xa nếu cần thiết Tại các vị trícục bộ, thiết bị phần cứng có thé chọn sao cho phù hợp với công việc xử lý dữ liệu cục
bộ tại điểm đó
Sự phát triển mở rộng: Các tô chức có thé phát triển mở rộng bằng cách thêm
các đơn vi mới, vừa có tinh tự tri, vừa có quan hệ tương đối với các đơn vị tổ chức
khác Khi đó giải pháp cơ sở dữ liệu phân tán hỗ trợ một sự mở rộng 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
Trả lời truy van nhanh: Hau hết các yêu cầu truy van dữ liệu từ người sử
dụng tai bat kỳ vị trí cục bộ nào đều thoả mãn dữ liệu ngay tại thời điểm đó
Độ tin cậy và khả năng sử dụng nâng cao: nếu có một thành phần nào đó của
hệ thong bi hong, hé thong vẫn có thé duy trì hoạt động
Khả năng phục hồi nhanh chóng: Việc truy nhập dữ liệu không phụ thuộcvào một máy hay một đường nối trên mạng Nếu có bất kỳ một lỗi nào hệ thống cóthé tự động chọn đường lại qua các đường nối khác
2.1.4 Sơ đà kiến trúc CSDL phân tán
2.1.5 Cơ chế phân tán
Trang 9Có ba tiếp cận chính về cơ chế phân tán, dùng để quản lý truy nhập cơ sở dữ
liệu[2].[4]: đó là cơ chế tập trung, phân mảnh, và sao chép cơ sở dữ liệu
a, Cơ chế tập trung
Tiếp cận tập trung được dùng với mô hình tập trung, trong đó cơ sở dữ liệukhông hoàn toàn theo phân bố vật lí Người ta bảo quản toàn bộ cơ sở dit liệu trênmột máy tính Server tại trung tâm, và các thành phần Client chạy trên các máy tínhkhác đề truy nhập máy Server Bản thân cơ sở đữ liệu là tập trung dù việc khai thác
được tô chức phân tán
Với nhiều môi trường làm việc, tiếp cận tập trung là thích hợp Nó cho phép
tất cả các thao tác cập nhật cơ sở dữ liệu được thực hiện tại chỗ và không cần nhiềubản sao đữ liệu Tuy nhiên máy Server trong tiếp cận này trở nên điểm hay mắc lỗitrong hệ thống Nếu rủi ro xảy ra tại máy Server, không ai có thê truy nhập nó
b, Cơ chế phân mảnh
Theo kiểu phân mảnh, một số bản ghi cơ sở dt liệu được ghi trên một máy
tính, và một số bản ghi khác được ghi trên các máy tính còn lại Tuy nhiên theo
cách này không phan dit liệu nào lại ghi ở nhiều chỗ; do vậy cho phép cơ chế cập
nhật trở nên đơn giản hơn.
Người ta dùng nhiều loại phân mảnh dữ liệu, thông thường có thê kể ra gồm:
* Tất cả các bảng đối với bat kỳ cơ sở dit liệu nào cũng có thé ghi ở một chỗ; cơ sở
dữ liệu khác nhau ghi tại nơi khác nhau Tất cả các cơ sở dit liệu có thé được xử lí
Người ta dé dàng phát hiện ra phần mềm co sở dữ liệu tại những nơi đặt dữ
liệu Bản thân phần mềm cơ sở đữ liệu có thê lưu trữ tất cả thông tin liên quan đến
vị trí của dữ liệu, hoặc người ta dùng dịch vụ thư mục toan mang dé giúp phần mềm
cơ sở dir liệu định vi những phân khác nhau của co sở dữ liệu.
Trang 10c, Bao sao dữ liệu và trích dữ liệu
Với tiếp cận phân mảnh hay tập trung, không có một bản sao dữ liệu nàotrong cơ sở đữ liệu Mỗi dữ liệu được ghi chỉ ở một nơi Hai tiếp cận phụ dùng đểtạo nên nhiều bản sao của toàn bộ hay một phần dữ liệu được dùng dưới dạng kĩ
thuật sau:
* Trích dữ liệu Bản sao cơ sở dir liệu được gọi là trích (extract) khi ban sao
được dùng với phép đọc Các giá trị phần tử dữ liệu trích ra không phục vụ cho mục
đích cập nhật.
* Bao sao dữ liệu Ban sao cơ sở dữ liệu được gọi là sao (replica) khi giá tri
phần tử dữ liệu sao chép dùng được cho mục đích cập nhật Khi đó giá trị mới sẽ
được cập nhật trong toàn cơ sở dit liệu, tức trên cả ban sao khác.
Nhờ kĩ thuật trích và sao dữ liệu, các giá trị dữ liệu của cơ sở dữ liệu được
ghi tại nhiều nơi khác nhau; người ta có thé nâng tính sẵn sàng, giảm tỉ lệ mat dữliệu do sai sót và tăng hiệu suất Tuy nhiên đó lại là nguy cơ mất bền vững dữ liệu
Có thé sao chép toàn bộ cơ sở dit liệu hay nếu dùng kĩ thuật phân đoạn thì người ta
có thê sao chép một phần cơ sở dữ liệu
2.1.6 Ưu nhược điểm của cơ chế phân tán
Ưu điểm
o Dap ứng nhanh hầu hết các ứng dụng sử dụng dữ liệu tại các trạm
o Tăng cường các đơn thé ứng dụng và CSDL mà không làm cản trở người sử
Trang 11o_ Khó kiểm soát tính toàn vẹn dữ liệu với nhiều bản sao dit liệu được phân bố
khắp mọi nơi
o Dap ứng chậm nhu cầu của các trạm trong trường hop các phần mềm ứng
dụng không được phân bố phù hợp với việc sử dụng chung
2.2 Đề xuất giải pháp cải tiến hiệu năng dựa trên phân tán dữ liệu
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ảnhcá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ó rathành một tập cá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
2.2.2 Các qui tắc phân mảnh đúng đắn
Sự phân mảnh là chia dữ liệu trong các bảng dữ liệu thành các bộ hoặc các
bang đữ liệu con Có ba kiểu phân mảnh một quan hệ tong thé: Phân mảnh ngang,
phân mảnh dọc và phân mảnh hỗn hợp [2].[4]
Một sự phân mảnh là đúng dan nếu thoả mãn ba điều kiện sau:
- Điều kiện không mắt thông tin: Tat cả dữ liệu của quan hệ tổng thé phảiduoc ánh xạ tới các mảnh, có nghĩa mỗi phần tử dữ liệu thuộc quan hệ tổng thể
phải thuộc một hay nhiều mảnh của nó
- Điều kiện xây dựng lại: Luôn có thể xây dựng lại được quan hệ tổng thể
từ các mảnh đã có.
- Điều kiện rời nhau (chi áp dụng cho phân mảnh ngang): Dé tối thiểu
hoá sự lặp lại của dữ liệu.
Trang 122.2.3 Các kiểu phân mảnh ngang
a, *Định nghĩa phân mảnh ngang nguyên thủy:
* Thuật toán phân mảnh ngang nguyên thủy
* Vi dụ2.2: Xét quan hệ DA
MDA TênDA Ngân sách | Địa điểm
PI Thiết bị đo đạc 150000 Montreal
P2 | Phát triển dữ liệu | 135000 New York
P3 | CAD/CAM 250000 New York P4 | Bao dưỡng 310000 Paris
Chúng ta có thé định nghĩa các mảnh ngang dựa vào vi trí dự án Khi đó các
mảnh thu được, được trình bày như sau:
DA¡I=GØbpja điểm=”Monreal” (DA)
DA2=GØbia điểm "New York” (DA)
DA3=0pja điểm=”Paris° (DA)DA,
MDA TDA Ngân sách Dia diém
Pl Thiét bi do dac 150000 Montreal
DA;
MDA | TênDA Ngân sách | Địa điểm
P2 Phát triển dữ liệu | 135000 New York
P3 CAD/CAM 250000 New York
DA;
MDA | TênDA Ngân sách | Địa điểm
P4 Bảo dưỡng 310000 Paris
b, *Dinh nghia phan mang ngang dan xuat
Phân mảnh ngang dẫn xuất được định nghĩa trên một quan hệ thành viên củađường nối dựa theo phép toán chọn trên quan hệ chủ nhân của đường nối đó
Như thế nếu cho trước một đường nối L, trong đó owner (L)=S và
member(L)=R, và các mảnh ngang dẫn xuất của R được định nghĩa là:
Trang 13R=R a S;,1<i<w, w là số lượng các mảnh được định nghĩa trên R,
S;=Gr(S) với F; là công thức định nghĩa mảnh ngang nguyên thuỷ S;
* Vi dụ 2.3: Xét đường nối giữa hai bảng Nhân viên và bảng Công tác
NV CT
MNV | TênNV Chức vụ Chức vụ Lương
El J.Doe Kỹ sư điện Kỹ sư điện 40000
E2 M.Smith | Phân tích Phân tích hệ thống | 34000
E2 M.Smith | Phân tích Ky sư cơ khí 27000
E3 A.Lee Kỹ sư cơ khí Lập trình 22000
E3 A.Lee Kỹ sư cơ khí
E4 J.Miller | Programmer
E5 B.Casey | Phân tích hệ thong
E6 L.Chu Kỹ su điện
E7 R.david | Kỹ sư cơ khí
E8 J.]ones Phân tích hệ thong
CT Chức vụ, Lương
NV
LI
MNV, TênNV, Chức vụ
chúng ta có thé nhóm các kỹ sư thành hai nhóm tùy theo lương: nhóm có lương từ
30.000 đôla trở lên và nhóm có lương dưới 30.000 đô la Hai mảnh Nhân viên; và
Nhân viên; được định nghĩa như sau:
NV¡=NV a CT,
NV.=NVa CT,
Trong đó CT¡=Ø1uøng<aoooo( CT)
Trang 14CT=Ø1 ương>3oooo( CT)
CT, CT,
Chức vu Luong Chic vu Luong
Kỹ sư co khí 27000 Kỹ sư điện 40000
Lập trình 24000 Phân tích hệ thống | 34000
Kết quả phân mảnh ngang dẫn xuất của quan hệ NV như sau:
NV, NV,
MNV | TênNV Chức vụ MNV | TênNV Chức vụ
E3 A.Lee Kỹ sư cơ khí EI J.Doe Kỹ sư điện
E4 J.Miller Lap trinh vién E2 M.Smith | Phan tich
E7 R.David | Kỹ su cơ khí E5 B.Casey | Phân tích hệ thống
E6 L.Chu Kỹ sư điện
E8 J.]ones Phân tích hệ thống
Chú ý:
+ Muốn thực hiện phân mảnh ngang dẫn xuất, chúng ta cần ba nguyên liệu
(input): 1 Tap các phân hoạch cua quan hệ chu nhân (Thi dụ: CT1, CT2).
2 Quan hệ thành viên
3 Tập các vị từ nối nửa giữa chủ nhân và thành viên (Chăng hạn
CT.Chucvu = NV.Chucvu).
+ Van dé phức tap can chú ý: Trong lược đồ CSDL, chúng ta hay gặp nhiều
đường nối đến một quan hệ R Như thế có thể có nhiều cách phân mảnh cho quan
hệ R Quyét định chon cách phân mảnh nao cân dựa trên hai tiêu chuân sau:
1 Phân mảnh có đặc tính nối tốt hơn
2 Phân mảnh được sử dụng trong nhiều ứng dụng hơn
c, Kiểm tra tính đúng đắn của phân mảnh ngang
* Tính day đủ
*, Tinh tái thiết được
* Tính tách rời
Trang 152.2.3 Phân mảnh dọc
a, Khái niệm phân mảnh dọc
b, Thuật toán phân mảnh dọc
a, Bài toán cấp phat[2].[4]
b, Yêu cầu về thông tin
c, Mô hình cấp phát
2.2.6 Dé xuất giải pháp cải thiện hiệu năng dựa trên phân tan
- Phân mảnh ngang dữ liệu
- Xác định các phân cụm của các mảnh dữ liệu theo tiêu chí các mảnh ngang trong
cùng một phân cụm sẽ có xác suất truy cập đồng thời thấp
- Phân bố mỗi cụm dữ liệu lên các máy chủ CSDL khác nhau
- Sử dụng thành phần điều phối trung gian giữa các máy chủ CSDL và các ứngdụng truy van CSDL
a, Kỹ thuật tiếp cận trong phân cụm đữ liệu
b, Sử dụng thành phần điều phối trung gian giữa các máy chủ CSDL và các
ứng dụng truy vẫn CSDL.