Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
1,86 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM KHOA CÔNG NGHỆ THÔNG TIN 🙦🙦🕮🙤🙤 BÁO CÁO MÔN HỌC: HỆ PHÂN BỐ ĐỀ TÀI: GIAO TÁC VÀ NHÂN BẢN TÌM HIỂU MỘT SỐ DỊCH VỤ HỆ THỐNG PHỔ BIẾN GVHD: TS NGUYỄN THIÊN BẢO Tp Hồ Chí Minh, tháng năm 2022 MỤC LỤC PHÂN CHIA CÔNG VIỆC LÝ THUYẾT Giao tác Nhân 2.1 Nhân ? 2.2 Vì ta phải nhân liệu 2.3.Các mơ hình nhân 2.3.1 Mơ hình thống liên tục: 2.3.2 Mơ hình thống theo thứ tự thao tác Tìm hiểu dịch vụ hệ thống phổ biến 3.1 Hadoop 3.1.1 Khái niệm 3.1.2 Ưu điểm Hadoop 3.1.3 Kiến trúc hadoop 3.1.4 Cách hadoop hoạt động 3.2 MapReduce 3.2.1 Khái niệm: 3.2.2 Đặc điểm 3.3 HDFS 3.4 Spark 3.4.1 Apache Spark ? 3.4.2 Thành phần Spark 3.4.3 Những điểm bật Spark 3.5 Bảo mật 3.5.1 Bảo mật thông tin gì? 3.5.2 Mục đích việc bảo mật thơng tin 3.5.3 Vì doanh nghiệp cần loại dịch vụ này? 4 6 7 13 13 13 14 14 15 15 15 16 19 21 21 22 24 25 25 25 25 Tham khảo 26 LÝ THUYẾT Giao tác Giao tác phân tán gì? Giao tác lần thực chương trình Chương trình là: + Một truy vấn + Một chương trình ngơn ngữ chủ với lời gọi gắn vào ngơn ngữ vấn tin Ví dụ: (T1): Begin read(a); a:=a+100; read(a); a:=a+2; write(a); end Có hai giao tác sở + Đọc liệu từ CSDL: read(x) + Ghi liệu vào CSDL: write(x) Các tính chất giao tác Các tính chất giao tác + Tính ngun tử (Atomicity): tồn thao tác giao tác thực không thao tác chúng thực Một giao tác đơn vị công việc khơng thể phân chia + Tính bền vững (Durability): giao tác phải chuyển CSDL từ trạng thái quán sang trạng thái quán khác + Tính (Serializability): Các giao tác phải thực cách độc lập với Nói cách khác tác động giao tác thấy giao tác khác, giao tác chưa thực xong hoàn toàn + Tính biệt lập (Isolation): thay đổi CSDL tác động giao tác thành công bền vững, khơng bị Có nhóm giao tác chính: + Giao tác tuần tự: giao tác thực mà không giao mặt thời gian Ưu điểm: Nếu thao tác đắn ln đảm bảo tính qn liệu Khuyết điểm: Khơng tối ưu sử dụng tài nguyên tốc độ + Giao tác song song: lệnh thao tác khác xen kẽ trục thời gian Khuyết điểm: gây nên nhiều phức tạp quán liệu Ưu điểm: Tận dụng tài nguyên dung lượng, giảm thời gian chờ Vd: Trong giao tác Read/Write, giao tác khác tính tốn CPU Nhân 2.1 Nhân ? Trong hệ phân bố, nhân hành động tạo thêm cho loại liệu lưu nơi khác Để đảm bảo an tồn thơng tin cho hệ thống phân bố, người ta thường tổ chức lưu trữ liệu nhiều vị trí vật lý khác đồng thời tạo cho liệu 2.2 Vì ta phải nhân liệu Có lý để thực nhân liệu: + Tăng độ tin cậy cho hệ thống: tránh việc liệu bị lỗi bị công/bị hổng mà đem sử dụng gây mát sai sót liệu + Tăng hiệu hệ thống: giúp cho việc truy cập liệu nhanh hơn, nhiều trường hợp, ví dụ thay để client truy cập máy gây việc load chậm ta chuyển hướng họ đến vị trí khác thuận tiện cho họ để lấy loại liệu Hay việc giúp giải việc cơng việc nhanh xử lý song song tác vụ Nhược điểm: + Giảm tính qn liệu: Vì có nhân nên đồng nghĩa việc tất phải đồng có chỉnh sửa(khơng tính trường hợp lỗi) + Tăng chi phí cho việc trì hoạt động:Vì ta dùng nhân liệu nên đồng nghĩa với việc ta phải hoạt động máy khác việc tập liệu nhân tới máy 2.3.Các mơ hình nhân Các mơ hình nhân bản: Khơng có mơ hình nhân liệu tốt Phải thỏa hiệp tiêu chí nhân để đạt mục tiêu yêu cầu 2.3.1 Mô hình thống liên tục: Mơ hình hoạt động dựa việc xác định xem việc ko thống chấp nhận dựa vào việc xác định thông tin sau: ● Độ lệch số ● Độ lệch theo trạng thái ● Độ lệch thứ tự lần cập nhật Như hệ thống quy định độ lệch · Nếu phiên cập nhật mà độ lệch chưa đạt tới giá trị quy định khác coi thống ko phải thực cập nhật · Độ lệch số sao: o Thường sử dụng với chương trình có liệu số o Có dạng độ lệch là: độ lệch tương đối độ lệch tuyệt đối o Có thể xác định số số lượng cập nhật cho · Độ lệch trạng thái sao: o Liên quan đến thời gian cuối cập nhật o Với số ứng dụng chấp nhận liệu cũ , miễn không cũ o Ví dụ: dự báo thời tiết , máy chủ liên tục nhận thông tin thời tiết đồng 30’/lần … · Độ lệch thứ tự cập nhật: o Thứ tự cập nhật phép khác khác khác giới hạn o Khi nhận yêu cầu cập nhật tạm thời cập nhật chờ đồng ý khác trình cập nhật o Như cần có thêm phụ để không nhận đồng ý cập nhật khác quay lại cũ o Có thể sau nhiều lần cập nhật tạm thời cập nhật lâu dài 2.3.2 Mơ hình thống theo thứ tự thao tác *Thống chặt Là mơ hình thỏa mãn điều kiện sau: ● Thao tác đọc mục liệu x trả giá trị tương ứng với kết thao tác ghi gần x ● Sử dụng khái niệm thời gian tuyệt đối ● Thời gian tuyệt đối tổng thể cho hệ thống để xác định khái niệm "gần nhất" => Điều khó khả thi với hệ phân tán ● Các kí hiệu: o Wi(x)a: thao tác ghi thực tiến trình P(i) lên mục liệu x với giá trị a o Ri(x)b: thao tác đọc thực tiến trình P(i) lên mục liệu x cho kết b o Giá trị khởi tạo liệu NIL (x = null) Do việc lan truyền cục P1 chưa tới P2 nên P2 đọc liệu x giá trị null ban đầu => Mô hình khơng khả thi *Thống ● Là mơ hình lỏng lẻo hơn, yếu mơ hình thống chặt ● Các tiến trình có chuỗi thao tác cục ● Nó thỏa mãn yêu cầu sau: o Kết thực thao tác đọc ghi tiến trình thực kho liệu cách thao tác tiến trình xuất chuỗi thao tác chương trình o Khi tiến trình chạy đồng thời máy khác cho phép đan xen thao tác tất tiến trình phải nhận biết đan xen thao tác ● Tất tiến trình nhìn thấy thứ tự thao tác ghi ● (a) Mơ hình qn ● (b) Khơng mơ hình qn *Thống tuyến tính ● Là mơ hình yếu mơ hình thống chặt mạnh mơ hình thống ● Mơ hình thỏa mãn điều kiện sau: o Kết thực thao tác (đọc ghi) tất tiến trình lên liệu thực cách thao tác tiến trình xuất chuỗi thao tác phải theo thứ tự chương trình ○ Trước thao tác release phép thực tất thao tác đọc ghi tiến trình thực trước phải hồn tất ○ Truy cập vào biến đồng hóa quán FIFO (Không yêu cầu quán tuần tự) *Thống vào (Entry consistency) ● Giống mơ hình thống ra, mơ hình thống vào sử dụng hai lệnh acquired release muốn sử dụng vào vùng tới hạn ● Tuy nhiên lệnh thao tác mục liệu vùng liệu chia sẻ Tiến trình muốn sử dụng mục liệu phải đợi cho tất tiến trình khác giải phóng mục liệu ● Để ghi lên mục liệu, client phải có biến đồng hố mục chế độ dành riêng Điều có nghĩa khơng client khác sử dụng biến Khi client cập nhật xong mục liệu, giải phóng biến ● Khi client muốn đọc mục liệu đó, phải có biến đồng hóa kết hợp chế độ khơng dành riêng ● Nhiều client giữ biến đồng hóa chế độ không dành riêng ● Khi thực thao tác acquire, client lấy phiên mục liệu từ tiến trình cuối thực thao tác acquire biến ● Điều kiện sau: ○ Một thao tác acquire để truy cập vào biến đồng hóa khơng phép thực tiến trình tất cập nhật lên mục liệu tiến trình thực ○ Trước truy cập chế độ dành riêng tiến trình tới biến đồng hóa phép thực khơng tiến trình khác cịn giữ biến đồng hóa, chế độ khơng dành riêng không cần yêu cầu ○ Sau truy cập chế độ dành riêng lên biến đồng hóa thực truy cập tiến trình khác chế độ khơng dành riêng lên biến khơng thực chủ nhân biến đồng thực xong việc truy cập Tìm hiểu dịch vụ hệ thống phổ biến 3.1 Hadoop 3.1.1 Khái niệm Hadoop Apache framework mã nguồn mở cho phép phát triển ứng dụng phân tán (distributed processing) để lưu trữ quản lý tập liệu lớn Hadoop thực mơ hình MapReduce, mơ hình mà ứng dụng chia nhỏ thành nhiều phân đoạn khác chạy song song nhiều node khác Hadoop viết Java nhiên hỗ trợ C++, Python, Perl chế streaming Các ứng dụng phổ biến sử dụng Hadoop: - A9.com – Amazon: Sử dụng Hadoop để đánh giá số tìm kiếm sản phẩm Amazon, xử lý đến hàng triệu Session ngày Các cluster A9.com có độ lớn từ 1-100 node - Twitter: sử dụng Hadoop để xử lý tweets (các viết văn lên đến 140 ký tự hiển thị profile tác giả), logs nguồn liệu phát sinh trình hoạt động Twitter - Facebook: Sử dụng Hadoop để lưu trữ log nội kích thước nguồn liệu Các liệu dùng làm nguồn cho báo cáo phân tích máy học Hiện tại, facebook có Hadoop cluster chính: cluster 1100 máy với 8800 nhân 12 Petabyte ổ cứng lưu trữ Và cịn nhiều cơng ty sử dụng Hadoop vào việc lưu trữ xử lý liệu, đặc biệt cho nguồn liệu lớn với kích thước lên tới hàng petabyte 3.1.2 Ưu điểm Hadoop Hadoop framework cho phép người dùng nhanh chóng viết kiểm tra hệ thống phân tán Đây cách hiệu cho phép phân phối liệu công việc xuyên suốt máy trạm nhờ vào chế xử lý song song lõi CPU Hadoop không dựa vào chế chịu lỗi phần cứng fault-tolerance and high availability (FTHA), thay thân Hadoop có thư viện thiết kế để phát xử lý lỗi lớp ứng dụng Hadoop phát triển lên nhiều server với cấu trúc master-slave để đảm bảo thực công việc linh hoạt không bị ngắt quãng chia nhỏ công việc cho server slave điều khiển server master Hadoop tương thích tảng Window, Linux, MacOs tạo từ Java 3.1.3 Kiến trúc hadoop Một cụm Hadoop nhỏ gồm master node nhiều worker/slave node Toàn cụm chứa lớp, lớp MapReduce Layer lớp HDFS Layer Mỗi lớp có thành phần liên quan riêng Master node gồm JobTracker, TaskTracker, NameNode, DataNode Slave/worker node gồm DataNode, TaskTracker Cũng slave/worker node liệu node để tính tốn Hadoop gồm module: Hadoop Common: Đây thư viện tiện ích cần thiết Java để module khác sử dụng Những thư viện cung cấp hệ thống file lớp OS trừu tượng, đồng thời chứa mã lệnh Java để khởi động Hadoop Hadoop YARN: Đây framework để quản lý tiến trình tài nguyên cluster Hadoop Distributed File System (HDFS): Đây hệ thống file phân tán cung cấp truy cập thông lượng cao cho ứng dụng khai thác liệu Hadoop MapReduce: Đây hệ thống dựa YARN dùng để xử lý song song tập liệu lớn Hiện Hadoop ngày mở rộng nhiều framework khác hỗ trợ Hive, Hbase, Pig Tùy vào mục đích sử dụng mà ta áp dụng framework phù hợp để nâng cao hiệu xử lý liệu Hadoop 3.1.4 Cách hadoop hoạt động Giai đoạn Người dùng ứng dụng gửi job lên Hadoop để yêu cầu xử lý thao tác Job kèm thông tin như: nơi lưu trữ liệu input output, java class chứa dịng lệnh thực thi, thơng số thiết lập cụ thể Giai đoạn Sau nhận thông tin cần thiết, máy chủ chia khối lượng công việc đến cho máy trạm Máy chủ tiến hành theo dõi trình hoạt động máy trạm đưa lệnh cần thiết có lỗi xảy Giai đoạn Các nodes khác tiến hành chạy tác vụ MapReduce Nó chia nhỏ khối thay phiên xử lý liệu Khi Hadoop hoạt động, sử dụng tệp tin làm địa thường trú Tệp tin tồn nhiều máy chủ khác 3.2 MapReduce 3.2.1 Khái niệm: MapReduce phân chia nhiệm vụ thành phần nhỏ định chúng cho nhiều máy tính Sau đó, kết thu thập nơi tích hợp để tạo thành liệu kết MapReduce framework giúp phát triển ứng dụng phân tán theo mơ hình MapReduce cách dễ dàng mạnh mẽ, hệ thống dựa YARN dùng để xử lý song song tập liệu lớn Ngoài ứng dụng phân tán MapReduce chạy cluster lớn với nhiều node 3.2.2 Đặc điểm - MapReduce gồm thành phần chính: ● Map: có nhiệm vụ lấy liệu chuyển thành liệu khác, liệu chia thành cặp key-value ● Redure: có nhiệm vụ đầu Map, tiếp nhận (key, value) trộn cặp (key, value) trung gian , lấy value có key ● Input Phase: đọc liệu chia thành khối liệu có kích thước thích hợp (64 MB đến 128 MB) Mỗi khối liệu liên kết với chức Map Khi đầu vào đọc liệu, tạo cặp key-value trị tương ứng Các tệp đầu vào nằm HDFS ● Map Phase xử lý cặp key-value tới tạo cặp khóa-giá trị đầu tương ứng Loại đầu vào đầu Map khác ● Intermediate Keys gán kết đầu hàm Map cho Reducer thích hợp Key value có sẵn cung cấp chức Nó trả số Reducer ● Combiner loại cục nhóm liệu tương tự từ giai đoạn Map thành nhận dạng Phải key trung gian từ Map làm đầu vào áp dụng mã người dùng xác định để tổng hợp giá trị phạm vi nhỏ Map Nó khơng phải phần thuật tốn MapReduce chính; tùy chọn ● ·Shuffle and Sort Dữ liệu xáo trộn nút để di chuyển khỏi Map sẵn sàng xử lý cho chức Reduce Đôi khi, việc xáo trộn liệu nhiều thời gian tính tốn ● Reducer: Quá trình Shuffle diễn nhiều máy sử dụng chung tiêu chí định trước, nên việc phân nhóm liệu các máy có thống Các nhóm liệu tương ứng với tất các máy chạy Shuffle gom lại chuyển cho máy xử lý, cho kết cuối Toàn quá trình gọi Reduce, quá trình xử lý máy quá trình Reduce quá trình Reducer ● Output Phase Trong giai đoạn đầu ra, có định dạng đầu dịch cặp giá trị key-value cuối từ hàm Reducer ghi chúng vào tệp cách sử dụng trình ghi Ví dụ: - MapReduce sử dụng nhiều thuật toán học để chia nhiều vụ thành nhiều phần nhỏ là: ● Sorting ● Searching ● Indexing ● TF-IDF 2.3 Ưu nhược điểm: ● Ưu điểm: - Khả mở rộng - Hiệu giải vấn đề - Xử lý nhanh ● Nhược điểm: - Khơng có mơ hình bảo mật, tính phức tạp cao - Khơng cung cấp lưu trữ mã hóa mạng - Khơng có hiệu xử lý tập tin nhỏ - Khó biểu diễn liệu đầu theo nhu cầu sử dụng - Khơng thích hợp để sử dụng trường hợp có nhu cầu truy cập liệu thời gian thực 3.3 HDFS a) Đặc điểm Hdfs: Hadoop Distributed File System, dịch hệ thống lưu trữ liệu phân tán Hadoop Ưu điểm: + + + + Dễ mở rộng Uyển chuyển Chi phí thấp Chịu lỗi, … Nhược điểm: + Thiết đặt thông số khó khăn + Phụ thuộc vào mạng, Hdfs viết java Nó thường dùng để lưu trữ tập liệu lớn Nó lưu liệu có cấu trúc, phi cấu trúc bán cấu trúc Hdfs đảm nhận việc lưu trữ Hadoop, lưu trữ dạng khối phân tán khắp cụm HDFS lưu liệu block Bằng chế quản lý sao, hdfs xếp, nhân block để hạn chế liệu datanode gặp cố Mặc định số mặc định tạo 3, liệu node lưu node khác Note: block: liệu vào hdfs chia nhỏ lưu thành mảnh(block) datanode, block tối đa 128Mb b) Các thành phần Các thành phần HDFS: - Namenode: Trung tâm hệ thống lưu trữ file, lưu metadata Giám sát tình trạng máy slave, gán task tổng hợp kết quả, điều khiển truy cập đến tập tin Điều phối thao tác truy cập client với hdfs thông qua daemon tên namenode chạy port 8021 Note: daemon chương trình chạy dạng tiến trình, khơng chịu kiểm sốt trực tiếp người dùng tương tác - Secondary namenode: đệm namenode, chứa update hệ thống, hỗ trợ namenode hoạt động - datanode: nơi lưu trữ liệu thật Có tác vụ ghi, đọc vào hệ thống tập tin, tạo xóa, nhân rộng liệu theo lệnh namenode ... LÝ THUYẾT Giao tác Nhân 2.1 Nhân ? 2.2 Vì ta phải nhân liệu 2.3.Các mơ hình nhân 2.3.1 Mơ hình thống liên tục: 2.3.2 Mơ hình thống theo thứ tự thao tác Tìm hiểu dịch vụ hệ thống phổ biến 3.1 Hadoop... liệu ghi thao tác ● Mơ hình thống nhân thỏa mãn điều kiện sau: o Một thao tác đọc có quan hệ nhân với thao tác ghi cung cấp liệu cho o Một thao tác ghi có quan hệ nhân với thao tác đọc xảy trước... read(x) + Ghi liệu vào CSDL: write(x) Các tính chất giao tác Các tính chất giao tác + Tính ngun tử (Atomicity): tồn thao tác giao tác thực không thao tác chúng thực Một giao tác đơn vị công việc