BO GIAO DUC VA DAO TAO
PAI HOC HUE
TRƯỜNG ĐẠI HỌC KHOA HỌC ĐỒN THẾ PHƯƠNG TÌM HIỂU GIẢI PHÁP LƯU TRỮ BIGTABLE VÀ ỨNG DỤNG CHUYEN NGANH: KHOA HOC MAY TINH MA SO: 8.48.01.01
LUAN VAN THAC SI KHOA HOC DINH HUONG UNG DUNG
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS NGUYEN MAU HAN
Thừa Thiên Huế, 2020
Trang 2
LOI CAM DOAN
Tôi xin cam đoan luận văn “Tìm hiểu giải pháp lưu trữ Bigtable và ứng dụng” là kết quả nghiên cứu khoa học của tôi theo sự hướng dẫn của thầy PGS.TS Nguyễn Mậu Hân Các số liệu, trích dẫn, kết quả mô phỏng và cài đặt được trình bày trong luận văn là trung thực và có nguồn gốc rõ ràng
Tôi xin cam đoan những lời nêu trên là hoàn toàn đúng sự thật
Tác giả
Trang 3LOI CAM ON
Tôi xin bảy tỏ lòng biết ơn chân thành tới thầy PGS.TS Nguyễn Mậu
Hân đã tận tình hướng dẫn và đưa ra những góp ý rất quý báu cho luận văn Những nên tảng kiến thức vững vàng cùng với sự quan tâm giúp đỡ, sự chỉ bảo và tận tình hướng dẫn của Thầy đã giúp tơi hồn thành luận văn này
Trân trọng cảm ơn quý Thầy, Cô trong khoa Công nghệ thông tin
trường Đại học Khoa học - Huế và quý Thây, Co truong Dai hoc An Giang,
cùng quý Thây, Cô tham gia giảng đạy lớp cao học Khoa học máy tính 2018- 2020 tại An Giang, cảm ơn vì kiến thức mà quý Thây, Cô đã truyền đạt cho lớp chúng em trong suốt quá trình học tập
Xin duoc cam on trường Đại học Khoa học - Huế và trường Đại học An Giang đã tạo điều kiện tốt nhất đề tôi được tham gia và hoàn thành khóa học
Cuối cùng, tôi xin gửi lời cám ơn đến cơ quan và gia đình, chính vì có sự hỗ trợ từ phía cơ quan và gia đình mà tôi yên tâm học tập tốt và hồn thành
khố học
Xin chan thanh cam on!
An Giang, ngày 08 tháng 02 năm 2020
Tác giả
Trang 4MUC LUC
Trang
LOT CAM ĐOAN Q.25 2222122121212121111211211121222 se i LOT CAM ON ooo cco ccseccssessssssssssesssessssessssesssssesssessisassnessnsssisesiisessieessiesssesssseessees ii MỤC LỤC 2 22222222122112211221122112111211212112111222111122 re iii DANH MUC CAC CHU VIET TAT o.oo ceeccees cee eseseseseseseeeveseseteveseseeevesaees vii DANH MỤC CÁC HÌNH - 2 22221 21221122122121121111121121122212 xe viii DANH MỤC BẢNG Q2 2522222212221 eeeree x MỞ ĐẦU 222 S2222212221221122112211221122122212212222222222222222 are 1 Chương 1 TỎNG QUAN VỀ HỆ THÓNG PHẦN TÁN 2-2222 4 1.1 TÔNG QUAN VỀ HỆ PHÂN TÁN - 2 2252221221212 2E 4 1.1.1 Các loại hệ thống phân tán - 22222 12212221221211212222222 e6 4
1.1.2 Ưu điểm của hệ thống phân tán 22222 2212221122122122121222 e0 5
1.1.3 Nhược điểm của hệ thống phân tán 2- 22222 2212221122122121122.2 e0 5
1.2 KHAI NIEM VE HE THONG FILE VA HE THONG FILE PHAN TAN 6 1.2.1 Khai niém vé hé théng file (FS) -222222222122212211222.22.2.22 e6 6 1.2.2 Khái niệm vẻ hệ thống file phân tán (DES) -©22222222222222222-ee 6 1.3 LỊCH SỬ PHÁT TRIỂN 2 52222222122211211121112112112112112122 Ea 7 1.4 CÁC YÊU CÂU ĐỐI VỚI HỆ THÓNG FILE PHÂN TÁN - §
1.4.1 Kết nối người sử dụng với tài nguyên -25- 2222 221122122122122.2 e6 8 1.4.2 Tính trong suốt 222 2212221221122112212112112112112222 are 8
1.4.3 Tính mở 22: 222221122122122122112211211211212212222122222 22a 9
5 Tinh Co dain 9
1.4.5 Tính chịu lỗi - 2-52: 22221 212221221121122121121121121121121122122 xe 9
1.4.6 Tính an toàn an ninh ¿+ c1 2112211121 11221 1151115111511 1811181115111 811 8x cey 9
1.5 CÁC KỸ THUẬT DAT TEN FILE TRONG HE THONG FILE PHAN TAN 10 1.5.1 Dịch tên đường dẫn 2 222222212212112212112121121222 xe 10
1.5.2 Tên nhận dạng có cấu tTÚC - s2 122211212111 1111212 2111111228 nrae 10
1:23: Tông! BƠI ý sonttunb si 0DESGIEDVHEIEESEIOSERSEEPASREHEERSNSIREISRBIRPNERISRlERRi 10
Trang 51.6 HE THONG FILE PHAN TAN NFS (NETWORK FILE SYSTEM) 10 1.6.1 Témg quan v6 NFS ccc cee esos eesseseseertertertereteresareteretereeeresereteveteses 10 1.6.2 Truyền thông - 22-222 22222212211211122112111211111221122222222 xe 11 1.6.3 Đồng bộ hóa -2- 22 2222222221122112211211121112111111211112112222 xe 11 1.6.4 Lưu đệm và bản sao - L1 22211122111 12211 1111111112111 120111111111 k ky 11 1.6.5 Vấn để chịu lỗi - 52-2222 2212222112211122111221121112111211211 21 e6 11
16.6, Any toàn —an/mTnÏ li ssssszsesssssoblDoBEDSDUUSIEIEIGGREEIHOEEIEIIEMEICIHOEEIGISISEMMAER 12
1.7 HỆ THÔNG FILE PHÂN TÁN GFS (GOOGLE FILE SY§TEM) 12
1.7.1 Giới thiệu về GFS 52-222 22222112211211211121111221222222 re 12 1.7.2 Kiến trúc của GES - 522 2222212211121112111211211121122222 re 12 1.7.3 Chịu lỗi và chuẩn đoán lỗi -222 222 22222221222112211221221 22 te 13
1.8 HE THONG FILE PHAN TAN CIFS (COMMON INTERNET FILE SYSTEM) 13
1.8.1 Khai niém vé hé théng file phân tán CIFS -2-©2222222222222zz2zce2 13
1.8.2 Ứng dụng 22: 22222222251211121112111211121111111111212122222222 xe 13
1.8.3 Lịch sử phát triển -14
1.8.4 Sự thay đổi trong tương lai .14
1.9 HỆ THÓNG FILE PHÂN TẢN LUSTRE -2.©22222E222E22212221221222222e2 14
1.9.1 Tổng quan về Ïustre - 22222 2222251221121112111111211121111121222 xe 14
1.9.2 Hệ thống file siêu dữ liệu và máy chủ siêu dữ liệu - 15
1.9.3 Định hướng tương lai cho LUST€ - 5 c3 St ss ErrErsrxerrerrrrerres 15
1.10 XỬ LÝ PHÂN TÁN VÀ HỆ THỐNG PHÂN TÁN -: 15
1.10.1 Khái niệm xử lý phân tán -©22222222221221212221122111221.2 re 15
1.10.2 Hệ thống phân tán - 222 22 22222512231211121112111211121121121212 xe 15
1.10.3 Hé co so dit liéu phan tan eee eeeeceeeneeeeeeneeneeeeseneeneeeneenee 16
1.10:4.:-Hệ cơ sở:dữ:liệu;phần tán lagi? ccccsiereimnermovenvessenn meer meeesners 16
1.10.5 Sự cần thiết của HCSDL phân tán .-2-©2222222222222121122211222-e2 16
1.10.6 Khả năng truy cập từ xa của hệ CSDLPT -ccccssssirsrrrrerres 17
1.11 TIỂU KÉT CHƯƠNG l 2-©222222222122212212212112211211221222 te 18
Chương 2 MOT SO MO HINH LAP TRINH PHAN TAN VA MO HiNH XU’
LÝ BIGDATTA 52 2 222122122112112112112112112112112111211211111211212121 ra 19 2.1 GIỚI THIỆU MỘT SỐ MƠ HÌNH LẬP TRÌNH PHÂN TÁN: RMI,
PVM, CORBA 222 21222212111221112211122112221212222222 re 19
Trang 62.1.1 M6 hinh lap trinh phan tan RMI cee eeeeeeeeeeeeneeeeeteeeeneeneeeereneees 19 2.1.2 M6 hinh lap trinh phan tan PVM ooo cee eeeeeeceereeeeeeeteeseneeteeeeeeneens 21 2.1.3 Mô hình lập trình phân tán CORBA - che 22
2.2 KHÁI NIỆM VỀ BIGDATTA -2- 52 2222251225122112111211121112112212122 xe 25 2.2.1 Giới thiệu về đữ liệu lớn 22222221222112211221121121212222 xe 25 2.3 CÁC LOẠI VÀ ĐẶC ĐIỂM CỦA DỮ LIỆU LỚN .©22-55-25cs2 26
2.3.1, Các loại đữ liệu lOn seroseesgegnoooiotytrthottTttgttGGSG-EGEGRNIIRORaSTTABang qua 26
2.3.2 Các đặc điểm dữ liệu lớn - 222222 2212221121112211211221222 e6 28
2.3.3 Mô hình xử lý dữ liệu lớn - -+22+222222512711271122112221222 2 te 29
2.4 TIỂU KÉT CHƯƠNG 2 22 22 2222251225122112111211121112112111221212 xe 29
Chương 3 GIAI PHAP LUU TRU BIGDATA BANG BIGTABLE 30
3.1 GIỚI THIỆU VẺ BIGTABLE ©22-2221221222122212112112112122122 te 30 3.2 TONG QUAN KIEN TRÚC HỆ THÓNG BIGTABLE - 2-55: 31 3.3 MƠ HÌNH DỮ LIỆU ©222222222122122211221211211222222222ee 33
3.3.1 Hàng -s 22c 2122112211221 ree 33
3.3.2 Họ Gột s22 2 2221112211222 ree 34
8;3;3; Nhân ThồiBÍND susnsseenioslsBEGEIEEISRSIEEEERBIEESIEBIEEIGGAIISENGDNIEESBRUREERGĐDSSAgeRl 35
3.4 GIAO DIỆN LẬP TRÌNH ỨNG DỰNG API -2-222222222212221222222e2 35 3.5 XÂY DỰNG CÁC KHÓI 222222 2212221221211211222221222222ee 37 3.6 THỰC THỊ -2-22222222211127112211122111221121212111221112222 2 rrre 38 3;6.]: Đìỉnh;vị bảng phÚ:scezzzisesiitsdtoiisssiiiitxgt8btRGREREERGRSHSVESRHS(ASEAAt3thRp3zhoa 39 3.16.2 Chi dink bảng: phụ ;.esseeseeecsesenocosesonniitsreiiiitietgithanHicr 8000010336800 8 1660614 0m60 40 3.6.3 Phục vụ bảng phụ óc St nh HH HH Hà Hà HH Hà Hà Hee 42 3.7 NÉN DỮ LIỆU ©52-S22222112212221122122122121122112112222222222 1 ee 44 3.8 TỎI ƯU HÓA HIỆU XUẤTT 222 ©22122222212251221222122122122122 21 .ee 44 3.9 KIỀM SỐT TRUY CẬP VỚI BIGTABLE ©222 2222221222122 22 46 3.10 SO SÁNH VỚI CƠ SỞ DỮ LIỆU SQL 1 52 5221221 2121zxcrki 47
3.11 CÁC GIẢI PHÁP LƯU TRỮ
3.11.1 Giải pháp lưu trữ Spanner
Trang 73.11.3 Giải pháp lưu trữ Cassandira - St St nh rrrerrrrek 52 3.11.4 Giải pháp lưu trữ Google Cloud Platform (GCP) 0 ccs 55
3.12 MÔ PHÒNG LƯU TRỮ DỮ LIỆU -522222222222222222222Ezcztzrrccez 61
3.12.1 Mô tả bải foản 12211211211 2211211211111 11111111112 11111 11 1111 tk rệt 61
3.12.2 Dữ liệu đầu vào, dau ra ctia bai toate cece eee teeeesteeeeeeneeeteeeeeees 61
3.12.3 Thực hiện truy vấn với Java Hbase trong Cloud Bigtable 64
3.12.4 Đánh giá hiệu xuất lưu trữ dữ liệu SSD và HDD -2ccczszcss2 71
Trang 8FS DFS NFS GFS CIFS SMB OST RPC API RMI PVM CORBA OMG OMA HDFS DHT GCP laaS PaaS SQL NOSQL RDBMS SDK loT DANH MỤC CÁC CHỮ VIẾT TẮT FILE SYSTEM
DISTRIBUTED FILE SYSTEM NETWORK FILE SYSTEM GOOGLE FILE SYSTEM
COMMON INTERNET FILE SYSTEM SERVER MESSAGE BLOCK
OBJECT STORAGE SERVER REMOTE PROCEDURE CALL
APPLICATION PROGRAMMING INTERFACE REMOTE METHOD INVOCATION
PARALLEL VIRTUAL MACHINE
COMMON OBJECT REQUEST BROKER ARCHITECTURE OBJECT MANAGENENT GROUP
OBJECT MANAGEMENT ARCHITECTURE HADOOP DISTRIBUTED FILE SYSTEM DISTRIBUTED HASH TABLE
GOOGLE CLOUD PLATFORM INFRASTRUCTURE AS A SERVICE PLATFORM AS A SERVICE
STRUCTURED QUERY LANGUAGE NONE-RELATIONAL SQL
RELATIONAL DATABASE MANAGEMENT SYSTEM SOFTWARE DEVELOPMENT KIT
Trang 9DANH MỤC CÁC HÌNH
Trang
Hình 1.1 Hệ thống phân tán -2- 22 22222212221121122121121121122122.2 re 4
Hình 1.2 Các hệ điều hành 2522222222222 ertrrrrrrrrie 6
Hình 1.3 Mô hình tương tác chung giữa một client và một server 7
Hình 1.4 Cấu trúc hệ cơ sở dữ liệu ee 16
Hình 1.5 Truy cép CSDL ttt xa oo ec ceeeceeeee cece eeeeeeeeeseneeeesenseneseesenteneeeneenee 17 Hình 1.6 Truy cập CSDL từ xa thông qua chương trình phụ . 18 Hình 2.1 Các thành phần của mô hình phân tán RMI 2222222222222 20 Hình 2.2 Cấu trúc CORBA :- 222-2222 221122211221122112111221112111211 211 ee 24 Hình 2.3 Bảng 'Nhân viên' trong cơ sở dữ liệu - ccc c 2S nhnierrrrerre 26 Hình 2.4 Google Search c1 t1 1111 E1 t1 1T HH HH ray 27 Hình 2.5 Ngôn ngữ lập trình XMÌ 22: 211 1212 1n Hy theo 27
Hình 2.6 Biểu diễn 3 đặc điểm của BigData 2222222222212 ee 28
Hình 3.1 Hệ thống quản lý cụm Bigtable -2- 522222 22122212221222122212221222 e0 32
Hình 3.2 Kiến trúc hệ thống Bigtable 522222 22222211211222112112212222 e6 32
Hình 3.3 Mô hình lưu trữ một trang web Bigtable :cccscssssirerrrrerres 33 Hình 3.4 SSTable là bảng chuỗi được sắp xếp 22-522 222221222122212222 e6 37
Hìinh:3.5: Mô hình dịch vụ ChubbV ss:zczz:sscsxrrisdssirtodtoiditioioti3GBES-D4ES8N1A 82881808 38
Hình 3.6 Hệ thứ bậc 3 cấp 22 222222 2222221221112111211121112112121222 xe 39
Hình 3.7 Mô hình chỉ định bảng phụ 5 Sc 2c 2212 2E rrerereere 41 Hình 3.8 M6 hinh phuc vu bang phu occ eceeeeeeeeeeneeeeeseeseneeeeseneeneeeeneeneed 43 Hinh 3.9 Cấu hình máy chủ Spanner 2- 222222 222222122211221121122121 2.0 48 Hình 3.10 Ngăn xếp máy chủ Spanservers - 22222 2212221221211222 e0 49
Hình 3.11 Hệ thống hoạt động Hbase 22 222222221 22122211221121122212112122 e0 50
Hình 3.12 Bảng băm phân tán DHÏT S12: 121 12 E12 EEEtErrkrrerrerrrerre 52 Hình 3.13 Hệ thống phân vùng và nhân bảng dữ liệu trong Cassandya 53
Hinh 3.14 Sơ dé tổng thê Google Cloud Platform (GCP) - 222222222222 56
Hình 3.15 Sơ đồ mỗi quan hệ giữa phạm vi toàn cầu, khu vực và một số tài nguyên 57
Trang 10Hinh 3.17 Bang diéu khién Google Cloud 2222222222 2212221222122212212222 e6 59
Hình 3.18 Giao diện dòng lệnh Cloud Shell eeeereeeeeeeeeeneeneeteneeees 61
Hình 3.19 Trang tải về tập dữ liệu các tuyến xe buýt 222222222222 ca 62
Hình 3.20 Hình 3.20 Tạo dự án mớii c1 2222111222111 1221 1112211111111 x e2 64 Hình 3.21 Giao diện điều khiển Google Cloud của dự án Bus 65
Hình 3.22 Activate Cloud SÌhel[ -.- -:- S12: 2112111121121 tt trrtrrtrrrerre 65
Hình 3.23 Giao diện dòng lệnh Cloud Shell của dự án Bus 65 Hình 3.24 Tạo Insfance - 1112211112221 111121 1115211111111 1 1101k kg x k1 x11 66
Hình 3.25 Nhập dữ liệu xe buýt vào bang Cloud Bigtable .ccccccscsey 67 Hình 3.26 Dữ liệu ngày 01 tháng 06 năm 20 ]7 :- cS t3 EEErsrxerrerrrrerres 67 Hình 3.27 Truy cập và tạo tài khoan Maker oo ccc ecceceeeeceseeeneeteeeneenteteneenee 69 Hình 3.28 Nhập dữ liệu ngày 01 tháng 06 năm 2017 vào MapMaker 69 Hình 3.29 Cho điểm đầu và điểm kết thúc cho hướng đi của tuyến xu buýt 70 Hình 3.30 Chạy lệnh Queries.JaVa c1 SH Hà HH HH Hee 70 Hình 3.31 Sơ đồ nhiệt điểm bắt đầu và kết thúc của tuyến đường xe buýt 71
Trang 11DANH MUC BANG
Trang
Bảng 3.1 Mô tả cấu trúc đữ liệu đầu vào - 2222222122122 xe 62
Trang 12MO DAU
Su phat triển của Internet như một nền tảng cho mọi thứ, từ thương mại đến
y học đã thay đổi nhu cầu về một thế hệ quản lý dữ liệu mới Vào cuối những năm 1990, các công ty động cơ và Internet như Google, Yahool, và Amazon.com đã có thê mở rộng mô hình kinh doanh của họ, tận đụng phần cứng rẻ tiền cho máy tính và lưu trữ
Tiếp theo, các công ty này cần một thế hệ công nghệ phần mềm mới cho phép họ kiếm tiền từ lượng dữ liệu không lồ mà họ đang thu thập từ khách hàng Các công ty này không thê chờ kết quả xử lý phân tích Họ cần khả năng xử lý và phân tích đữ liệu này trong thời gian gần
Do đó cần tiếp thu nhiều loại công nghệ quản lý dữ liệu và cơ sở đữ liệu mới Dưới đây là mười xu hướng dữ liệu lớn hàng dau:
Lưu trữ dữ liệu trong Bigtables Bigtable là một hệ thống lưu trữ phân tán dùng để quản lý đữ liệu có cấu trúc được thiết ké dé co giản trong phạm vi rất lớn: hàng petabyte đữ liệu thông qua hàng nghìn server Bigtable được phát triển tại
Google, đã được sử dụng tử năm 2005 trong hàng chục dịch vụ của Google Một phiên bản mã nguồn mở, HBase, được tạo bởi dự án Apache trên lõi Hadoop
Apache Cassandra, lần đầu tiên được phát triển tại Facebook để cung cấp năng
lượng cho công cụ tìm kiếm của họ
Dữ liệu lớn giúp có thể tận dụng dữ liệu từ các cảm biến để thay đổi kết
quả kinh doanh Ngày càng có nhiều doanh nghiệp sử dụng các cảm biến rất tỉnh
vi trên thiết bị chạy hoạt động của họ Những cải tiến mới trong công nghệ dữ liệu
lớn đang giúp phân tích tất cả đữ liệu này dé nhận thông báo nâng cao về các vấn đề có thể khắc phục để bảo vệ doanh nghiệp
Trang 13Dữ liệu lớn có thể được tích hợp với kho dữ liệu lịch sử để chuyển đối
quy hoạch Dữ liệu lớn có thể cung cấp cho một công ty hiểu rõ hơn về lượng đữ
liệu không lỗ về hoạt động kinh doanh của họ Thông tin này về tình trạng hiện tại của doanh nghiệp có thể được kết hợp với dữ liệu lịch sử để có cái nhìn đầy đủ về
bối cảnh thay đổi doanh nghiệp
Dữ liệu lớn có thể thay đổi cách quản lý bệnh bằng cách thêm các phân tích dự đoán Ngày càng nhiều, các chuyên gia chăm sóc sức khỏe đang tìm kiếm các giải pháp dữ liệu lớn để hiểu rõ hơn về bệnh bằng cách so sánh các triệu chứng và kết quả xét nghiệm với cơ sở dữ liệu về kết quả từ hàng trăm ngàn trường hợp khác Điều này cho phép các học viên dự đoán nhanh hơn kết quả và cứu sống
Điện toán đám mây sẽ biến đổi cách thức dữ liệu sẽ được quản lý trong
tương lai Điện toán đám mây là vô giá như một công cụ để hỗ trợ mở rộng dữ liệu
lớn Càng ngày, các dịch vụ đám mây được tối ưu hóa cho dữ liệu sẽ có nghĩa là
nhiều dịch vụ và mô hình phân phối hơn sẽ làm cho dữ liệu lớn trở nên thiết thực
hơn cho các công ty thuộc mọi quy mô
An ninh và quản trị sẽ là sự khác biệt giữa thành công và thất bại của các doanh nghiệp tận dụng đữ liệu lớn Dữ liệu lớn có thê là một lợi ích to lớn, nhưng nó không có rủi ro Các công ty sẽ khám phá ra rằng nếu họ không cân thận, có thể tiết lộ thông tin cá nhân thông qua phân tích dữ liệu lớn Các công ty cần cân bằng nhu câu phân tích kết quả với các thông lệ tốt nhất cho an ninh và quản trị
Tính xác thực, hay tính trung thực của dữ liệu lớn sẽ trở thành vấn đề quan trọng nhất trong năm tới Nhiều công ty có thể được mang đi với khả năng
phân tích lượng dữ liệu không lỗ và lấy lại kết quả hấp dẫn dự đoán kết quả kinh
doanh Do đó, các công ty sẽ thấy rằng tính trung thực của dữ liệu phải trở thành ưu tiên hàng đầu hoặc việc ra quyết định sẽ bị ảnh hưởng
Trang 14công cụ và công nghệ mới Bây giờ dữ liệu lớn sắp vào dòng chính Rất nhiều dịch vụ đữ liệu lớn được đóng gói sẽ tràn ngập thị trường
Các trường hợp sứ dụng và các cách cải tiến mới để áp dụng dữ liệu lớn sẽ bùng nỗ Thành công ban đầu với đữ liệu lớn trong các ngành công nghiệp khác nhau như sản xuất, bán lẻ và chăm sóc sức khỏe sẽ dẫn đến nhiều ngành công nghiệp khác đang tìm cách tận dụng lượng dữ liệu không lồ để chuyển đổi ngành công nghiệp của họ
Chính vì vậy luận văn này đã “Tìm hiểu giải pháp lưu trữ Bigtable và ứng
dụng” xuất hiện cùng với mục tiêu chính là đạt được sự hiểu biết sâu sắc hơn về dịch vụ lưu trữ cốt lõi của Bigtable như sử dụng định dạng dữ liệu dựa trên hàng
Trang 15Chuong 1 TONG QUAN VE HE THONG PHAN TAN
1.1 TONG QUAN VE HE PHAN TAN
Một hệ thống phân tán chứa nhiều nút riêng biệt nhưng được liên kết với nhau bằng cách sử dụng mạng Tất cả các nút trong hệ thống này giao tiếp với nhau và xử lý các quá trình song song Mỗi nút này chứa một phần nhỏ của phần mềm hệ al = Lo CƯỜNG / \ _|- MẠNG Ly "= \ NY ) ==> |
Hinh 1.1 Hé théng phan tan
diéu hanh phan tan
1.1.1 Cac loai hé théng phan tan
Các nút trong các hệ thống phân tán có thê được sắp xếp đưới dang hé théng máy khách/máy chủ hoặc hệ thống ngang hàng Chi tiết về những điều này như sau:
e _ Hệ thống máy khách / máy chủ
Trang 16khách cùng một lúc trong khi máy khách chỉ tiếp xúc với một máy chủ Cả máy khách và máy chủ thường liên lạc qua mạng máy tính và vì vậy chúng là một phần của hệ thống phân tán
Hệ thống ngang hàng
Các hệ thống ngang hàng chứa các nút là những người tham gia bình đẳng
trong việc chia sẻ dữ liệu Tât cả các nhiệm vụ được chia đêu giữa tât cả các nút
Các nút tương tác với nhau theo yêu cầu như chia sẻ tài nguyên Điều này được
thực hiện với sự trợ giúp của một mạng
1.1.2 Ưu điểm của hệ thống phân tán
Một số ưu điểm của Hệ thống phân tán như sau:
Tất cả các nút trong hệ thống phân tán được kết nối với nhau Vì vậy, các nút có thể dễ dàng chia sẻ đữ liệu với các nút khác
Nhiều nút có thể đễ dàng được thêm vào hệ thống phân tán, nghĩa là nó có thê được thu nhỏ theo yêu câu
Lỗi của một nút không dẫn đến sự thất bại của toàn bộ hệ thống phân tán
Các nút khác vẫn có thể giao tiếp với nhau
Các tài nguyên như máy in có thê được chia sẻ với nhiều nút thay vì chỉ giới
hạn ở một nút
1.1.3 Nhược điểm của hệ thống phân tán
Một số nhược điểm của Hệ thống phân tán như sau:
Rất khó dé cung cấp bảo mật đầy đủ trong các hệ thống phân tán vì các nút
cũng như các kết nối cần được bảo mật
Một số tin nhắn và dữ liệu có thể bị mất trong mạng trong khi di chuyên từ nút này sang nút khác
Trang 17© Qua tai có thể xảy ra trong mạng nếu tất cả các nút của hệ thống phân tán cố gắng gửi dữ liệu cùng một lúc
1.2 KHÁI NIỆM VE HE THONG FILE VA HE THONG FILE PHAN TAN 1.2.1 Khai niém vé hé théng file (FS)
Hệ thống file là một phương pháp tổ chức lưu trữ các file và dữ liệu của chúng, thường được thực hiện bởi hệ điều hành Hệ thống file cho phép người sử dụng dễ dàng tìm kiếm và truy nhập các file
Ví dụ: hệ thống file ISO 9660 được thiết kế dành riêng cho đĩa quang
Hình 1.2 Các hệ điều hành
1.2.2 Khái niệm về hệ thống file phân tán (DES)
Hệ thống file phân tán (DFS) là một hệ thống file có dữ liệu được lưu trữ
trên máy chủ Dữ liệu được truy cập và xử lý như thể nó được lưu trữ trên máy khách cục bộ DFS giúp thuận tiện để chia sẻ thông tin và file giữa những người dùng trên mạng theo cách được kiểm soát và ủy quyền Máy chủ cho phép người dùng máy khách chia sẻ file và lưu trữ đữ liệu giống như họ đang lưu trữ thông tin cục bộ Tuy nhiên, các máy chủ có toàn quyền kiểm soát dữ liệu và cung cấp quyền kiểm soát truy cập cho khách hàng
Trang 18dich vu đặc biệt Nhóm các client là nhóm gửi yêu cầu đến server để được sử dụng các dịch vụ đó trên server
Mô hình tương tác tông quát giữa chent và server:
Wait for result Client _—<-———— - Request
Provide service Time ———*
Hình 1.3 Mô hình tương tác chung giữa một client và một server
1.3 LICH SU PHAT TRIEN
Một số mốc phát triển của các hệ thống file phân tán:
e 1980s: Chia sé file dùng đĩa mềm (copy — vận chuyển — copy)
e 1980s: Chia sé file dùng giao thức FTP, vẫn cần 2 lần copy và user phải biết dia chi vat ly cua ftp server
e SPRITE Network OS: duoc phat trién vao giữa những năm 1980 tai Dai hoc
University of California at Berkerly, Mỹ
e Nam 1983: Andrew File System (AFS) duoc phat trién tai Dai hoc Carnegie Mellon với sự hỗ trợ của hãng IBM, Mỹ
e© Năm 1985: Sun NFS duoc hang Sun Microsystems phat trién
e Đầu năm 1990s: Hé théng file CODE được phát triển Đây là bản kế tiếp
của AFS
e ZEBRA: Dugc phat trién vao dau những năm 1990 tại Đại hoc University of
Trang 19e HARP: Duoc phat trién vao dau những năm 1990 tại Đại học MIT, Mỹ
e Lustre: La mot DFS mã mở, có khả năng kết hợp hàng chục ngản nút và cung cấp dung lượng lưu trữ đến petabytes Phiên bản 1.80 được phát hành vào tháng 5 năm 2009
1.4 CAC YEU CAU DOI VOI HE THONG FILE PHAN TAN
1.4.1 Kết nối người sử dụng với tài nguyên
Chia sẻ nguồn tài nguyên là một đặc tính cơ bản của hệ thống phân tán, nó là cơ sở cho những đặc tính khác và nó ảnh hưởng đến những kiến trúc phần mềm có sẵn trong các hệ phân tán Các nguồn tài nguyên có thể là mục đữ liệu, phần cứng và các thành phần của phần cứng Các nguồn tài nguyên được phân biệt từ một đữ liệu được quản lý với những quá trình xử lý đơn bởi nhu câu của vài quá trình xử lý để chia sẻ chúng
1.4.2 Tính trong suốt
Một hệ phân tán được gọi là trong suốt nếu nó có khả năng che dấu tính rời rạc và những nhược điểm có thể của nó đối với người sử dụng và người lập trình ứng dụng Có 8 dạng trong suốt:
e_ Trong suốt truy cập: người dùng không biết được là đang truy xuất đến tài nguyên cục bộ hay tài nguyên nằm trên một vị trí khác trên hệ thống vì mọi tài nguyên đều có cách truy xuất giống nhau
e Trong suốt vị trí: người dùng không biết cũng như không quan tâm vị trí của tài nguyên trên hệ thống vì vị trí của chúng không ảnh hưởng đến cách thức truy cập
e_ Trong suốt di trú: một tài nguyên có thê thay đổi vị trí mà không ảnh hưởng đến cách thức truy xuất
Trang 20e_ Trong suốt nhân bản: ta có thể nhân bản một vai tài nguyên và đặt ở vị trí khác nhau nhưng người dùng không biết sự tồn tại của các nhân bản này e_ Trong suốt về tương tranh: một tài nguyên có thể được chia sẽ cho nhiều
người dùng và bởi nhiều người, nhưng người dùng không biết về sự chia sẻ tài nguyên này
e Trong suốt về lỗi: nếu có sự cố tại một vị trí thì hệ thống phải tự động khắc
phục bằng cách truy xuất đến tài nguyên nằm trên vị trí khác, sau khi sự cố đã được khắc phục thì tự động cho phép truy xuất lại tài nguyên
e_ Trong suốt truy cập nhanh: che giấu việc di chuyên tài nguyên từ bộ nhớ ngoài vào bộ nhớ trong và ngược lại
1.4.3 Tính mở
Một hệ thống file phân tán được gọi là có tính mở nếu nó có khả năng bổ
sung thêm các dịch vụ mới mà không làm ảnh hưởng xấu đến các dịch vụ đã có 1.4.4 Tính co dãn
Một hệ thống file phân tán được gọi là có tính co dãn nếu nó có thể thích nghi được
với những sự thay đổi qui mô của hệ thống Tính co dãn thê hiện trên 3 khía cạnh e_ Dễ dàng bồ sung thêm tài nguyên và người sử dụng
e_ Hệ thống thay đổi qui mô về mặt địa lý e_ Hệ thống thay đổi qui mô về quản trị 1.4.5 Tính chịu lỗi
Xử lý được những lỗi xảy ra trong quá trình làm việc Bên cạnh tính chịu lỗi
luôn đi kèm theo là khắc phục lỗi
1.4.6 Tính an toàn an ninh
Hệ thống có lỗi tạm thời thì vẫn không có thảm hoạ xảy ra Ví dụ như các
tiến trình hoạt động trong hệ thống điều khiển năng lượng nguyên tử hay đưa con
người lên vũ trụ cần một độ an toàn cao Nếu các hệ thống điều khiển như thế tạm
Trang 211.5 CAC KY THUAT DAT TEN FILE TRONG HE THONG FILE PHAN TAN
Các kỹ thuật thực hiện việc đặt tên file trong hệ thống file phân tán bao
gồm: dịch tên đường dẫn, tên nhận dạng có cấu trúc, thông tin gợi ý hint và các cơ
chế mount
1.5.1 Dịch tên đường dẫn
Dịch tên đường dẫn là ánh xạ từ trên file sang tên nhận dạng mức thấp và
thường được thực hiện bằng một thủ tục tìm kiếm đệ quy
1.5.2 Tên nhận dạng có cầu trúc
Mỗi tên nhận dạng có cấu trúc là một chuỗi bit, thường gồm 2 thành phân: e_ Phần đầu dùng để nhận dạng đơn vị thành phần chứa file
e Phan con lai nhan dang file cu thé trong don vi thanh phan
1.5.3 Thông tin gợi ý
Thông tin gợi ý là một kỹ thuật thường được sử dụng trong ánh xạ vị trí của
cac DFS
1.5.4 Co ché mount
Cơ chế mount là việc kết hợp các hệ thống file từ xa vào hệ thống file cục bộ để tạo thành một cấu trúc tên toản cục
1.6 HE THONG FILE PHAN TAN NFS (NETWORK FILE SYSTEM)
Hệ thống file mạng phát triển bởi hãng Sun Microsystem (Mỹ) thường được gọi tắt là NFS NES ban đầu được phát triển chủ yếu đành cho các máy trạm UNIX, tuy nhiên sau đó nó cũng có thể chạy tốt trên các hệ điều hành khác
1.6.1 Tổng quan về NFS
Trong mô hình dịch vụ file từ xa, các client truy cập một cach trong suốt đến
hệ thống file được quản lý bởi một server ở xa Vì thế, thông thường các client không biết vị trí lưu trữ thực sự của các file Thay vào đó, chúng được cung cấp
Trang 22file cục bộ thông thường Trong trường hợp riêng, client chỉ được cung cấp một
giao diện chứa nhiều các thao tác file khác nhau, server chỉ có nhiệm vụ thực thi các thao tác file đó
Mô hình hệ thống file được đưa ra bởi NFS cũng giống như mô hình được
đưa ra bởi hệ thống dựa trên UNIX Các file sẽ được xem như dãy tuần tự các byte
Chúng được tổ chức phân cấp trong một đồ thị định danh, trong đó các nút biểu diễn các thư mục và các file Đề truy cập một file, client phải tìm tên của nó trong
một dịch vụ định danh (naming service) và sẽ nhận được điều khiển file kết hợp (associated file handle) Ngoai ra mỗi file có một số các thuộc tính mà giá trị của
chúng có thể được tìm và thay đôi 1.6.2 Truyền thông
Một điều quan trong trong NFS đó là sự độc lập với hệ điểu hành, kiến trúc mạng và các giao thức vận chuyển Ví dụ như, các client chạy trên hệ thống
Windows vẫn có thê giao tiếp voi mét may cht file (file server) UNIX
1.6.3 Đồng bộ hóa
Các file trong một hệ thống file phân tán được chia sẻ bởi nhiều client Nếu việc chia sẻ không bao giờ xảy ra thì quả thật như thế chẳng còn ý nghĩa của hệ thống file phân tán Việc chia sẻ các file đòi hỏi cần phải có sự đồng bộ hóa Sự đồng bộ hóa sẽ là khá đơn giản nếu các file được giữ trên một server trung tâm
Tuy nhiên khi ấy hiệu năng sẽ là một vấn đề Bởi thế, các client thường được phép giữ một bản sao cục bộ của file trong khi chúng đang đọc và ghi nội dung file 1.6.4 Lưu đệm và bản sao
Cũng như các hệ thống file phân tán khác, NFS su dụng bộ đệm cho client để tăng hiệu năng Thêm vào đó, nó cũng hỗ trợ việc tạo các bản sao của file
1.6.5 Vấn đề chịu lỗi
Vấn để với cơ chế RPC (Remote Procedure Call) khi được dùng bởi NFS đó
Trang 23được sinh ra dựa trên giao thức vận chuyển hướng kết nối tin cậy như TCP, hoặc
giao thức vận chuyển phi kết nối không tin cậy như UDP
Một trong những vấn để lớn khác của RPC là thiếu cơ chế phát hiện các yêu cầu trùng lặp (duplicate request) Như vậy sẽ xảy ra trường hợp, khi một hồi đáp RPC bị mất và client truyền lai (retransmit) thành công yêu cầu gốc đến server và
kết quả là server sẽ phải thực hiện lại yêu cầu đó thêm một lần nữa 1.6.6 An toàn — an ninh
Y tuong chinh cua NFS đó là một hệ théng file từ xa sẽ được hiện diện tai
client như thể nó là một phần trong hệ thống file cục bộ của client Cũng chính vì vậy mà vấn để an toàn, an ninh trong NFS luôn được tập trung chính vào truyền thông giữa client và server Truyền thơng an tồn có nghĩa là có một kênh an toàn được thiết lập ở giữa server va client
1.7 HE THONG FILE PHAN TAN GFS (GOOGLE FILE SYSTEM)
1.7.1 Giới thiệu về GFS
Hệ thống file Google File System (GFS) được phát triển nhằm đáp ứng nhu cầu xử lý thông tin ngày càng tăng của Google GFS cũng hướng tới những mục tiêu chính tương tự như những hệ thống file phân tán đã có, như hiệu năng, tính mở
rộng và tính sẵn sàng Tuy nhiên, GFS được xây dựng dựa trên một số giả định đầu
vào xuất phát từ việc khảo sát khối lượng đữ liệu cần xử lý của các ứng dụng và môi trường công nghệ hiện tại
1.7.2 Kiến trúc của GES
GFS bao gồm mot may chu (master) don va nhiều bộ chứa dữ liệu
Trang 24Cac tap tin duoc chia thanh nhiều chunks có kích thước cố định Mỗi một chunk (đoạn dữ liệu) được xác định bằng mot chunk handle 64 bit duy nhat không thể biến đổi mà mang tính toàn cục, được gán bởi máy chủ vào thời điểm tạo chunk Các chunkserver lưu trữ các chunk ở đĩa cục bộ như là các file Linux đồng thời đọc hoặc ghi dữ liệu chunk được xác định bởi chunk handle và dải byte Để tăng độ tin cậy, mỗi một chunk được sao chép trên nhiều chunkserver vật lý
1.7.3 Chịu lỗi và chuẩn đoán lỗi
Một trong những thử thách lớn nhất trong quá trình thiết kế hệ thống là việc xử lý những thành phần bị lỗi xảy ra thường xuyên Chất lượng và số lượng của những thành phần này làm cho vấn để này trở nên phức tạp hơn Không thể hoàn toàn tin tưởng vào máy móc và cũng không thể hoàn toàn tin tưởng vào các ô đĩa cứng Những lỗi thành phần có thể gây ra kết quả là hệ thống không sẵn sàng hoặc xấu hơn là gây mất dữ liệu
1.8 HE THONG FILE PHAN TAN CIFS (COMMON INTERNET FILE SYSTEM)
1.8.1 Khái niệm về hệ thống file phân tán CIES
Hệ thống file phan tan Common Internet File System (CIFS) còn được biết
tới với cái tên Server Message Block (SMB), là một giao thức được sử dụng chủ
yếu để chia sẻ files trên mạng LAN Giao thức này cho phép một máy khách (client) thực hiện các thao tác với các file như là chúng nằm trên máy tính đó Các thao tác
như đọc, ghi, tạo, xóa và đổi tên đều được hỗ trợ, chỉ có sự khác biệt duy nhất là:
các tập tin đó đều không năm trên máy tính cá nhân mà thực tế là nằm trên một máy chủ từ xa
1.8.2 Ứng dụng
Giao thức CIFS chủ yếu được sử dụng trong các hệ điều hành của Microsoft Windows For Workgroups là hệ điều hành đầu tiên của Microsoft sử đụng CIES, và các hệ điều hành sau đó của Microsoft đều có thể có chức năng như máy chủ CIFS
Trang 25duyệt (thông qua biểu tượng Network Neighborhood), xac thue (WindowsNT và Windows 2000), và các địch vụ máy in từ xa Có thể nói rằng cốt lõi của chức năng
mang của Microsoft được xây dựng trên các dịch vụ CIFS
1.8.3 Lịch sử phát triển
Năm 1984, IBM phát triển một giao thức lập trình ứng dụng (API) cho phép các trao đổi mạng cơ bản giữa các máy trong một mạng nhỏ Tuy nhiên, API yêu
cầu một giao thức tầng giao vận để có thể gửi và nhận dữ liệu Một năm sau đó,
IBM đã phát triển một giao thức tầng giao vận có thê đưa NetBIOS API vào đời sống API và giao thức giao vận được gộp vào một đối tượng thực thể và gọi là NetBIOS Enhanced User Interface, hay 1a NetBEUI
Vào thời gian đó, các giao thức giao vận khác đang được sử dụng phổ biến và NetBIOS API đã nhanh chóng được triển khai sử dụng trên nhiều giao thức giao vận
như DECnet, IPX/SPX và TCP/IP Đồng thời, API cũng đã trở nên khá phổ biến
Sau d6 Microsoft va Intel đã lần đầu tiên giới thiệu giao thức chia sẻ file SMB/CIFS, voi tiéu đề là “Giao thức cốt lõi” (Core Protocol) Microsoft và Intel chọn sử dụng NetBIOS API để giao chuyên các gói tin CIFS ở tầng trên Kế từ đó, CIFS sử dụng NetBIOS trên TCP đã trở thành cơ chế chia sẻ file trên mạng chuẩn
mực cho các hệ điều hành của Microsoft
1.8.4 Sự thay đổi trong tương lai
Nhiều nhà cung cấp đang tìm kiếm cách thức để có thể hoàn toàn thực hiện từng giai đoạn của NetBIOS và chạy CIFS trực tiếp trên TCP và UDP Trong CIFSI1.0 đã cho rằng CIFS không phụ thuộc vào giao thức giao vận cụ thể nào và có chỉ ra cách CIFS chạy trên TCP
1.9 HE THONG FILE PHAN TAN LUSTRE 1.9.1 Téng quan vé Lustre
Hệ thống file phân tán Lustre đem đến hiệu năng đáng kể và khả năng mở
rộng dựa trên các hệ thống file phân tán hiện có Lustre tận dụng sức mạnh và tính
Trang 26POSIX thực sự hiện đại, đáp ứng các yêu cầu của các cụm (cluster) lớn ngày nay, trong khi cung cấp một thiết kế và hướng mở rộng cho các môi trường lớn hơn sau này Cái tên "Lustre" là sự kết hợp của hai thuật ngữ "Linux" và "Clusters"
1.9.2 Hệ thống file siêu dữ liệu và máy chủ siêu dữ liệu
Hệ thống file siêu đữ liệu là "thông tin về thông tin" có nghĩa là siêu dữ liệu là thông tin về các file và thư mục tạo nên một hệ thống file Thông tin này có thê
chỉ đơn giản là thông tin về các file, thư mục cục bộ và thông tin trạng thái liên
quan, nhưng cũng có thê là thông tin về các điểm gắn (mount) cho các hệ thống file
khác trong hệ thống file hiện tại, thông tin về các liên kết biểu tượng
1.9.3 Định hướng tương lai cho Lustre
Thiết kế và sử dụng các máy chủ siêu đữ liệu phân tán của Lustre và OST giúp xây đựng một hệ thống file rất dễ mở rộng
1.10 XU LY PHAN TAN VA HE THONG PHAN TAN
1.10.1 Khai niệm xử lý phân tán
Xử lí phân tán là việc thực hiện các tác vụ xử lí phức tạp trên nhiều hệ thống
Không gian nhớ và bộ xử lý của nhiều máy cùng hoạt động chia nhau các tác vụ xử lý Các phần tử trong mạng máy tính cùng phối hợp thực hiện những công việc
được gán cho chúng Phần tử ở đây đề chỉ một máy tính hoặc một thiết bị tính toán
có khả năng thực hiện chương trình trên nó Máy tính trung tâm sẽ giám sát và quản lý các tiến trình này
1.10.2 Hệ thống phân tán
Hệ thống phân tán là tập hợp các máy tính độc lập liên kết với nhau thành
một mạng máy tính được cài đặt các hệ cơ sở dữ liệu và các phan mém hé théng
phân tán, cho nhiều người sử dụng truy cập chia sẽ thông tin chung Các máy tính trong hệ thống phân tán có kết nối phần cứng lỏng lẻo, nghĩa là không chia sẽ bộ
nhớ, chỉ có một hệ điều hành trong toàn bộ hệ thống phân tán
Các mạng máy tính được xây dựng dựa trên kỹ thuật web, ví dụ như
Trang 271.10.3 Hệ cơ sở dữ liệu phân tán Se ‹S” ft eo UCC &
Trinh quan lý các ứng dụng |_ Trình quản lý các ứng dụng
Trình quản lý Trình quản lý |⁄<- Trình quản lý Trình quản lý
đữ liệu phân tán truyền thơng | NefWOTK Í dữ liệu phân tán truyền thông Hệ quản tri CSDL phan tan Hé quan trị CSDL phân tán
Hình 1.4 Cấu trúc hệ cơ sở dữ liệu phân tán
1.10.4 Hệ cơ sở dữ liệu phân tán là gì?
Hệ cơ sở dữ liệu phân tán có thể xem như những công cụ làm cho quá trình
xử lý dữ liệu phân tán dễ dàng hơn và hiệu quả hơn Khái niệm hệ cơ sở dữ liệu
phân tán ở đây bao gồm cả khái niệm cơ sở dữ liệu phân tán và hệ quản trị cơ so dit
liệu phân tán (ví dụ HQTCSDL Oracle, SQL SERVER, DB2 )
1.10.5 Sự cần thiết của HCSDL phân tán
Trong những năm gần đây, công nghệ cơ sở đữ liệu phân tán đã trở thành một lĩnh vực quan trọng của công nghệ thông tin, tính cần thiết của nó ngày càng được nâng cao Có nhiều nguyên nhân thúc đây sự phát triển của các hệ CSDLPT
Thứ nhất là sự phát triển của các cơ cấu tô chức Nhiều công ty, tổ chức doanh nghiệp có cơ cấu tổ chức không tập trung ngày càng nhiều, hoạt động phân
tán trên phạm vi rộng Vì vậy thiết kế và cài đặt cơ sở dữ liệu phân tán là phù hợp,
đáp ứng mọi nhu cầu truy xuất và khai thác đữ liệu
Thứ hai là giảm chỉ phí truyền thông Trong thực tế, sử dụng một số ứng dụng mang tính địa phương sẽ làm giảm chỉ phí truyền thông Bởi vậy, việc tối ưu hóa tính địa phương của các ứng dụng là một trong những mục tiêu chính của việc
Trang 28Thứ ba là hiệu quả công việc Công việc được phân chia giữa các bộ xử ly khác nhau và tránh được các tắc nghẽn thông tin trên mạng truyền thông hoặc các dịch vụ chung của toàn hệ thống Sự phân tán dữ liệu phân tán hiệu quả làm tăng tính địa phương của các ứng dụng
Thứ tư là độ tin cậy và tính sẵn sàng Cách tiếp cận CSDLPT, cho phép truy cập độ tin cậy và tính sẵn sàng cao hơn Những lỗi xuất hiện trong CSDLPT có thê xây ra nhiều hơn vì số thành phần cấu thành nhiều hơn, nhưng ảnh hưởng của lỗi chỉ ảnh hưởng tới các ứng dụng sử dụng các Site lỗi Sự hỏng hóc của toàn hệ thống hiểm khi xây ra
Từ những tính ưu việt của CSDLPT so với CSDL tập trung cho thấy CSDLPT ngày càng đã xuất hiện nhiều trên thị trường, khăng định sự cân thiết của nó
1.10.6 Kha nang truy cập từ xa của hệ CSDLPT
Khả năng truy cập từ xa có thể thực hiện bằng hai cách:
Cách thứ nhất là trình ứng dụng yêu cầu truy cập từ xa, yêu cầu này được định tuyến tự động bởi DDBMS (Distributed Database Management System- hệ thống quản lý cơ sở đữ liệu phân tán) tới máy chủ đữ liệu Được thực hiện tại máy chủ chứa cơ sở đữ liệu và gửi lại kết quả
Mô hình minh họa
'Yâu câu truy nhập @
Chương trình Hệ quản trị Site 1 tng dung _— Ln CSDL 1 ite (6) Tra ket qua + al lag Site 2 Hệ quan trị CSDL 2 ga — —— @ CSDL Hình 1.5 Truy cập CSDL từ xa
Trang 29gian yéu cau truy cap ti xa yéu cau nay duoc dinh tuyén tu déng béi DDBMS téi
máy chủ dữ liệu Được thực hiện tại máy chủ chứa cơ sở dữ liệu và gửi lại kết quả Chương trình tưng dụng : 5 - Hệ quan tri | ss CSDL 1 2 Site 1 «+ š dưng
Chương trình Hé quan tri
ing dung 3483122 ei Sg acasitec eee CSDL 2 gcse siege cS
le a z i CSDL
Site 2
Hình 1.6 Truy cập CSDL từ xa thông qua chương trình phụ
1.11 TIEU KET CHUONG 1
Trang 30Chương 2 MỘT SÓ MƠ HÌNH LẬP TRÌNH PHÂN TÁN VÀ MƠ
HÌNH XỬ LÝ BIGDATA
2.1 GIỚI THIÊỆU MỘT SỐ MƠ HÌNH LẬP TRÌNH PHÂN TÁN: RMI,
PVM, CORBA
Một số mô hình lập trình phân tán có những đặc điểm khác nhau với những thuận lợi và khó khăn riêng Là người phát triển ứng dụng thì chúng ta cần phải dựa vào đặc điểm của từng mô hình để đưa ra quyết định đúng đắn trong việc chọn mô hình phủ hợp cho ứng dụng Ứng dụng sẽ hoạt động hiệu quả, dễ nâng cấp, bảo trì
nếu được lựa chọn mô hình phù hợp, ngược lại, ứng dụng sẽ hoạt động kém hiệu
quả và khó nâng cấp, bảo trì nếu mô hình ứng dụng không phù hợp Do vậy việc lựa chọn mô hình phù hợp cho ứng dụng rất quan trọng
2.1.1 Mô hình lập trình phân tán RMI
RMI là một cơ chế cho phép một đối tượng đang chạy trên một máy ảo Java này ( Java Virtual Machine) gọi các phương thức của một đối tượng đang tổn tại trên một máy ảo Java khac (JVM)
Thực chất RMI là một cơ chế gọi phương thức từ xa đã được thực hiện và
tích hợp trong ngôn ngữ Java Vì Java là một ngôn ngữ lập trình hướng đối tượng, nên phương pháp lập trình trong RMI là phương pháp hướng đối tượng do đó các thao tác hay các lời gọi phương thức đều liên quan đến đối tượng Ngoài ra, RMI còn cho phép một client có thể gửi tới một đối tượng đến cho server xử lý, và đối tượng này cũng có thê được xem là tham số cho lời gọi hàm từ xa, đối tượng này
cũng có những dữ liệu bên trong và các hành vi như một đối tượng thực sự
Trang 31được sử lý một cách trong sudét béi may do Java (Java virtual machine), RMI cung cấp cơ chế callback, nó cho phép server triệu gọi các phương thức é client
RMI sử dụng lớp trung gian để truyên tin skeleton và stub; Lớp stub đùng ở client, Lớp skeleton dùng ở server; Java sử dụng rmic.exe để tạo ra các lớp trung gian va TCP Socket RMI Server +savel) Province +updatel) +delete() %4-=>=~ +find() Database
Hình 2.1 Các thành phần của mô hình phân tán RMI
Ưu điểm của RMI:
e Nhiéu trên các nên tảng di động
e_ Có thể giới thiệu mã mới tới JVM ngoài
e Người phát triển Java có thé đã có kinh nghiệm với RMI (có sẵn từ JDK1.02)
e_ Hệ thống hiện tại có thê đã sử dụng RMI - chi phí va thời gian đề chuyền đổi
sang một công nghệ mới có thé bi hạn chế
Nhược điểm của RMI:
e Chỉ gắn với các nên tảng hỗ trợ Java, mối đe dọa bảo mật với thực thi mã từ xa, và hạn chế về chức năng thực thi bởi các hạn chế bảo mật
e_ Chỉ có thể hoạt động với các hệ thống Java - không hỗ trợ cho các hệ thống được viết bằng C +4, Ada, Fortran, Cobol
Trang 322.1.2 M6 hinh lap trinh phan tan PVM
PVM là một bộ phan mễm tích hợp nhằm mô phỏng một mô hình tính toán phân tán mềm dẻo và đa năng trên mạng máy tính không đồng nhất
Một hệ thống PVM dựa trên tập máy chủ cấu hình bởi người sử dụng Các cơng đoạn tính tốn của ứng dụng sẽ được xử lý phân tán trên những máy chủ này, thậm chí có thể thêm bớt trong khi chạy chương trình Các máy chủ này có thể là
một máy trạm độc lập
Khi một máy chủ (hosÐ) gia nhập vào máy ảo song song thi cac tai nguyên của máy này sẽ trở thành tài nguyên của hệ thống Vì vậy các công việc (task) khi được phân công xử lý trên host này đều có thể tận dụng hết tài nguyên trên máy đó
thậm chí cả hệ thống tap tin
Vi vay, đặc điểm của mô hình PVM là:
e_ Dựa trên tiến trình: Đơn vị tính toán song song trong PVM là task Task là
một đoạn mã tuân tự độc lập và sẽ được ánh xạ tới các host khi đang chạy
chương trinh ứng dụng
e Mô hình truyền thông điệp (message — passing model): Dữ liệu trao đổi giữa các task trong hệ thống dựa vào cơ chế truyền thông điệp Kích thước của thông điệp chỉ bị giới hạn do tài nguyên hệ thống
e Hỗ trợ trên mạng không đồng nhất: PVM cho phép thông điệp chứa nhiều
kiểu dữ liệu để trao đổi giữa các host có các dạng biểu diễn dữ liệu khác
nhau
e Thay đổi cấu hình theo yêu cầu: Các chương trình có thê thực hiện trên tập các máy được lựa chọn theo yêu cầu của người sử dụng
Hệ thống của PVM gồm 2 phần:
e Phan hat nhan (pvmd/pvm3): Là một tiến trình thường trú (deamon) được đặt
Trang 33dùng muốn chạy một ứng dụng PVM, việc đầu tiên là phải tạo ra máy ảo bằng
cách bắt đầu một PVM Các ứng dụng PVM sau đó có thể được bắt đầu từ một
dâu nhắc trên Unix ở bất kỳ một máy chủ nào Nhiều người dùng có thê cấu hình lên nhiều máy ảo và mỗi người dùng có thể thực thi các ứng đụng PVM cùng một lúc Phần này sẽ được khởi tạo cùng với máy ảo song song PVM trên tất cả các host Nó chịu trách nhiệm quản lý các task PVM trên từng host: đảm bảo quá trình truyền thông điệp tới các task trên máy chủ
e Phần thư viện các chương trình con giao điện lập trình của PVM: gồm các chương trình con trong bộ thư viện PVM Thư viện này bao gồm các thủ tục truyền thông điệp, sinh các task, điều phối các task và thay đổi cấu hình của máy ảo PVM
Ưu điểm của PVM:
e©_ Ưu điểm lớn nhất của PVM là khả năng tích hợp các hệ thống không thuần nhất Không những các chương trình PVM chạy được trên bất cứ hệ thống
nao mà nó hỗ trợ mà các nhiệm vụ trong một chương trình còn có khả năng chạy trên các hệ thén g khac nhau tại cùng một thời điểm
2.1.3 Mô hình lập trinh phan tan CORBA
CORBA, viết tắt từ Common Object Request Broker Architecture, được xây dựng nhằm phát triển hệ thống hướng đối tượng rộng rãi
CORBA cho phép các ứng dụng giao tiếp nhau mà không cần biết vị trí và ai
đã tạo ra
ORB là phần trung gian tạo khả năng cho các mối liên hệ giữa client/server thông qua những object Bằng cách sử dụng ORB, client có thể gọi một phương pháp trén object server một cách thông suốt mà object đó có thé ở trên cùng một máy hay
trên mạng máy tính ORB chịu trách nhiệm tim kiếm object mà có thể hiện thực các
yêu cầu, truyền thông số, gọi phương pháp của nó và trả về kết quả Client không cần
phải biết vị trí của object, ng6n ngữ hiện thực, hệ điều hành hay bat ky khia canh hé
Trang 34với cách như thế, cung cấp khả năng nội tương tác giữa các ứng dụng trên các máy tính khác nhau trong viễn cảnh của môi trường phân bố và nhiều hệ thống
Trong lĩnh vực client/server cụ thể, những nhà phát triển đùng cách thiết kế và chuân riêng của mình để tạo ra một protocol dùng chung giữa các thiết bị Với mot ORB, protocol duoc định nghĩa với những giao diện ứng dụng thông qua việc đặc tả không phụ thuộc ngôn ngữ hiện thực đơn, IDL ORB cho phép phát triển hoàn thiện những cơ cấu đã được xây dựng sẵn Đơn giản dựa vào nén tang CORBA, những nhà phát triển lập mô hình cấu trúc thừa kế sử dụng cùng một loại
IDL mà họ dùng để tạo ra object moi, sau do viết đoạn mã nhằm dich giữa bus
chuan và giao diện có sẵn
CORBA chỉ liên kết các object nhưng không liên kết các ứng dụng Muốn thế, OMG (Obiect Managenent Group) cung cấp điều dé trong OMA (Object Management Architecture) phai dựa trên CORBA
Những object ứng dụng mặc dù không được chuẩn hóa bởi OMG nhưng sẽ truy xuất các dịch vụ và công cụ của CORBA thông qua những interface chuẩn nhằm cung cấp những lợi điểm cho người cung cấp và người sử dụng cuối cùng mà không cần quan tâm đến những platform phía dưới
Dựa trên kiến trúc CORBA, OMA đặc tả một tập những hàm va interface chuẩn
cho từng cơ cấu Việc hiện thực interface và các chức năng của các nhà cung cấp khác nhau ứng dụng lên mạng lưới của khách hàng nhằm cho phép phát triển thêm những tính năng từ những module mua được (hoặc phát triển thêm cho chính mình)
CORBA services cung cấp chức năng cơ bản mà hầu như object nào cũng cần: dịch vụ chu kỳ sống (lifecycle) của object (như copy và xóa), địch vụ đặt tên và thư mục và những cái cơ bản khác
Trang 35CORBA Architecture
om ares
CLIENT p operation?) OBJECT
out args + return valoc ———— | IMPLEMENTATION IDL } T?TT ORB | pis ORB Hình 2.2 Cấu trúc CORBA
Ưu điểm của CORBA:
e_ Dịch vụ có thể được viết bằng nhiều ngôn ngữ khác nhau, thực thi trên nhiễu
nên tảng khác nhau, và truy cập bằng bất kỳ ngôn ngữ với một ánh xạ ngôn ngữ định nghĩa giao diện (TDL)
e V06i IDL, giao diện rõ ràng là tách khỏi cài đặt, và người phát triển có thể tạo ra cài đặt khác nhau dựa trên cùng một giao diện
e CORBA là một cách dễ đàng dé liên kết các đối tượng và các hệ thống với nhau Hệ thống CORBA có thể cung cấp hiệu năng lớn hơn
Nhược điểm của CORBA:
e_ Mô tả dịch vụ yêu cầu sử dụng một ngôn ngữ định nghĩa giao dién (IDL) ma
phải có kiến thức sẵn Cài đặt hoặc sử dụng dịch vụ yêu cầu một ánh xạ IDL
tới ngôn ngữ yêu cầu - một văn bản cho một ngôn ngữ không được hỗ trợ sẽ
có được một số lượng lớn công việc
se IDL vào công cụ ánh xạ ngôn ngữ tạo ra mã stubs dựa trên giao diện - một
số công cụ không thê tích hợp những thay đổi mới với mã hiện có
e CORBA không hỗ trợ việc chuyển giao đối tượng, hoặc mã
e_ Không phải tất cả các lớp của các ứng dụng cân thời gian thực hiệu suất, và
tốc độ có thể được giao dịch giảm so với tính dễ sử dụng cho các hệ thống hoàn toàn Java
Trang 362.2 KHAI NIEM VE BIGDATA
Big data (dịch “dữ liệu lớn”) Dữ liệu lớn là một thuật ngữ được su dung để mô
tả một tập hợp đữ liệu có kích thước không lỗ và đang tăng theo cấp số nhân theo thời gian Nói tóm lại, đữ liệu đó quá lớn và phức tạp đến nỗi không có công cụ quản lý
dữ liệu truyền thống nào có thể lưu trữ hoặc xử lý nó một cách hiệu quả Ví dụ:
e Thi trường chứng khoán New York: Mỗi ngày dữ liệu của thị trường chúng khoán tạo ra khoảng | terabyte
e Facebook: Mỗi ngày dữ liệu tạo ra trên 500 terabyte Dữ liệu này chủ yếu
được tạo ra bởi người dùng tải lên hình ảnh và video, trao đổi tin nhắn, đưa ý kiến, v.v
2.2.1 Giới thiệu về dữ liệu lớn
Sự phát triển của Internet đã làm thay đổi mạnh mẽ cách thức hoạt động của các tổ chức, các ứng dụng web, mạng xã hội, điện toán đám mây một phan mang lai
cho các tô chức phương thức kinh đoanh mới Trong kỷ nguyên của IoT (Internet of
Things) — chi các cảm bién duoc nhúng trong các thiết bị, được liên kết với nhau
bởi các mạng máy tính, các cảm biến được nhúng vào trong các thiết bị di động như điện thoại đi động, ô tô và máy móc công nghiệp góp phần vào việc tạo và chuyên
dữ liệu, dẫn đến sự bùng nổ của dữ liệu có thể thu thập được Dưới sự bùng nỗ này,
thuật ngữ Big data được sử dụng đề chỉ những bộ dữ liệu không lồ, chủ yếu không
có cấu trúc, được thu thập từ nhiều nguồn khác nhau
Với những tác động trong việc khám phá giá trị tiềm ân to lớn, Big data đang được xem là một yếu tổ mới quan trọng mang lại lợi ích cho các tổ chức trong nhiều lĩnh vực khác nhau Trong một khảo sát của tổ chức Oracle Corp và Accenture PLC, 57% chuyên gia tài chính đánh giá đầu tư vào Big data sẽ là yếu tô then chốt
để đạt được lợi thế cạnh tranh Chính vì những lợi ích to lớn mà Big data có thể
mang lại, nhiều tổ chức đã đầu tư mạnh vào việc nghiên cứu và ứng dụng vào Big
Trang 372.3 CAC LOAI VA DAC DIEM CUA DU LIEU LON
2.3.1 Các loại dữ liệu lớn
Dữ liệu lớn có 3 loại hình thức: Cấu trúc, phi cấu trúc, bán cấu trúc
Dữ liệu có Cấu trúc (structured database): có nghĩa là cơ sở đữ liệu dữ
liệu được định hình theo một cấu trúc xác định từ trước Chúng ta có thể hình dung như một văn bản đã được xác định tiêu để, có các dòng và cột với tiêu để xác định
trước, các thông tin chỉ tiết được lấp đầy các bảng này và không thay đổi khi cập
nhật Một hình dung khác về cơ sở dữ liệu dữ liệu có cấu trúc là một thư viện với
các tủ hồ sơ được đánh nhãn, trong mỗi tủ được phân ngăn rõ ràng Cơ sở dữ liệu có cấu trúc được xây dựng sẽ dễ dàng quản lý và truy cập thông tin
Ví dụ về dữ liệu có cấu trúc
Sau đây là một mẫu về dữ liệu đã được cấu trúc:
[3] Results | 4 Messages
EmployeelD Lastname Fistname Gender Address
Ngyễn Văn Trung Nam Hồ Chí Minh
2 002 Trần Thị Thành Nữ Bình Dương
Hình 2.3 Bảng 'Nhân viên' trong cơ sở dữ liệu
Dữ liệu phi cấu trúc (unstructured database): là cơ sở dữ liệu không
được xác định cấu trúc thông tin từ trước Thường là tập hợp các dữ liệu thô, hỗn
tạp và không đồng nhất Các thành phần của cơ sở đữ liệu không có đặc điểm chung Chúng ta có thể hình dung cơ sở đữ liệu này là tập hợp các thông tin, đữ
liệu bao gồm: thư điện tử, dữ liệu anh, video, âm thanh, các bài viết, Dữ liệu phi
cầu trúc có mặt ở khắp mọi nơi và được sản sinh ra từ các nguồn khác nhau Để
quản lý, dữ liệu phi cấu trúc cần được chuyển đổi thành dữ liệu có cấu trúc qua quá trình chuẩn hóa
Ví dụ về dữ liệu phi cấu trúc
Đầu ra được trả về bởi 'Google Search"
Trang 38Google bigtable = Q
OTấcã @Hinh anh ©) Video ŒđlTmtức ¡Thêm Cai dat Céng cu
Khoảng 3.780 000 kết qua (0.37 giây)
Bigtable - Scalable NoSQL Database Service | Cloud Bigtable
https://cloud google.com > bigtable * Dich trang này
Google Cloud Bigtable is a high performance NoSQL database service for large analytical and operational workloads
Cloud Bigtable documentation - Pricing - Quickstarts Go global with Cloud Bigtable
Cloud Bigtable documentation | Cloud Bigtable | Google Cloud Bigtable < https://cloud google.com » bigtable » docs +
Cloud Bigtable: Product overview - Documentation; Quickstarts All how-to guides - Creating Được dịch từ tiếng Anh - Bigtable là một hệ thỗng lưu
a Cloud Bigtable instance - Instaling the Cloud SDK for Cloud trữ dữ liệu độc quyên, hiệu suất cao, được xây dựng trên Hệ thống tp của Google, Dịch vụ khóa Chubby,
Bigtable - Wikipedia 'SSTable và một vài công nghệ khác của Google Vào
hffps://en.wikipedia org > wiki » Bigtable x Dịch trang nay ngày 6 tháng 5 năm 2015, một phiên bản công khai
Bigtable is a compressed, high performance, proprietary data storage system built on Google của Bigtable đã được cưng cấp dưới dạng dịch vụ File System, Chubby Lock Service, SSTable and a few other Wikipedia (tiéng Anh)
Hinh 2.4 Google Search
Dé ligu ban cfu tric (semi-structured database): thường là đữ liệu có cầu trúc nhưng không đồng nhất Cấu trúc của dữ liệu phụ thuộc vào chính nội dung của dữ liệu ấy Chúng ta có thể thấy được rằng trong thực tế dữ liệu được lưu đưới dạng
XML tu do (không kèm theo lược đỏ), với định dạng này thông tin mô tả về đối tượng thể hiện trong các thẻ Đây là cơ sở dữ liệu có nhiều ưu điểm do lưu trữ được hầu hết các loại dữ liệu khác nhau nên cơ sở dữ liệu bán cấu trúc là hướng mới
trong nghiên cứu và ứng dụng và được sử dụng thông dụng trên mạng internet Tuy nhiên cũng cần lưu ý rằng XML cũng có thể được mô tả đữ liệu có cấu trúc bằng
Trang 392.3.2 Các đặc điểm dữ liệu lớn Dữ liệu lớn gồm có 3 đặc điểm chính là khối lượng, vận tốc, tính đa dạng Data Velocity Realstime Near Real- time “Periodic Batch MB -GB TB _ Data Volume Table \ Database Variety
Hinh 2.6 Biéu dién 3 đặc điểm của BigData
Volume (khối lượng) — số lượng dữ liệu cần xử lý cực lớn Nhu cầu lưu trữ ngày càng tăng và số lượng đữ liệu này chủ yếu được tạo ra bởi máy, mạng internet và sự tương tác của con người lên các hệ thống truyền thông xã hội nên khối lượng dữ liệu là rất lớn Sự gia tăng theo cấp số nhân không chỉ đơn thuần là dữ liệu văn bản Khối đữ liệu này lên đến hàng terabyte và petabyte Khối lượng dữ liệu càng phát triển thì các ứng dụng và kiến trúc xây dựng để hỗ trợ dữ liệu cần phải được
đánh giá lại khá thường xuyên Khối lượng dữ liệu thực sự đại diện cho Big data
Velocity (vận tốc) - tốc độ xử lý nhanh (thu thập, xử lý, đáp trả) Khối
lượng dữ liệu là rất lơn dẫn đến tốc độ truy xuất chậm Nhưng thực tế nhu cầu xử
dụng đòi hỏi tốc độ xử lí phải nhanh, ôn định, chính xác Ngày nay mọi người cập nhật thông tin trên các phương tiện truyền thông xã hội những diễn biến mới nhất của thế giới và đôi khi họ không quan tâm đến các thông báo cách đó vài giây
(tweet, status, ) Họ thường loại bỏ các tin nhắn cũ và chú ý đến các cập nhật
gần đây nhất Sự chuyển động của dữ liệu bây giời mang tính thực tế (Real time)
và tốc độ cập nhật giảm xuống đơn vị hàng mili giây Van tốc dữ liệu đại diện cho
Big data
Trang 40Variety (đa dạng) — đa dạng loại đữ liệu có cấu trúc và phi cấu trúc Dữ liệu
đến từ nhiều nguồn: cảm biến, smart device, mạng xã hội, tin tức, phim ảnh,
email, bao gồm dữ liệu truyền thống và không truyền thống, có cấu trúc, không
cấu trúc, sự đa đạng của dữ liệu này tạo ra vấn đề cho việc lưu trữ dữ liệu, khai
thác và phân tích Sẽ là dễ dàng nếu dữ liệu có cùng một định dạng, nhưng thường
là không Sự đa dạng của dữ liệu đại diện cho Big data
2.3.3 Mô hình xử lý dữ liệu lớn
Dữ liệu lớn được xử lý thông qua 4 giai đoạn: thu thập (acquire), tổ chức (organize), phân tích (analyze), quyết định (decide)
Đến nay, giai đoạn thu thập hầu hết đã có giải pháp Đơn cử, Oracle đưa ra NoSQL Database, Google co Google Bigtable
Giai đoạn tổ chức: có thể lưu trữ dữ liệu ở dạng phân tán, song song nhưng phô biến nhat van 1a Hadoop/MapReduce
Giai đoạn phân tích: với các đữ liệu truyền thống, các công ty lớn đều đã có giải pháp Đơn cử, Oracle có Oracle Data warehousing, IBM có InfoSphere warehouse
Giai đoạn quyết định: dựa vào các thông tin được phân tích sẽ đưa ra các quyết định giải pháp kinh doanh kịp thời
2.4 TIEU KET CHUONG 2
Trong chương này sẽ được giới thiệu khái quát về các mô hình ứng dụng
Các đặc điểm chính của từng mô hình, ưu nhược điểm của từng mô hình và cuối