Ứng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà NộiỨng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà NộiỨng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà NộiỨng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà NộiỨng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà NộiỨng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà NộiỨng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà NộiỨng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà NộiỨng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà NộiỨng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà Nội
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu khoa học độc lập của riêng tôi Các số liệu sử dụng phân tích trong luận án có nguồn gốc rõ ràng, đã công bố theo
đúng quy định Các kết quả nghiên cứu trong luận văn do tôi tự tìm hiểu, phân tích
một cách trung thực, khách quan và phù hợp với thực tiễn của Việt Nam Các kết
quả này chưa từng được công bố trong bất kỳ nghiên cứu nào khác
Hà Nội, ngày 28 tháng 01 năm 2019
Tác giả
Trần Quốc Vương
Trang 4LỜI CẢM ƠN
Sau thời gian nỗ lực thực hiện, đồ án “Ứng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công ty FPT Telecom Hà Nội” phần nào đã hoàn thành Ngoài sự nỗ lực của bản thân, học viên còn nhận được sự khích lệ rất nhiều từ phía nhà trường, thầy cô, gia đình và bạn bè trong khoa Chính điều này đã mang lại cho học viên sự động viên rất lớn để học viên có thể hoàn thành tốt đồ án của mình
Trước hết con xin cảm ơn bố mẹ, ông bà và những người thân yêu đã luôn động viên, ủng hộ, chăm sóc và tạo mọi điều kiện tốt nhất để con hoàn thành nhiệm
vụ của mình
Học viên xin cảm ơn Học viện nói chung và Khoa quốc tế và đào tạo sau đại học nói riêng đã đem lại cho học viên nguồn kiến thức vô cùng quý giá để học viên
có đủ kiến thức hoàn thành đồ án cũng như làm hành trang bước vào đời
Học viên xin cảm ơn các thầy cô, đặc biệt là cô Phan Thị Hà - giáo viên hướng dẫn đã tận tình hướng dẫn và giúp đỡ mỗi khi học viên có khó khăn trong quá trình học tập cũng như trong quá trình làm đồ án tốt nghiệp
Xin cảm ơn tất cả bạn bè thân yêu đã động viên, giúp đỡ học viên trong suốt
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
DANH MỤC THUẬT NGỮ VIẾT TẮT vi
DANH MỤC HÌNH viii
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 3
1.1 Giới thiệu bài toán quản lý vật tư của FPT Telecom Hà Nội 3
1.2 Giới thiệu về cơ sở dữ liệu phân tán 6
1.2.1 Sự ra đời của cơ sở dữ liệu phân tán 6
1.2.2 Cơ sở dữ liệu phân tán 7
1.2.3 Hệ quản trị cơ sở dữ liệu phân tán 7
1.3 Các đặc trưng của cơ sở dữ liệu phân tán 9
1.4 Các hình thức tổ chức hệ thống phân tán 10
1.4.1 Mô hình Peer-to-peer 10
1.4.2 Mô hình File Server 11
1.4.3 Mô hình Client/Server 11
1.5 Các đặc trưng của các loại hình hệ thống phân tán 12
1.6 Ưu điểm và nhược điểm của hệ cơ sở dữ liệu phân tán 14
1.6.1 Ưu điểm 14
1.6.2 Nhược điểm 14
1.7 Các loại truy xuất cơ sở dữ liệu phân tán 15
1.7.1 Truy xuất từ xa thông qua các tác vụ cơ bản 15
1.7.2 Truy xuất từ xa thông qua chương trình phụ trợ 15
1.8 Lý do sử dụng CSDL phân tán cho bài toán quản lý vật tư 16
1.9 Kết luận 17
CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 18
2.1 Các chiến lược phân tán dữ liệu 18
2.2 Kiến trúc tham chiếu cơ sở dữ liệu phân tán 18
Trang 62.3 Các phương pháp thiết kế CSDL phân tán 24
2.4 Phân mảnh 26
2.5 Cấp phát (allocation problem) 30
2.5.1 Bài toán cấp phát 31
2.5.3 Mô hình cấp phát 34
2.6 Kết luận 36
CHƯƠNG 3: XÂY DỰNG CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG HỆ THỐNG QUẢN LÝ VẬT TƯ TẠI CÔNG TY FPT TELECOM HÀ NỘI 37
3.1 Phân tích hệ thống quản lý vật tư 37
3.1.1 Mức ra quyết định 38
3.1.2 Mức Trung gian 38
3.1.3 Mức tác nghiệp 38
3.2 Chức năng chính của bài toán quản lý vật tư 39
3.2.1 Phân hệ quản lý nhập vật tư 39
3.2.2 Phân hệ quản lý xuất vật tư 39
3.2.3 Phân hệ quản lý nhân viên 40
3.3 Phân tích thực thể 40
3.4 Thiết kế cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư 43
3.4.1 Thiết kế phân mảnh 43
3.4.2 Thiết kế định vị 48
3.4.3 Thiết kế sơ đồ ánh xạ địa phương 48
3.5 Giải pháp đồng bộ hóa cho hệ thống quản lý vật tư 52
3.5.1 Xây dựng hệ thống mạng cho hệ thống 52
3.5.2 Phân tích và thiết kế đồng bộ hóa cho hệ thống quản lý vật tư 53
3.6 Cài đặt và thử nghiệm 55
3.6.1 Cài đặt hệ thống 55
3.6.2 Tạo các liên kết link Server CSDL trong hệ thống CSDL phân tán 55
3.6.3 Cài đặt đồng bộ hóa 59
3.6.4 Thử nghiệm phần mềm quản lý vật tư trên hệ thống phân tán 63
Trang 73.7 Đánh giá kết quả 65 KẾT LUẬN 66 TÀI LIỆU THAM KHẢO 67
Trang 8DANH MỤC THUẬT NGỮ VIẾT TẮT
Tiếng anh
DBMS Database Management System
DDBMS Distributed database management system SQL Structured Query Language
LAN Local Area NetWork
Tiếng việt
CSDL Cơ sở dữ liệu
Trang 9DANH MỤC BẢNG
Bảng 1.1 Đặc trưng của File Server và Client/Server 12
Bảng 1.2 Trình diễn thông tin phân tán ở Client và Server 13
Bảng 1.3 Trình diễn từ xa ở Client và Server 13
Bảng 1.4 Quản lý dữ liệu từ ở Client và Server 13
Bảng 1.5 Phân tán chức năng ở Client và Server 14
Bảng 3.1: Bảng Danh sách thực thể 40
Bảng 3.2: Các trườngthông tin của thực thể Account 40
Bảng 3.3: Các trường thông tin của thực thể Employee 41
Bảng 3.4: Các trường thông tin của thực thể Role 41
Bảng 3.5: Các trường thông tin của thực thể Warehouse 41
Bảng 3.6: Các trường thông tin của thực thể Materials_in 41
Bảng 3.7: Các trường thông tin của thực thể Materials_out 42
Bảng 3.8 Bảng phân tích tần suất truy cập cơ sở dữ liệu 45
Bảng 3.9 Phân mảnh nguyên thuỷ và dẫn xuất tại mỗi vị trí 46
Bảng 3.10 Account 50
Bảng 3.11 Employee 50
Bảng 3.12 Role 51
Bảng 3.13 Warehouse 51
Bảng 3.14 Materials_in 51
Bảng 3.15 Materials_out 52
Trang 10DANH MỤC HÌNH
Hình 1.1 Mô hình Cơ sở dữ liệu phân tán 7
Hình 1.2 Các thành phần trên site [1] 8
Hình 1.3 Mô hình Peer-to-peer 11
Hình 1.4 Mô hình File Server 11
Hình 1.5 Mô hình Client/Server 12
Hình 1.6 Sơ đồ truy xuất từ xa thông qua các tác vụ cơ bản 15
Hình 1.7 Sơ đồ truy xuất từ xa thông qua chương trình phụ trợ 15
Hình 2.1 Mô hình kiến trúc tham chiếu CSDL phân tán 19
Hình 2.2 Các đoạn và hình ảnh vật lý của một quan hệ tổng thể 20
Hình 2.3 Tính trong suốt phân đoạn 22
Hình 2.4 Sự trong suốt về vị trí 23
Hình 2.5 Sự trong suốt ánh xạ địa phương 24
Hình 2.6 Phương pháp thiết kế CSDL phân tán top-down [1] 24
Hình 2.7 Phân mảnh dọc 28
Hình 2.8 Mô hình Phân mảnh hỗn hợp 29
Hình 3.1 Các phân hệ của hệ thống quản lý vật tư công ty FPT Telecom 39
Hình 3.2 Mô hình quan hệ thực thể 43
Hình 3.3 Lược đồ tổng thể cho việc phân mảnh 44
Hình 3.4 Sơ đồ định vị 48
Hình 3.5 Các đoạn và hình ảnh vật lý của một quan hệ tổng thể 49
Hình 3.6 Mô hình mạng của hệ thống 53
Hình 3.7 Mô hình liên kết link server 54
Hình 3.8 Tạo Linked Server 58
Hình 3.9 Điền thông tin Linked server 59
Hình 3.10 Tạo Publication 59
Hình 3.11 Merge publication 60
Hình 3.12 Đồng bộ hóa CSDL 60
Hình 3.13 Tạo Publication 61
Trang 11Hình 3.14 Subscriptions 61
Hình 3.15 Publication 62
Hình 3.16 Kết nối tới các máy trạm 62
Hình 3.17 Tạo CSDL mới trên các máy trạm 63
Hình 3.18 Chế độ xác thực 63
Hình 3.19 Quản lý Account cho các tài khoản 64
Hình 3.20 Giao diện truy cập cho quyền quản trị (admin) 64
Hình 3.21 Giao diện xuất nhập vật tư 64
Trang 12cơ sở dữ liệu tập trung nhờ kết nối các cơ sở dữ liệu với nhau qua mạng truyền thông Cơ sở dữ liệu phân tán ngày càng được ứng dụng nhiều trong thực tế, nhất là các công ty, tập đoàn có nhiều bộ phận khác nhau phân bố trên phạm vi địa lý rộng lớn thì cơ sở dữ liệu phân tán càng thể hiện sức mạnh của nó Công ty FPT Telecom
Hà Nội cũng vậy, là một công ty có cơ sở dữ liệu lớn và phân tán cho nên ngay từ rất sớm, công ty đã có kế hoạch áp dụng mô hình cơ sở dữ liệu phân tán vào quản lý vật tư trong các cơ quan, các tổ chức hoạt động với mô hình lớn Xuất phát từ nhu cầu thực tế của Công ty FPT Telecom Hà Nội, luận văn đề xuất thực hiện đề tài
“Ứng dụng mô hình cơ sở dữ liệu phân tán cho hệ thống quản lý vật tư tại công
ty FPT Telecom Hà Nội”
Đề tài này cho phép tạo ra mô hình cơ sở dữ liệu phân tán để quản lý việc nhập, xuất vật tư, thanh lý, thu hồi vật tư, quản lý thống kê được hàng tồn kho giúp cho người quản lý cân đối được việc nhập xuất vật tư, đưa ra báo cáo chi tiết về mua hàng, chi tiết bán hàng, công nợ phải thu, công nợ phải trả khách hàng, lượng hàng tồn kho, đơn giá vật tư hiện tại để báo giá cho khách hàng khi có nhu cầu Việc ứng dụng cơ sở dữ liệu phân tán vào quản lý vật tư đem lại nhiều lợi ích to lớn cho công ty FPT Telecom Hà Nội
Luận văn gồm 3 chương chính:
Chương 1: Tổng quan về cơ sở dữ liệu phân tán
Trong chương này luận văn trình bày các khái niệm cơ bản, các kiến thức cơ
sở về cơ sở dữ liệu phân tán và các phương pháp thiết kế cơ sở dữ liệu phân tán
Trang 13Chương 2: Thiết kế cơ sở dữ liệu phân tán
Trong chương này luận văn tiến hành khảo sát thực trạng quản lý vật từ tại công ty FPT Telecom Hà Nội Trên cơ sở đó luận văn tiến hành ứng dụng kiến thức
về cơ sở dữ liệu phân tán vào thiết kế cơ sở dữ liệu phân tán
Chương 3: Xây dựng cơ sở dữ liệu phân tán trong hệ thống quản lý vật
tư tại công ty FPT telecom Hà Nội
Trong chương 3, luận văn tiến hành xây dựng hệ thống cơ sở dữ liệu phân tán và thử nghiệm hệ thống với các kịch bản khác nhau Từ các kết quả thu được luận văn tiến hành đánh giá hệ thống
Ngoài 3 chương chính, luận văn còn có phần mở đầu, phần kết luận và tài liệu tham khảo
Trang 14
CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
Chương này sẽ trình bày tổng quan về bài toán quản lý vật tư của FPT Telecom Hà Nội và cơ sở dữ liệu phân tán
1.1 Giới thiệu bài toán quản lý vật tư của FPT Telecom Hà Nội
Vật tư trong doanh nghiệp viễn thông là yếu tố cơ bản trong quá trình sản xuất kinh doanh Sự biến động của vật tư ảnh hưởng trực tiếp đến giá thành sản phẩm và kết quả sản xuất kinh doanh của đơn vị, đôi khi được quản lý kết hợp theo vai trò và tác dụng của nó trong quá trình sản xuất kinh doanh Vật tư trong các doanh nghiệp viễn thông mang tính đặc thù cao, gồm nhiều mẫu mã, chủng loại với kích thước rất khác nhau Vật tư chủ yếu được cung cấp từ đối tác bên ngoài hoặc
có thể tự gia công, nhiều loại vật tư chuyên dụng công nghệ cao phải nhập khẩu từ các nước trên thế giới
FPT Telecom Hà Nội cũng là một công ty viễn thông lớn với nhiều đơn vị thành viên phân tán ở nhiều địa điểm địa lý khác nhau, việc quản lý vật tư phục vụ sản xuất và kinh doanh một cách hiệu quả đóng một vai trò đặc biệt quan trọng trong công ty, được công ty nâng cao và tuân thủ các yêu cầu nghiêm ngặt từ khâu thu mua, dự trữ, bảo quản và sử dụng:
Ở khâu thu mua: Công ty cần theo dõi thông tin, nắm bắt tình hình thị trường để xác định rõ số lượng, quy cách, phẩm chất, chủng loại, giá cả vật tư trước khi thu mua, từ đó có biện pháp kiểm soát chặt chẽ khi thu mua, vận chuyển vật tư, tránh thất thoát hao hụt ảnh hưởng đến chất lượng vật tư
Ở khâu sử dụng vật tư: Với mục đích, yêu cầu lớn nhất là đảm bảo sử dụng hiệu quả, tiết kiệm vật tư, công ty cần quản lý tốt việc xuất dùng vật tư cũng như xây dựng được định mức vật tư cho từng sản phẩm
Ở khâu bảo quản: Điều kiện cần thiết giúp cho việc bảo quản tốt vật tư ở công ty là phải có hệ thống bến bãi đủ tiêu chuẩn, phù hợp với tính chất, đặc điểm của vật tư cũng như quy mô của doanh nghiệp
Trang 15 Ở khâu dự trữ: Xây dựng định mức dự trữ hợp lí để đảm bảo quá trình sản xuất kinh doanh liên tục, tránh tình trạng gián đoạn trong sản xuất hay tình trạng ứ đọng quá nhiều, ảnh hưởng đến hiệu quả kinh doanh của công ty Để đảm bảo các yêu cầu quản lý vật tư, công ty phải tổ chức thực hiện đầy đủ nội dung quản lý và sử dụng vật tư như sau:
Quản lý vật tư đang đi trên đường: Vật tư đang đi trên đường là những vật
tư đơn vị mua đã nhận đủ hóa đơn do bên bán phát hành, thuộc quyền sở hữu của đơn vị còn đang trên đường vận chuyển, vẫn để ở kho của người bán, ở bến cảng hoặc đã về đơn vị nhưng đang chờ kiểm nhận nhập kho Vật tư đang đi trên đường
là tài sản của đơn vị, thuộc nhóm tài sản lưu động do đó, đơn vị cũng phải quản lý
và theo dõi chặt chẽ trong quá trình vận chuyển về nhập kho đơn vị, không được để xảy ra tình trạng mất mát, thất thoát
Quản lý vật tư trong kho: Vật tư trong kho là những vật tư thuộc quyền sở hữu của đơn vị, đã nhập kho của đơn vị Vật tư trong kho dùng cho sản xuất kinh doanh dịch vụ và công tác xây dựng cơ bản của các đơn vị bao gồm nhiều chủng loại với mẫu mã và kích thước khác nhau, gắn với đặc thù sản xuất kinh doanh của từng đơn vị Vì vậy, cần tổ chức quản lý chặt chẽ, hợp lí và khoa học theo từng kho, từng chủng loại vật tư và đặc điểm của từng loại vật tư
Quản lý giá vật tư nhập kho: Vật tư nhập do nhiều nguồn khác nhau, nên giá vật tư nhập kho phải căn cứ theo từng nguồn nhập để xác định giá vật tư nhập kho
Quản lý giá vật tư xuất kho : Một số tiêu chí đánh giá chất lượng công tác quản lý và sử dụng vật tư trong doanh nghiệp viễn thông Mục tiêu quản lý chất lượng trong công tác quản lý và sử dụng vật tư là để đảm bảo vật tư được mua sắm đạt tiêu chuẩn về chất lượng, đảm bảo giá trị sử dụng, đảm bảo triển khai công tác quản lý khoa học, chặt chẽ, thuận tiện, tiết kiệm và hiệu quả
- Tiêu chí đánh giá chất lượng trong công tác thu mua vật tư
- Tiêu chí đánh giá chất lượng trong công tác dự trữ, bảo quản vật tư
- Tiêu chí đánh giá chất lượng trong công tác sử dụng vật tư
- Tiêu chí đánh giá chất lượng trong công tác thanh quyết toán vật tư
Trang 16Nguyên tắc quản lý vật tư của công ty: Công tác quản lý vật tư được quan tâm và khá chú trọng bởi tính cần thiết của nó Vật tư được luân chuyển qua các khâu:
Thu mua, lưu giữ, xuất dùng và trong mỗi khâu đều được thiết kế các thủ tục kiểm soát tương ứng Toàn bộ vật tư đều phải được mua sắm theo các hợp đồng kinh tế và có nguồn gốc xuất xứ rõ ràng Tất cả các loại vật tư, hàng hóa đưa về công ty từ các nguồn khác nhau (Công ty cung cấp, Trung tâm mua sắm, vật tư thu hồi không sử dụng trên mạng lưới, vật tư sửa chữa, bảo hành về, …) đều được nhập các kho của công ty Phòng Tài chính kế toán thống kê chịu trách nhiệm lưu kho, theo dõi, quản lý và hạch toán theo chế độ hiện hành Vật tư lưu kho được quản lý chặt chẽ, hợp lý khoa học theo từng kho Kiểm kê hàng tồn kho được thực hiện theo định kỳ hai lần trong một năm cho tất cả các hàng tồn kho đặt tại các đơn vị thành viên cũng như tại kho chính của công ty Vật tư được xuất sử dụng theo nhu cầu và được kiểm soát chặt chẽ của các bộ phận chức năng
FPT Telecom Hà nội quản lý vật tư với một hệ thống nhiều kho liên kết chặt chẽ với nhau Kho tổng nhập vật tư từ các nhà cung cấp Từ đó phân chia đến các kho nhỏ, tại mỗi kho có kế toán với chức năng thực hiện quy trình nhập xuất vật tư Vật tư khi xuất nhập tại kho A , sẽ giảm trừ tại kho đó Số lượng vật tư thay đổi sẽ được tổng hợp báo cáo chung toàn hệ thống quản lý Vật tư Tại Kho A, có thể đem nhập tại Kho B, khi đó danh sách vật tư kho A sẽ giảm đi , và danh sách tại kho B
sẽ tăng theo tương ứng (thống kê trên toàn hệ thống không đổi) Khi xuất vật tư : chỉ có thể xuất tại các kho đang có vật tư cần xuất và vật tư có thể nhập tại các kho bất kỳ Cụ thể công tác quản lý kho, quản lý vật tư của FPT Telecom Hà Nội thực hiện các tác vụ sau:
- Quản trị hàng hóa chuẩn bị nhập kho, hàng trong kho, hàng xuất kho,…
- Quản trị thông tin kết nối với các phòng ban khác có liên quan
- Quản trị luân chuyển chứng từ trong hoạt động công việc hàng ngày
- Quản trị thông tin tài chính
- Thiết lập hệ thống quản lý và vận hành các thiết bị vật tư xây dựng
Trang 17- Chứng từ, báo cáo và các văn bản hành chánh trong việc quản lý và hàng trong kho vật tư
Hiện nay cơ sở dữ liệu của FPT Telecom Hà Nội được phân bố chủ yếu ở
3 nơi: Cầu Giấy, Ba Đình, Hà Đông Ba nơi này được liên kết hoạt động và đổng bộ qua mạng Internet Ngoài ra còn nhiều kho nhỏ đặt ở các vị trí thuận lợi cho quá trình xuất nhập vật tư của công ty
1.2 Giới thiệu về cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán được phát triển dựa trên cơ sở dữ liệu và mạng máy tính Cơ sở dữ liệu phân tán gồm nhiều cơ sở dữ liệu tích hợp lại với nhau thông qua mạng máy tính để trao đổi dữ liệu, thông tin … Cơ sở dữ liệu được tổ chức và lưu trữ ở những vị trí khác nhau trong mạng máy tính và chương trình ứng dụng truy cập vào dữ liệu ở những điểm khác nhau đó
1.2.1 Sự ra đời của cơ sở dữ liệu phân tán
Sự phát triển các hệ cơ sở dữ liệu (CSDL) phân tán xuất phát từ nhiều
yêu cầu của thực tiễn hình thành và phát triển của các tổ chức Nhiều tổ chức khi tăng trưởng cần có cơ cấu hoạt động không tập trung Nhiều đơn vị thành viên của
nó buộc phải phân tán ở những vị trí địa lý khác nhau Vì thế, cần xây dựng CSDL phân tán cho các tổ chức này đề đảm bảỏ hoạt động của tổ chức một cách hiệu quả Trong quá trình hình thành hoặc hợp nhất, tổ chức cần phải tổ chức lại các CSDL đã tồn tại Chi phí cho việc xây dựng một hệ CSDL phân tán từ các CSDL đã tồn tại thường nhỏ hơn đáng kể so với xây dựng lại một hệ CSDL phân tán từ đầu Trong quá trình phát triển, một tổ chức có thể tăng thêm một số thành viên mới Khi đó hệ CSDL phân tán cho phép mở rộng hệ thống mà không làm ảnh hưởng lớn tới các thành phần còn lại Việc xây dựng hệ thống phân tán còn đảm bảo hiệu quả công việc, độ tin cậy cao và khả năng sẵn dùng lớn của tổ chức
Trang 181.2.2 Cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán là một tập hợp gồm nhiều cơ sở dữ liệu có liên quan
về mặt logic cùng thuộc về một hệ thống nhưng được trải trên các vị trí khác nhau
và chúng có kết nối với nhau thông qua một mạng thông tin dữ liệu
Hình 1.1 Mô hình Cơ sở dữ liệu phân tán
Hình 1.1 là một ví dụ về một hệ thống CSDL phân tán gồm nhiều CSDL được kết nối với nhau qua mạng Internet Tại mỗi vị trí người sử dụng có thể truy cập đến các cơ sở dữ liệu khác nhau qua mạng Internet để nhận được các thông tin mong muốn Trong cơ sở dữ liệu phân tán có hai vấn đề quan trọng và tương đương nhau :
- Tính phân tán: CSDL được phân tán trên nhiều vị trí khác nhau và được kết nối với nhau qua mạng thông tin dữ liệu Đây là đặc điểm cơ bản để phân biệt
cơ sở dữ liệu phân tán với cơ sở dữ liệu tập trung
- Liên quan logic: Trong cơ sở dữ liệu phân tán dữ liệu có các đặc tính liên kết chặt chẽ với nhau như tính kết nối, ràng buộc lẫn nhau Tại mỗi sở dữ liệu phân tán chỉ quản lý một cơ sở dữ liệu xác định và lưu trữ trên các vị trí khác nhau
1.2.3 Hệ quản trị cơ sở dữ liệu phân tán
Hệ quản trị cơ sở dữ liệu phân tán (Distributed database management system - DDBMS) là một hệ thống hay phần mềm dùng để quản lý các hệ cơ sở dữ liệu phân tán Các chương trình này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm
Trang 19kiếm thông tin trong một cơ sở dữ liệu Có nhiều hệ quản trị CSDL khác nhau, từ các phần mềm nhỏ chạy trên máy tính cá nhân đến những hệ quản trị phức tạp hoạt động trên nhiều máy tính
Các thành phần của hệ quản trị CSDL phân tán
Quá trình quản lý các dữ liệu phân tán yêu cầu tại mỗi site phải cài đặt các hệ thống sau:
• Thành phần quản trị dữ liệu ( Database management – DB) : Là hệ thống quản lý khối lượng dữ liệu nhất định một cách tự động và có trật tự
• Thành phần truyền thông dữ liệu (Data Communication – DC): Dùng để truyền tải thông tin dữ liệu trong hệ thống mạng
• Thành phần từ điển dữ liệu (Data Dictionary - DD): Dùng để mô tả thông tin về sự phân tán của dữ liệu trên mạng
• Thành phần cơ sở dữ liệu phân tán (Distributed Database - DDB): Hệ thống quản trị sơ sở dữ liệu phân tán
Hình 1.2 Các thành phần trên site [2]
Trang 201.3 Các đặc trưng của cơ sở dữ liệu phân tán
CSDL phân tán không chỉ là những sự thực hiện phân tán của CSDL tập trung, bởi vì chúng cho phép thiết kế các đặc trưng khác với CSDL tập trung truyền thống
Các đặc điểm tiêu biểu của CSDL truyền thống gồm: Điều khiển tập trung, độc lập dữ liệu, giảm dư thừa dữ liệu, biệt lập và bảo mật dữ liệu [3]
Điều khiển tập trung
Dữ liệu được tập trung lại để tối ưu và đảm bảo tính độc lập của dữ liệu Có người quản trị để đảm bảo an toàn dữ liệu và thực hiện theo cấu trúc điều khiển phân cấp bao gồm hai cấp độ người quản trị cơ sở dữ liệu :
Quản trị cơ sở dữ liệu toàn cục: là người có trách nhiệm chính về toàn bộ cơ
Trang 21Giảm dư thừa dữ liệu
Trong CSDL truyền thống, dữ liệu dư thừa được giảm đến mức tối thiểu bởi hai lý do: Sự không tương thích giữa nhiều bản sao của cùng một tập dữ liệu; Tiết kiệm không gian lưu trữ bằng cách loại bỏ các dư thừa Trong CSDL phân tán, việc giảm dư thừa phức tạp hơn vì ngoài hai lý do trên còn nhiều lý do để giảm dư thừa như: Hoạt động của các trình ứng dụng có thể bị tăng lên khi dữ liệu được sao lại tất
cả các vị trí nơi trình ứng dụng cần có; Tính thường trực của hệ thống sẽ tăng lên bởi vì khi có lỗi xảy ra ở một trạm nào nó sẽ không dừng việc thực hiện các ứng dụng của trạm khác nếu dữ liệu đã được sao chép lại
Biệt lập và bảo mật
Trong CSDL truyền thống, hệ quản trị CSDL tập trung có thể bảo đảm chỉ truy cập đến dữ liệu đã được ủy quyền Trong CSDL phân tán, hệ quản trị dữ liệu địa phương thực chất phải đối mặt với các vấn đề giống như hệ quản trị CSDL trong CSDL truyền thống
Trang 22Hình 1.3 Mô hình Peer-to-peer
1.4.2 Mô hình File Server
Là một thiết bị quản lý các hoạt động file và phục vụ các máy tính cá nhân được kết nối trong mạng LAN Mỗi máy cá nhân được phân chia một dung lượng
cố định trên ổ cứng của File server, chương trình ở các máy tính cá nhân có thể đồng thời truy cập vào cùng cơ sở dữ liệu
Những hạn chế của File server như: Dữ liệu di chuyển trên mạng quá nhiều, việc kiểm soát dữ liệu là phi tập trung, các máy trạm phải đủ mạnh
Hình 1.4 Mô hình File Server
1.4.3 Mô hình Client/Server
Là một mô hình phổ biến trong mạng máy tính, được áp dụng rất rộng rãi và
là mô hình của đa số trang web hiện nay Ý tưởng của mô hình này là máy con (có
Trang 23vài trò là máy khách) gửi một yêu cầu để máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho máy khách Chức năng được chia làm hai giai đoạn: Giai đoạn trước được thực hiện bởi Client, và giai đoạn sau thực hiện bởi Server Server thực hiện việc điều khiển, lưu trữ CSDL, xử lý các truy vấn
và quản lý việc khai thác tài nguyên trên mạng của các máy khách
Hình 1.5 Mô hình Client/Server
1.5 Các đặc trưng của các loại hình hệ thống phân tán
Chuyển đổi các ứng dụng trên máy tính cá nhân hoặc các hệ thống máy trạm lớn sang mô hình phân tán đang phát triển mạnh trong xu hướng hiện nay
1.5.1 Đặc trưng của hệ thống File server và kiến trúc Client/Server
Đặc trưng của hệ thống File server và kiến trúc Client/Server được so sánh theo bảng sau:
Bảng 1.1 Đặc trưng của File Server và Client/Server
Đặc trưng File Server Client/Server
Truy nhập dữ liệu
đồng thời
Thấp, mỗi máy khách thực hiện
Cao, server đảm nhiệm
An toàn và toàn vẹn
CSDL
Thấp, máy khách quản lý Cao, server đảm nhiệm
Sử dụng mạng File lớn, chuyển cả file Truyền dữ liệu nhiều mức Bảo trì phần mềm Thấp, chỉ ở máy server Hỗn hợp một số phần mềm
có thể gửi đến máy khách Phần cứng và hệ
thống
Ghép nối máy khách và server để có thể phối hợp
Ghép nối máy khách và server để có thể phối hợp
Trang 241.5.2 Các chức năng của kiến trúc Client/Server
- Trình diễn thông tin phân tán: Làm mới các ứng dụng trên máy khách
và để định dạng lại dữ liệu do server quản lý
Bảng 1.2 Trình diễn thông tin phân tán ở Client và Server
Trình diễn dữ liệu Dữ liệu trình diễn trên
server được định dạng để trình diễn cho các clients
Sử dụng công nghệ trình diễn của server để gửi dữ liệu cho các clients
- Trình diễn từ xa : Giúp người sử dụng thay đổi các biểu mẫu, báo cáo hoặc nội dung mới chỉ cần bảo trì phần mềm trên máy khách Phương pháp trình diễn này được cài đặt các chức năng mô tả dữ liệu trên các client có khả năng mô tả những dữ liệu được định dạng theo ý của client
Bảng 1.3 Trình diễn từ xa ở Client và Server
Trình diễn dữ liệu Dữ liệu phân tích trên server
được định dạng để trình diễn cho người dùng
- Quản lý dữ liệu từ xa : Giúp Client phân tích được dữ liệu thô lấy từ Server
Bảng 1.4 Quản lý dữ liệu từ ở Client và Server
Phân tích dữ liệu Dữ liệu thô được lấy từ
server và được phân tích Trình diễn dữ liệu Trình diễn tất cả dữ liệu
Trang 25- Phân tán chức năng: các chức năng phân tán được thiết lập trên cả máy khách lẫn máy chủ Mọi chức năng trình diễn dữ liệu được thiết lập trên máy khách
và toàn bộ chức năng quản lý dữ liệu được đặt trên máy chủ
Bảng 1.5 Phân tán chức năng ở Client và Server
Phân tích dữ liệu Các dữ liệu được lấy và
1.6 Ưu điểm và nhược điểm của hệ cơ sở dữ liệu phân tán
1.6.1 Ưu điểm
Đáp ứng nhanh hầu hết các ứng dụng sử dụng dữ liệu tại các trạm Tăng cường các đơn thể ứng dụng và CSDL mà không làm cản trở người sử dụng hiện tại
Kiểm soát dữ liệu địa phương theo hướng hoàn thiện sự tích hợp và quản trị dữ liệu từ xa
Tăng cường khả năng của hệ thống liên quan đến vấn đề sự dư thừa dữ
liệu
1.6.2 Nhược điểm
Phần mềm đắt và phức tạp
Phải xử lý các thay đổi thông báo tại mọi địa điểm
Khó kiểm soát tính toàn vẹn dữ liệu với nhiều bản sao dữ liệu được phân
bố khắp mọi nơi
Đáp ứng chậm nhu cầu của các trạm trong trường hợp 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
Trang 261.7 Các loại truy xuất cơ sở dữ liệu phân tán
1.7.1 Truy xuất từ xa thông qua các tác vụ cơ bản
Ứng dụng đưa ra một yêu cầu truy xuất CSDL ở một vị trí bất kỳ, yêu cầu này sẽ được hệ quản trị cơ sở dữ liệu phân tán gửi đến vị trí chứa dữ liệu
đó Thực hiện xong sẽ gửi kết quả về [3]
Hình 1.6 Sơ đồ truy xuất từ xa thông qua các tác vụ cơ bản
1.7.2 Truy xuất từ xa thông qua chương trình phụ trợ
Một ứng dụng yêu cầu thực hiện một chương trình phụ trợ đặt tại vị trí
từ xa Chương trình phụ trợ này sẽ truy xuất CSDL từ xa và trả lại kết quả cho ứng dụng đang yêu cầu [3]
Hình 1.7 Sơ đồ truy xuất từ xa thông qua chương trình phụ trợ
Trang 271.8 Lý do sử dụng CSDL phân tán cho bài toán quản lý vật tư
Các tổ chức có cấu trúc phân tán: Trong thực tế các tổ chức kho, đơn vị đề xuất nhập kho, xuất kho được phân tán khắp nơi trong khi đó dữ liệu quản lý ngày càng lớn và phục vụ cho nhiều người dùng nằm phân tán, vì vậy CSDL phân tán là con đường thích hợp với cấu trúc tự nhiên của các tổ chức, đơn vị đó
- Kết nối các CSDL có sẵn: 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 xây dựng một ứng dụng toàn cục Trong đề tài này CSDL phân tán từ dưới lên dựa trên nền tàng CSDL đang tồn tại Tiến trình này đòi hỏi phải tái cấu trúc các CSDL cục bộ ở một mức nhất định
- Sự lớn mạnh của tổ chức: Các tổ chức, đơn vị trong công ty có thể phát triển
mở rộng bằng cách thành lập thêm các đơn vị mới, vừa có tính tự trị, vừa có quan
- Công nghệ tạo ra máy tính nhỏ và nền tảng phần cứng có khả năng phục
vụ xây dựng hệ thống thông tin phân tán
Kỹ thuật thiết kế hệ cơ sở dữ liệu phân tán được phát triển vững chắc dựa trên 2 kỹ thuật thiết kế chính là Top-Down và Bottom-up từ những năm thập kỷ 60 Kỹ thuật thiết kế cơ sở dữ liệu phân tán phức tạp nhưng hệ cơ sở dữ liệu phân tán cũng cần thiết cho xu hướng phát triển kinh tế hiện nay
Những hạn chế của mô hình CSDL tập trung:
- Quản lý CSDL lớn gặp nhiều khó khăn không phù hợp phục vụ cho tổ chức, đơn vị nằm phân tán
- Rủi ro về bảo mật CSDL trong hệ thống cao
Trang 28- Trong các tổ chức lớn dữ liệu mà hầu hết các ứng dụng có thể truy nhập được lưu trữ trên một máy tính trung tâm Trong nhiều hệ thống, người sử dụng từ xa có thể truy nhập cơ sở dữ liệu này thông qua các thiết bị đầu cuối và các móc nối truyền dữ liệu Các hệ CSDL trung tâm thường lưu trữ các CSDL tích hợp rất lớn và được nhiều người sử dụng truy nhập
1.9 Kết luận
Trong chương 1 luận văn đã trình bày bài toán quản lý vật tư tại công ty FPT telecom tại Hà Nội và khái niệm cơ bản, các kiến thức cơ sở về cơ sở dữ liệu phân tán, các đặc trưng của CSDL phân tán, các hình thức tổ chức phân tán, các cách thức truy xuất CSDL phân tán Từ đó đưa ra quyết định sử dụng CSDL phân tán cho bài toán quản lý vật tư
Trang 29CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
Chương này tập trung nghiên cứu về thiết kế CSDL phân tán, kiến trúc tham chiếu CSDL phân tán, phân mảnh, cấp phát dữ liệu
2.1 Các chiến lược phân tán dữ liệu
Việc định vị và phân tán dữ liệu ở các nút trong một mạng máy tính sẽ quyết định tính hiệu quả và đúng đắn của hệ thống phân tán Có 4 chiến lược phân tán dữ liệu cơ bản: Tập trung dữ liệu, chia nhỏ dữ liệu, nhân bản dữ liệu, phương thức lai
• Tập trung dữ liệu: Tất cả các dữ liệu được tập trung tại một chỗ Cách này đơn giản nhưng có 3 nhược điểm: Dữ liệu không sẵn sàng cho người sử dụng truy nhập từ xa; chi phí truyền thông lớn, thường làm cực đại việc truy nhập dữ liệu tới nơi tập trung; toàn bộ hệ thống ngừng khi cơ sở dữ liệu bị sự cố
• Chia nhỏ dữ liệu: Cơ sở dữ liệu được chia thành các phần nhỏ liên kết nhau (không trùng lặp) Mỗi phần dữ liệu được đưa đến các trạm một cách thích hợp để sử dụng
• Nhân bản dữ liệu: CSDL được nhân thành nhiều bản từng phần hoặc đầy
đủ và được đặt ở nhiều trạm trên mạng Nếu bản sao của CSDL được lưu giữ tại mọi trạm của hệ thống thì gọi là nhân bản đầy đủ, ngược lại gọi là nhân bản không đầy đủ hay gọi là nhân bản từng phần Hiện nay có nhiều kỹ thuật mới cho phép tạo bản sao không đầy đủ phù hợp với yêu cầu dữ liệu ở mỗi trạm và một bản đầy đủ được quản lý ở Server Sau một khoảng thời gian nhất định các bản sao được làm đồng bộ với bản chính bằng một ứng dụng nào đó
• Phương thức lai: CSDL được phân thành 2 phần: quan trọng và ít quan trọng Phần ít quan trọng được lưu giữ một nơi còn phần quan trọng được lưu trữ ở nhiều nơi khác
2.2 Kiến trúc tham chiếu cơ sở dữ liệu phân tán
Trong hệ CSDL phân tán những người thiết kế hệ thống đã xây dựng lên một hệ các phần mềm phục vụ yêu cầu người dùng trên CSDL đã có sẵn (Hình 2.1) Trình bày kiến trúc cơ bản của cơ sở dữ liệu phân tán Tất nhiên kiến trúc này
Trang 30không biểu diễn tường minh cho mọi hệ cơ sở dữ liệu phân tán Các mức của cơ
sở dữ liệu phân tán được trình bày mang tính khái niệm thích hợp để dễ hiểu về tổ chức của các cơ sở dữ liệu phân tán nói chung
Hình 2.1 Mô hình kiến trúc tham chiếu CSDL phân tán a) Sơ đồ tổng thể (Global Schema)
Xác định tất cả các dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu phân tán cũng như các dữ liệu không được phân tán ở các trạm trong hệ thống Sơ đồ tổng thể được định nghĩa theo cách như trong CSDL tập trung Trong mô hình quan hệ, sơ
đồ tổng thể bao gồm định nghĩa của tập các quan hệ tổng thể (Global relation)
b) Sơ đồ phân đoạn (Fragment schema)
Mỗi quan hệ tổng thể có thể chia thành một vài phần không giao nhau gọi là phân đoạn (fragment) Hiện nay có nhiều cách khác nhau để thực hiện việc phân chia này Sơ đồ phân đoạn mô tả các ánh xạ giữa các quan hệ tổng thể và các đoạn được định nghĩa trong sơ đồ phân đoạn Các đoạn được mô tả bằng tên của quan hệ
Trang 31tổng thể cùng với chỉ mục đoạn Chẳng hạn, Ri được hiểu là đoạn thứ i của quan hệ
R
c) Sơ đồ định vị (Allocation schema)
Các đoạn là các phần logic của một quan hệ tổng thể được định vị vật lý trên một hay nhiều trạm Sơ đồ định vị xác định đoạn dữ liệu nào được định vị tại trạm nào trên mạng Tất cả các đoạn được liên kết với cùng một quan hệ tổng thể R và được định vị tại cùng một trạm j cấu thành ảnh vật lý quan hệ tổng thể R tại trạm j
Do đó ta có thể ánh xạ một - một giữa một ảnh vật lý và một cặp (quan hệ tổng thể, trạm) Các ảnh vật lý có thể chỉ ra bằng tên của một quan hệ tổng thể và một chỉ mục trạm Ký hiệu Ri để chỉ đoạn thứ i của quan hệ tổng thể R ; ký hiệu Rj để chỉ ảnh vật lý của quan hệ tổng thể R tại trạm j Tương tự như vậy, bản sao của đoạn i thuộc quan hệ R tại trạm j được ký hiệu là Rij
d) Sơ đồ ánh xạ địa phương (Local mapping schema)
Thực hiện ánh xạ các ảnh vật lý lên các đối tượng được thực hiện bởi hệ quản trị cơ sở dữ liệu địa phương Tất cả các đoạn của một quan hệ tổng thể trên cùng một trạm tạo ra một ảnh vật lý
Hình 2.2 Các đoạn và hình ảnh vật lý của một quan hệ tổng thể
Ba yếu tố được suy ra từ kiểu kiến trúc này là: Tách rời khái niệm phân đoạn
dữ liệu với khái niệm định vị dữ liệu; biết được dữ liệu dư thừa; độc lập với các hệ
Trang 32quản trị CSDL địap hương Ba yếu tố này tương ứng với ba mức trong suốt tương ứng
- Tách rời khái niệm phân đoạn dữ liệu với khái niệm định vị dữ liệu: Phân đoạn dữ liệu, bao gồm những công việc mà người lập trình ứng dụng làm việc với quan hệ tổng thể, phân chia quan hệ tổng thể thành các đoạn
Thông qua tính trong suốt phân đoạn (fragmentation transparency) người lập trình sẽ nhìn thấy được những đoạn dữ liệu bị phân chia như thế nào Định vị dữ liệu lại liên quan đến các công việc của người sử dụng và người lập trình ứng dụng tại trên các đoạn dữ liệu được định vị tại các trạm Thông qua tính trong suốt vị trí (location transparency) người lập trình sẽ biết được vị trí của các đoạn dữ liệu trên các trạm
- Biết được dữ liệu dư thừa: Người lập trình ứng dụng có thể biết được dư thừa
dữ liệu ở các trạm Trên hình vẽ trên, chúng ta thấy rằng hai ảnh vật lý R2 và R3 có trùng lặp dữ liệu Do đó các đoạn dữ liệu trùng nhau có thể tránh được khi xây dựng các khối ảnh vật lý
- Độc lập với các DBMS địa phương: Tính chất này còn được gọi là trong suốt ánh xạ địa phương (local mapping transparency), cho phép chúng ta khảo sát các vấn đề về quản lý CSDL phân tán mà không cần phải hiểu rõ mô hình dữ liệu của DBMS địa phương đang sử dụng
Tính trong suốt phân tán
Tính trong suốt của một hệ phân tán giống như việc che khuất đi các thành phần riêng biệt của hệ thống đối với người sử dụng và những người lập trình ứng dụng Các loại trong suốt trong hệ phân tán:
• Trong suốt phân đoạn (fragmentation transparency)
• Trong suốt về vị trí (location transparency)
• Trong suốt ánh xạ địa phương (local mapping transparency)
• Không trong suốt (no transparency)
Trong suốt phân đoạn (fragmentation transparency): Dữ liệu đã được phân
đoạn thì khi truy cập vào CSDL được thực hiện một cách bình thường như chưa bị phân tán và không ảnh hưởng tới người sử dụng
Trang 33Ví dụ 1.1 Xét quan hệ tổng thể KHO (ID, Tên Kho, Tài khoản, Điện thoại, Địa chỉ) có các phân đoạn được tách ra như sau:
KHO 1 (ID, Tên Kho, Tài khoản, Điện thoại, Địa chỉ)
KHO 2 (ID, Tên Kho, Tài khoản, Điện thoại, Địa chỉ)
KHO 3 (ID, Tên Kho, Tài khoản, Điện thoại, Địa chỉ)
Nếu coi DDBMS cung cấp tính trong suốt về phân đoạn, khi đó ta sẽ thấy tính trong suốt được thể hiện như sau:
Khi muốn tìm một người có ID = “Id1” thì chỉ cần tìm trên quan hệ tổng thể DAI_LY mà không cần biết quan hệ DAI_LY có phân tán hay không
SELECT *
FROM KHO
WHERE ID= “Id1”
Hình 2.3 Tính trong suốt phân đoạn
Tính trong suốt về vị trí (Location transparency): Người sử dụng không cần biết về vị trí vật lý của dữ liệu mà có quyền truy cập đến CSDL tại bất cứ vị trí nào
Các thao tác để lấy hoặc cập nhật một dữ liệu từ xa được tự động thực hiện bởi hệ thống tại điểm đưa ra yêu cầu Tính trong suốt về vị trí rất hữu ích, nó cho phép người sử dụng bỏ qua các bản sao dữ liệu đã tồn tại ở mỗi vị trí Do đó có thể di chuyển một bản sao dữ liệu từ một vị trí này đến một vị trí khác và cho phép tạo các
bản sao mới mà không ảnh hưởng đến các ứng dụng
Ví dụ 1.2 Với quan hệ tổng thể R và các phân đoạn như đã nói ở trên nhưng giả sử rằng DDBMS cung cấp trong suốt về vị trí nhưng không cung cấp trong suốt
về phân đoạn
Xét câu truy vấn tìm người có Id= “Id1”
SELECT *
Trang 34FROM KHO 1
WHERE Id= “Id1”
IF NOT # FOUND THEN
SELECT *
FROM KHO 2
WHERE Id= “Id1”
Đầu tiên hệ thống sẽ thực hiện tìm kiếm ở phân đoạn KHO 1 và nếu DDBMS trả về biến điều khiển # FOUND thì một câu lệnh truy vấn tương tự được thực hiện trên phân đoạn KHO 2 ,
Ở đây quan hệ KHO 2 được sao làm hai bản trên hai vị trí 2 và vị trí 3, ta chỉ cần tìm thông tin trên quan hệ KHO 2 mà không cần quan tâm nó ở vị trí nào
Hình 2.4 Sự trong suốt về vị trí
Trong suốt ánh xạ địa phương (Location mapping transparency): Là một đặc
tính quan trọng trong một hệ thống DBMS không đồng nhất
Ứng dụng tham chiếu đến các đối tượng có các tên độc lập từ các hệ thống cục bộ địa phương Ứng dụng được cài đặt trên một hệ thống không đồng nhất nhưng được
sử dụng như một hệ thống đồng nhất
Trang 35Hình 2.5 Sự trong suốt ánh xạ địa phương
2.3 Các phương pháp thiết kế CSDL phân tán
a) Phương pháp thiết kế từ trên xuống (top- down)
Hình 2.6 Phương pháp thiết kế CSDL phân tán top-down [1]
Có 2 phương pháp thiết kế CSDL phân tán: Phương pháp tiếp cận từ trên xuống (top - down) và phương pháp tiếp cận từ dưới lên (bottom – up)
Trang 36Phương pháp thiết kế từ trên xuống được thể hiện bởi hình 2.6 Phương pháp thiết kế này cho phép thiết kế đi từ tổng thể đến chi tiết Hay nói cách khác nó phân một hệ thống lớn thành các hệ thống con theo các bước sau:
Phân tích các yêu cầu nhằm định nghĩa môi trường hệ thống và thu thập các yêu cầu về dữ liệu cũng như các nhu cầu xử lý của các trạm có sử dụng CSDL Phân tích yêu cầu cũng xác định xem hệ thống đầu cuối sẽ như thế nào so với các mục tiêu của một hệ quản trị CSDL phân tán đã được phân tích Những mục tiêu này được định nghĩa theo các vấn đề về hiệu quả hoạt động, độ tin cậy, tính có sẵn, tính kinh tế, và tính linh hoạt
Hồ sơ ghi chép các yêu cầu là nguyên liệu cho hai hoạt động song song: thiết
kế khung nhìn và thiết kế khái niệm Thiết kế khung nhìn là định nghĩa các giao diện cho người sử dụng ở các trạm Thiết kế khái niệm là một tiến trình kiểm tra và xác định rõ hai nhóm quan hệ: Phân tích chức năng và phân tích thực thể Phân tích chức năng là xác định các chức năng của hệ thống và đưa ra các chức năng cơ sở Phân tích thực thể là xác định các tập thực thể, các thuộc tính và các mối quan hệ giữa chúng Trong các hoạt động thiết kế khái niệm và thiết kế khung nhìn, người
sử dụng cần phải đặc tả các thực thể dữ liệu và phải xác định các ứng dụng sẽ chạy trên CSDL cũng như các thông tin thống kê về những ứng dụng này Thông tin thống kê bao gồm đặc tả về tần số ứng dụng, khối lượng các thông tin khác nhau,… Lược đồ khái niệm toàn cục và thông tin về kiểu mẫu truy xuất thu được trong thiết kế khung nhìn sẽ là nguyên liệu cho bước thiết kế phân tán Mục tiêu của giai đoạn này là thiết kế các lược đồ khái niệm cục bộ bằng cách phân tán các thực thể cho các vị trí của hệ thống phân tán Ta chia quan hệ thành nhiều quan hệ nhỏ hơn gọi là các mảnh (fragment) và phân tán các mảnh này Hoạt động thiết kế phân tán gồm hai bước: Phân mảnh (fragmentation) và cấp phát (allocation) Thiết kế vật
lý là ánh xạ lược đồ khái niệm cục bộ sang các thiết bị lưu trữ vật lý có sẵn tại các
vị trí tương ứng Nguyên liệu cho quá trình này là lược đồ khái niệm cục bộ và thông tin về kiểu mẫu truy xuất các mảnh Hoạt động phát triển và thiết kế luôn là quá trình liên tục, đòi hỏi phải theo dõi, hiệu chỉnh thường xuyên Vì thế chúng ta cũng đưa vấn đề quan sát và theo dõi như một hoạt động chính trong quá trình này Cần chú ý rằng chúng ta không chỉ theo dõi vấn đề cài đặt cơ sở dữ liệu mà còn
Trang 37phải quan sát theo dõi tính thích hợp của các khung nhìn của người sử dụng Kết quả này có tác dụng phản hồi, tạo tiền đề cho tái thiết kế về sau
b) Phương pháp thiết kế từ dưới lên (bottom – up)
Phương pháp thiết kế trên xuống thực sự có hiệu quả khi xây dựng một hệ thống mới Trong thực tế, một số CSDL đã tồn tại trước được tổ chức trong môi trường tập trung và CSDL phân tán được phát triển bằng cách liên kết chúng lại thành một CSDL mới thống nhất (các DBMS địa phương khác nhau đã được sử
dụng) Các bước thiết kế:
• Chọn một mô hình dữ liệu chung để mô tả lược đồ tổng thể
• Chuyển mỗi lược đồ địa phương theo mô hình dữ liệu chung đã chọn
• Tích hợp các lược đồ địa phương vào lược đồ tổng thể
2.4 Phân mảnh
Đơn vị truy xuất của các ứng dụng không phải là toàn bộ quan hệ mà thường
là một mảnh 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 Việc phân mảnh cá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ó ra thành một tập các câu vấn tin con hoạt tác trên các mảnh Nếu các ứng dụng có các khung nhìn được định nghĩa trên một quan hệ cho trước nằm tại những vị trí khác thì có hai cách chọn lựa đơn vị phân tán: hoặc là toàn bộ quan hệ hoặc quan hệ được lưu ở một vị trí có chạy ứng dụng Việc phân mảnh dữ liệu có một số hạn chế sau:
• Nếu ứng dụng có những yêu cầu ngăn cản việc phân rã thành các mảnh để được sử dụng độc quyền, thì những ứng dụng có các khung nhìn được định nghĩa trên nhiều mảnh sẽ bị giảm hiệu suất hoạt động
• Nếu một khung nhìn đòi hỏi thông tin ở nhiều mảnh thì việc truy xuất dữ liệu để nối lại sẽ có chi phí cao
Trong CSDL các quan hệ chính là các bảng, việc phân mảnh là quá trình tìm kiếm các cách khác nhau để chia một bảng thành nhiều bảng nhỏ hơn Có ba kiểu phân mảnh tương ứng với việc chia quan hệ: Phân mảnh dọc, phân mảnh ngang và phân mảnh hỗn hợp
Phân mảnh ngang (horizontal fragmentation) : Phân mảnh ngang chia một
quan hệ theo các bộ, vì vậy mỗi mảnh là một tập con của quan hệ Có hai loại phân mảnh ngang là phân mảnh ngang nguyên thủy và phân mảnh ngang dẫn xuất
Trang 38- Phân mảnh ngang nguyên thủy: của một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ Là tập các vị tư đơn giản đầy đủ và cực tiểu
là bước đầu tiên trong thiết kế phân mảnh ngang nguyên thủy Thuật toán bắt đầu bằng cách tìm một vị từ có liên đới và phân hoạch quan hệ đã cho Vòng lặp do-until thêm các vị từ vào Pr’, đảm bảo Pr’ có tính cực tiểu tại mỗi bước Bước tiếp theo của thiết kế phân mảnh ngang nguyên thủy là tìm tập các vị từ hội sơ cấp được định nghĩa trên các vị từ trong Pr' Các vị từ hội sơ cấp xác định các mảnh cho cấp phát Tuy nhiên, các vị từ hội sơ cấp có thể rất lớn, tỷ lệ hàm mũ theo số lượng các
vị từ đơn giản Vì vậy cần phải loại bỏ những mảnh không có ý nghĩa, bằng cách xác định những vị từ mâu thuẫn với tập các phép kéo theo (Implication)
Ví dụ 2.1 : Phân mảnh nguyên thủy quan hệ Warehouse Xét quan hệ quản lý vật tư tại các Warehouse (Kho)
Warehouse 1 = σcode_warehouse = “Các mã warehouse mà vị trí 1 quản lý”(Warehouse)
Warehouse 2 = σcode_warehouse = “Các mã warehouse mà vị trí 2 quản lý” (Warehouse)
Warehouse 3 = σcode_warehouse = “Các mã warehouse mà vị trí 3 quản lý” (Warehouse)
- Phân mảnh ngang dẫn xuất: là việc phân mảnh một quan hệ theo kết nối bằng nhau (Equijoin) hoặc kết nối nửa bằng nhau (Semijoin) đến các quan hệ khác trong cơ sở dữ liệu Việc quyết định chọn phân mảnh nào tối ưu hơn cần dựa trên hai tiêu chuẩn sau:
- Phân mảnh có đặc tính kết nối tốt hơn
- Phân mảnh sử dụng cho nhiều ứng dụng hơn
Từ đó nhận thấy phân mảnh dẫn xuất có thể xảy ra dây chuyền, trong đó một quan hệ được phân mảnh như là hệ quả của một phân mảnh cho một quan hệ khác,
và đến lượt nó lại làm cho các quan hệ khác phải phân mảnh Một quan hệ có thể có nhiều cách phân mảnh Chọn lựa một lược đồ phân mảnh nào cho tối ưu phụ thuộc vào ứng dụng và cấp phát
Ví dụ 2.2: Phân mảnh dẫn xuất quan hệ Materials theo quan hệ warehouse
Materials _in 1= Materials _in ⊳⊲Warehouse1
Materials _in 2 = Materials _in ⊳⊲Warehouse2
Materials _in 3 = Materials _in ⊳⊲Warehouse3
Phân mảnh dọc (vertical fragmentation) :Phân mảnh dọc là chúng ta gom
những thuộc tính thường được truy xuất chung với nhau vào một mảnh Để tiến
Trang 39hành phân mảnh dọc chúng ta cần một số thông tin có liên quan đến ứng dụng (các câu truy vấn) và các quan hệ giữa các thuộc tính, giữa các ứng dụng với các thuộc tính:
- Ma trận sử dụng thuộc tính: biểu diễn mối liên hệ giữa các câu truy vấn và các thuộc tính
- Ma trận lực hút AA: Đo lực hút giữa 2 thuộc tính (Ai,Aj)
- Ma trận lực hút tụ nhóm: đã gom nhóm các thuộc tính lại với nhau (các thuộc tính có số đo lực hút gần bằng nhau thì được xếp kề nhau)
Lý do chính trong tập trung là sử dụng nó làm một công cụ thiết kế, cho phép các vấn tin ảnh hưởng đến các quan hệ nhỏ hơn, vì thế giảm bớt số truy xuất và tiết kiệm bộ nhớ Phân mảnh dọc phức tạp hơn phân mảnh ngang do tổng số chọn lựa
có thể có của phân mảnh dọc rất lớn Vì vậy để có được lời giải tối ưu cho bài toán phân mảnh dọc thực sự rất khó, vì thế người ta hay dùng phương pháp heuristic
Ví dụ 2.3:
PROJ1 : Thông tin về kinh phí của đề án
PROJ2 : Thông tin về tên và vị trí của đề án
PROJ
P1 Instrumentation 150000 Montreal
P2 Database Develop, 135000 New York
P3 CAD/CAM 250000 New York
Hình 2.7 Phân mảnh dọc
Phân mảnh hỗn hợp (hybrid fragmentation) : Trong nhiều trường hợp, phân
mảnh ngang hoặc phân mảnh dọc đơn giản cho một lược đồ CSDL không đủ đáp ứng các yêu cầu từ ứng dụng Trong trường hợp đó phân mảnh dọc có thể thực hiện