1. Trang chủ
  2. » Tất cả

Báo cáo chương 3 dịch vụ hệ thống phân bố

32 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo Chương 3 Dịch vụ hệ thống phân bố
Người hướng dẫn TS. Nguyễn Thiên Bảo
Trường học Trường Đại học Sư phạm Kỹ thuật TP.HCM
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 32
Dung lượng 1,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1. Giao tác trên hệ thống phân tán (3)
    • 1.1 Khái niệm (3)
    • 1.2 Các trường hợp xảy ra trong giao dịch phân tán (3)
    • 1.3 Hoạt động của giao dịch phân tán (4)
    • 1.4 Các giao dịch phân tán cần thiết và không cần thiết (5)
    • 1.5 Giao dịch phân tán cho dữ liệu truyền trực tuyến (6)
  • 2. Nhân bản và thống nhất trong hệ thống phân bố (7)
    • 2.1. Giới thiệu (7)
      • 2.1.1. Vì sao phải sao lưu? (7)
      • 2.1.2. Thống nhất dữ liệu (7)
      • 2.1.3. Khó khăn (8)
    • 2.2. Các mô hình sao lưu hướng dữ liệu (8)
      • 2.2.1. Mô hình thống nhất liên tục (9)
      • 2.2.2. Mô hình thống nhất theo thứ tự thao tác (10)
  • 3. Các dịch vụ hệ thống phổ biến (14)
    • 3.1. Kiến trúc của Hadoop (14)
    • 3.2. HDFS (Hadoop Distributed File System) (14)
    • 3.3. Map-Reduce (15)
    • 3.4. Yarn (17)
    • 3.5. Apache Spark (19)
    • 3.6. Bảo mật thông tin (24)
      • 3.6.1. Khái niệm bảo mật thông tin (24)
      • 3.6.2. Bảo mật thông tin doanh nghiệp (24)
      • 3.6.3. Bảo mật thông tin app (24)
      • 3.6.4. Các loại bảo mật thông tin (26)
      • 3.6.5. Mục tiêu và nguyên tắc của bảo mật thông tin (27)
      • 3.6.6. Rủi ro khi mất bảo mật thông tin (29)
      • 3.6.7. Các giải pháp bảo mật thông tin (31)
  • TÀI LIỆU THAM KHẢO (32)

Nội dung

1.2 Các trường hợp xảy ra trong giao dịch phân tánCó hai kết quả có thể xảy ra: - Tất cả các hoạt động hoàn thành thành công - Không có hoạt động nào được thực hiện cả do lỗi ở đâu đó t

Trang 1

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 CHƯƠNG 3 DỊCH VỤ HỆ THỐNG PHÂN BỐ

GVHD: TS Nguyễn Thiên Bảo

TP Hồ Chí Minh, ngày 24 tháng 3 năm 2022

Trang 2

MỤC LỤC

NỘI DUNG 3

1 Giao tác trên hệ thống phân tán 3

1.1 Khái niệm 3

1.2 Các trường hợp xảy ra trong giao dịch phân tán 3

1.3 Hoạt động của giao dịch phân tán 4

1.4 Các giao dịch phân tán cần thiết và không cần thiết 5

1.5 Giao dịch phân tán cho dữ liệu truyền trực tuyến 6

2 Nhân bản và thống nhất trong hệ thống phân bố 7

2.1 Giới thiệu 7

2.1.1 Vì sao phải sao lưu? 7

2.1.2 Thống nhất dữ liệu 7

2.1.3 Khó khăn 8

2.2 Các mô hình sao lưu hướng dữ liệu 8

2.2.1 Mô hình thống nhất liên tục 9

2.2.2 Mô hình thống nhất theo thứ tự thao tác 10

3 Các dịch vụ hệ thống phổ biến 14

3.1 Kiến trúc của Hadoop 14

3.2 HDFS (Hadoop Distributed File System) 14

3.3 Map-Reduce 15

3.4 Yarn 17

3.5 Apache Spark 19

3.6 Bảo mật thông tin 24

3.6.1 Khái niệm bảo mật thông tin 24

3.6.2 Bảo mật thông tin doanh nghiệp 24

3.6.3 Bảo mật thông tin app 24

3.6.4 Các loại bảo mật thông tin 26

3.6.5 Mục tiêu và nguyên tắc của bảo mật thông tin 27

3.6.6 Rủi ro khi mất bảo mật thông tin 29

3.6.7 Các giải pháp bảo mật thông tin 31

TÀI LIỆU THAM KHẢO 31

Trang 3

1.2 Các trường hợp xảy ra trong giao dịch phân tán

Có hai kết quả có thể xảy ra:

- Tất cả các hoạt động hoàn thành thành công

- Không có hoạt động nào được thực hiện cả do lỗi ở đâu đó trong hệ thống

Trong trường hợp thứ hai, nếu một số công việc đã được hoàn thành trước khi xảy

ra sự cố, công việc đó sẽ được đảo ngược để đảm bảo không có công việc ròng nàođược thực hiện Loại hoạt động này tuân thủ các nguyên tắc ACID:

• Tính nguyên tố (Atomicity): toàn bộ các thao tác trong cùng một giao tác đều

được thực hiện hoặc không một thao tác nào trong chúng được thực hiện Một giaotác là một đơn vị công việc không thể phân chia

• Tính nhất quán (Consistency): một giao tác phải chuyển CSDL từ một trạng thái

nhất quán này sang một trạng thái nhất quán khác

• Tính cô lập (Isolation): Các giao tác phải được thực hiện một cách độc lập với

nhau Nói một cách khác những tác động của giao tác này sẽ không thể thấy được đốivới những giao tác khác, khi giao tác này chưa thực hiện xong hoàn toàn

• Tính bền vững (Durability): những thay đổi của CSDL do tác động của một giao

tác thành công là bền vững, không bị mất đi

Trang 4

ACID thường được kết hợp với các giao dịch trên một máy chủ cơ sở dữ liệu duynhất, nhưng các giao dịch phân tán mở rộng sự đảm bảo đó trên nhiều cơ sở dữ liệu.Hoạt động được gọi là “cam kết hai giai đoạn” (2PC) là một dạng của giao dịchphân tán “Giao dịch XA” là các giao dịch sử dụng giao thức XA, là một giao thứcthực hiện hoạt động cam kết hai giai đoạn.

Hình 1.2 Một giao dịch phân tán trải dài trên nhiều cơ sở dữ liệu và đảmbảo tính toàn vẹn của dữ liệu

1.3 Hoạt động của giao dịch phân tán

Các giao dịch phân tán có các yêu cầu hoàn thành xử lý giống như các giao dịch

cơ sở dữ liệu thông thường, nhưng chúng phải được quản lý trên nhiều tài nguyên,khiến việc triển khai chúng trở nên khó khăn hơn đối với các nhà phát triển cơ sở dữliệu Nhiều tài nguyên làm tăng thêm nhiều điểm lỗi, chẳng hạn như hệ thống phầnmềm riêng biệt chạy tài nguyên (ví dụ: phần mềm cơ sở dữ liệu), các máy chủ phần

Trang 5

cứng bổ sung và lỗi mạng Điều này làm cho các giao dịch phân tán dễ bị thất bại, đó

là lý do tại sao các biện pháp bảo vệ phải được thực hiện để duy trì tính toàn vẹn của

dữ liệu

Để một giao dịch phân tán xảy ra, người quản lý giao dịch điều phối các tàinguyên (nhiều cơ sở dữ liệu hoặc nhiều nút của một cơ sở dữ liệu) Người quản lýgiao dịch có thể là một trong những kho dữ liệu sẽ được cập nhật như một phần củagiao dịch, hoặc nó có thể là một tài nguyên riêng biệt hoàn toàn độc lập chỉ chịu tráchnhiệm điều phối Người quản lý giao dịch quyết định thực hiện một giao dịch thànhcông hay khôi phục một giao dịch không thành công, điều này sẽ giữ nguyên cơ sở dữliệu

Đầu tiên, một ứng dụng yêu cầu giao dịch phân tán đến người quản lý giao dịch.Người quản lý giao dịch sau đó sẽ phân nhánh đến từng tài nguyên, tài nguyên này sẽ

có “trình quản lý tài nguyên” riêng để giúp nó tham gia vào các giao dịch phân tán.Các giao dịch phân tán thường được thực hiện trong hai giai đoạn để bảo vệ chống lạicác cập nhật từng phần có thể xảy ra khi gặp lỗi Giai đoạn đầu tiên liên quan đến việcthừa nhận ý định cam kết, hoặc giai đoạn “chuẩn bị để cam kết” Sau khi tất cả các tàinguyên xác nhận, chúng sẽ được yêu cầu chạy một cam kết cuối cùng và sau đó giaodịch được hoàn tất

Chúng ta có thể xem xét một ví dụ cơ bản về những gì sẽ xảy ra khi lỗi xảy ratrong một giao dịch phân tán Giả sử một hoặc nhiều tài nguyên không khả dụng tronggiai đoạn chuẩn bị cam kết Khi hết thời gian yêu cầu, người quản lý giao dịch sẽ yêucầu mỗi tài nguyên xóa trạng thái chuẩn bị cam kết và tất cả dữ liệu sẽ được đặt lại vềtrạng thái ban đầu Thay vào đó, nếu bất kỳ tài nguyên nào không khả dụng trong giaiđoạn cam kết, thì người quản lý giao dịch sẽ thông báo cho các tài nguyên khác đãcam kết thành công phần giao dịch của họ để hoàn tác hoặc "khôi phục" giao dịch đó

và một lần nữa, dữ liệu trở lại trạng thái ban đầu Sau đó, ứng dụng sẽ thử lại giaodịch để đảm bảo rằng nó đã được hoàn tất

1.4 Các giao dịch phân tán cần thiết và không cần thiết

Các giao dịch phân tán là cần thiết khi bạn cần cập nhật nhanh chóng các dữ liệuliên quan được trải rộng trên nhiều cơ sở dữ liệu Ví dụ: nếu bạn có nhiều hệ thốngtheo dõi thông tin khách hàng và bạn cần thực hiện cập nhật chung (như cập nhật địachỉ gửi thư) trên tất cả các bản ghi, thì một giao dịch phân tán sẽ đảm bảo rằng tất cảcác bản ghi đều được cập nhật Và nếu xảy ra lỗi, dữ liệu sẽ được đặt lại về trạng tháiban đầu và việc gửi lại giao dịch tùy thuộc vào ứng dụng gốc

Trong một số môi trường, các giao dịch phân tán là không cần thiết và thay vào

đó, các hoạt động kiểm tra bổ sung được thực hiện để đảm bảo tính toàn vẹn của dữliệu khi tốc độ của giao dịch không phải là vấn đề Việc chuyển tiền qua các ngân

Trang 6

hàng là một ví dụ điển hình Mỗi ngân hàng tham gia chuyển tiền đều theo dõi trạngthái của giao dịch, và khi phát hiện lỗi, trạng thái một phần sẽ được sửa chữa Quátrình này hoạt động tốt mà không có các giao dịch phân tán vì quá trình chuyển khôngphải diễn ra trong (gần) thời gian thực Các giao dịch phân tán thường rất quan trọngtrong các tình huống mà việc cập nhật hoàn chỉnh phải được thực hiện ngay lập tức.

1.5 Giao dịch phân tán cho dữ liệu truyền trực tuyến

Các giao dịch phân tán ngày nay đặc biệt quan trọng trong môi trường truyền dữliệu vì khối lượng dữ liệu đến Ngay cả một lỗi ngắn hạn ở một trong các tài nguyêncũng có thể thể hiện một lượng lớn dữ liệu bị mất Xử lý dòng tinh vi công cụ hỗ trợ

xử lý “chính xác một lần” trong đó giao dịch phân tán bao gồm việc đọc dữ liệu từnguồn dữ liệu, xử lý và ghi dữ liệu tới đích đích (“bồn chứa dữ liệu”) Thuật ngữ

"chính xác một lần" đề cập đến thực tế là mọi điểm dữ liệu đều được xử lý, không bịmất và không bị trùng lặp (Đối lập điều này với “nhiều nhất một lần” cho phép mất

dữ liệu và “ít nhất một lần” cho phép sao chép.) Trong kiến trúc phát trực tuyến chínhxác một lần, các kho lưu trữ cho nguồn dữ liệu và bộ lưu trữ dữ liệu phải có khả năng

để hỗ trợ đảm bảo chính xác một lần Nói cách khác, phải có chức năng trong các kholưu trữ đó cho phép công cụ xử lý luồng phục hồi hoàn toàn sau thất bại, điều nàykhông nhất thiết phải là người quản lý giao dịch thực sự, nhưng mang lại kết quả cuốicùng tương tự

Hazelcast Jet là một ví dụ về công cụ xử lý luồng sẽ cho phép xử lý chính xác mộtlần với các nguồn và phần chìm vốn dĩ không có khả năng hỗ trợ các giao dịch phântán Điều này được thực hiện bằng cách quản lý toàn bộ trạng thái của từng điểm dữliệu và đọc lại, xử lý lại và / hoặc ghi lại nếu điểm dữ liệu được đề cập gặp lỗi Logictích hợp này cho phép nhiều loại kho dữ liệu hơn (chẳng hạn như Apache Kafka vàJMS) được sử dụng làm nguồn hoặc chìm trong các ứng dụng phát trực tuyến quantrọng trong kinh doanh

Trang 7

2 Nhân bản và thống nhất trong hệ thống phân bố

2.1 Giới thiệu

2.1.1 Vì sao phải sao lưu?

Có 2 lý do chính để thực hiện việc sao lưu:

+ Để tăng tín tin cậy (tính sẵn sàng) cho hệ thống: Trong quá trình đọc hoặcghi dữ liệu, nếu dữ liệu đó bị lỗi hay vì một nguyên nhân nào đó mà không thểdùng được, ta có thể dùng ngay bản sao dữ liệu đó để hệ thống không phải dừnglại và tránh được tình trạng sử dụng các dữ liệu không chính xác

+ Để tăng hiệu năng của hệ thống: Tăng quy mô của hệ thống cả về số lượnglẫn phạm vi địa lý

Ví dụ: nếu số lượng máy tăng => tải trên mỗi máy trong hệ phân tán cũng ko tănglên nhiều hơn, phạm vi địa lý tăng => có thể sử dụng các bản nhân bản gần khu vựcđịa lý đó

2.1.2 Thống nhất dữ liệu

Đồng độ các bản sao sao cho các hệ thống luôn được đồng bộ về dữ liệu: khi mộtbản sao được cập nhật thì tất cả những bản còn lại cũng phải được cập nhật theo đểđảm bảo tính thống nhất của dữ liệu

=> Điều này ảnh hưởng rất lớn đến hiệu năng của hệ thống

Trang 8

Đồng bộ từng phần tử rồi lan truyền sang các phần tử kế bên , việc này sẽ làm tănghiệu năng nhưng sẽ dẫn đến việc có những thời điểm các bản sao là ko giống nhau.Trong một số trường hợp ta cần phải nới lỏng những ràng buộc về tính thống nhấtdựa trên:

+ Tần suất truy cập và cập nhật dữ liệu

+ Mục đích sử dụng

2.2 Các mô hình sao lưu hướng dữ liệu

Đây là kiểu mô hình sao lưu được sử dụng rộng rãi nhất

Trong kiểu mô hình này, bất kì người sử dụng nào truy cập vào kho dữ liệu cũng

sẽ nhìn thấy các thao tác được sắp xếp theo mô hình

Điều này trái ngược với các mô hình sao lưu hướng client (mình sẽ nói sau) nơiclient được yêu cầu một mô hình sao lưu cụ thể và các client khác nhau sẽ nhìn thấycác thao tác theo những trật tự khác nhau

Kho dữ liệu có thể được đọc hay ghi bởi bất cứ tiến trình nào trong một hệ phântán

Tuy nhiên dữ liệu ghi vào một bản sao cục bộ phải đảm bảo cũng được truyền tớitất cả các bản sao ở xa

Vì nguyên nhân này mà các mô hình thống nhất đã ra đời, mục đích là để giúp ta

có thể hiểu rõ về các cơ chế khác nhau được sử dụng để thực hiện phần việc này.Một mô hình thống nhất có thể được coi là một bản hợp đồng giữa một kho dữ liệucủa hệ phân tán với các các tiến trình của nó Nếu các tiến trình đồng ý với các điềukhoản của hợp đồng thì kho dữ liệu sẽ hoạt động đúng như tiến trình mong muốn

Trang 9

Như vậy trong hệ thống sẽ quy định một độ lệch giữa các bản sao

Nếu một phiên bản được cập nhật mà độ lệch chưa đạt tới giá trị quy định thì giữabản sao đó và các bản sao khác vẫn được coi là thống nhất và ko phải thực hiện cậpnhật

Độ lệch bằng số giữa các bản sao:

Thường sử dụng với các chương trình có dữ liệu là số

Có 2 dạng của độ lệch này là: độ lệch tương đối và độ lệch tuyệt đối

Có thể xác định số này là số lượng bản cập nhật cho 1 bản sao nào đó

Độ lệch về trạng thái giữa các bản sao:

Liên quan đến thời gian cuối cùng 1 bản sao đã được cập nhật

Với 1 số ứng dụng thì nó có thể chấp nhận dữ liệu cũ , miễn là ko quá cũ

Ví dụ: trong dự báo thời tiết , máy chủ liên tục nhận được các thông tin về thời tiếtnhưng chỉ đồng bộ 30’/lần …

Có thể sau nhiều lần cập nhật tạm thời thì bản sao mới được cập nhật lâu dài

=> Tóm lại , các bản sao có thể vẫn được sử dụng nếu sự khác nhau vẫn nằm tronggiới hạn được chấp thuận Nói một cách khác là khi 1 bản sao được cập nhật thì nó sẽchờ để được xác nhận trước khi cập nhật lên tất cả các bản sao khác => thứ tự cập

Trang 10

nhật rắc rối Cách làm này cần lưu trữ thêm 1 bản để có thể quay lại nếu bản cập nhậtkhông được chấp thuận

2.2.2 Mô hình thống nhất theo thứ tự thao tác

Truy cập tương tranh đến các tài nguyên chia sẻ

Tài nguyên chia sẻ là dữ liệu được sao lưu

Mạnh hơn mô hình liên tục

Khi thực hiện cập nhật, thứ tự cập nhật được thống nhất giữa các bảo sao

a Thống nhất chặt

Là mô hình thỏa mãn điều kiện sau:

Thao tác đọc bất kỳ trên mục dữ liệu x đều trả về một giá trị tương ứng với kết quảcủa thao tác ghi gần nhất trên x đó

Sử dụng khái niệm thời gian tuyệt đối

Thời gian tuyệt đối này là tổng thể cho cả hệ thống để xác định đúng khái niệm

"gần nhất" => Điều này là khó khả thi với hệ phân tán

Giá trị khởi tạo của các dữ liệu là NIL (x = null)

Do việc lan truyền cục bộ của P1 chưa tới P2 nên P2 đọc dữ liệu x vẫn là giá trịnull ban đầu => Mô hình này là không khả thi

b Thống nhất tuần tự

Là mô hình lỏng lẻo hơn, yếu hơn mô hình thống nhất chặt

Các tiến trình đều có một chuỗi thao tác cục bộ

Nó thỏa mãn các yêu cầu sau:

+ Kết quả của sự thực hiện bất kỳ là như nhau nếu thao tác đọc và ghi do cáctiến trình thực hiện trên kho dữ liệu một cách tuần tự và các thao tác của mỗi tiếntrình xuất hiện trong chuỗi thao tác này chỉ ra bởi chương trình của nó

Trang 11

+ Khi các tiến trình chạy đồng thời trên các máy khác nhau thì cho phép sự đanxen của các thao tác nhưng tất cả các tiến trình đều phải nhận biết được sự đan xencủa các thao tác đó là như nhau.

+ Tất cả các tiến trình đều nhìn thấy một thứ tự của các thao tác ghi

o Mô hình nhất quán tuần tự

o Không là mô hình nhất quán tuần tự

c Thống nhất tuyến tính

Là mô hình yếu hơn mô hình thống nhất chặt nhưng mạnh hơn mô hình thống nhấttuần tự

Mô hình này thỏa mãn điều kiện sau:

+ Kết quả của bất kì sự thực hiện nào là như nhau nếu các thao tác (đọc và ghi)của tất cả các tiến trình lên dữ liệu được thực hiện môt cách tuần tự và các thao táccủa mỗi tiến trình xuất hiện trong chuỗi thao tác này phải theo thứ tự đã được chỉ

ra trong chương trình của nó

d Thống nhất nhân quả

Đây là mô hình lỏng lẻo hơn mô hình thống nhất tuần tự

Mô hình này phân biệt các sự kiện có quan hệ nhân quả và các sự kiện không cóquan hệ nhân quả

Nếu sự kiện b được gây ra hoặc bị tác động bởi một sự kiện a xảy ra sớm hơn thìtính nhân quả đòi hỏi mọi thực thể khác phải "nhìn" thấy a trước rồi mới thấy b sau.Các thao tác ghi đồng thời có thể được nhận biết theo thứ tự khác nhau trên nhữngmáy khác nhau

Hai thao tác ghi được coi là có quan hệ nhân qủa với nhau nếu việc thực hiện mộtthao tác có khả năng gây ảnh hưởng đến dữ liệu được ghi bởi thao tác kia

Mô hình thống nhất nhân quả thỏa mãn các điều kiện sau:

+ Một thao tác đọc có quan hệ nhân quả với thao tác ghi cung cấp dữ liệucho nó

+ Một thao tác ghi có quan hệ nhân quả với một thao tác đọc xảy ra trước

nó trong cùng một tiến trình

Nếu các thao tác không có quan hệ nhân quả với nhau thì chúng được coi là xảy rađồng thời

Trang 12

Các thao tác đọc đồng thời có thể được thực hiện theo bất kì trật tự nào miễn làchúng tuân theo trình tự của chương trình.

e Thống nhất FIFO

Thống nhất FIFO còn được gọi là nhất quán PRAM

Đây là mô hình yếu nhất vì mô hình này bỏ qua giới hạn về trật tự của bất kì thaotác đồng thời nào

Mô hình thỏa mãn điều kiện:

+ Các thao tác ghi bởi một tiến trình đơn phải được tất cả các tiến trình khácnhìn thấy theo cùng một trật tự mà chúng đề ra

+ Nhưng thao tác ghi bởi nhiều tiến trình khác nhau có thể được thấy theonhững trật tự khác nhau bởi các tiến trình khác nhau

o Mô hình nhất quán yếu

o Không là mô hình nhất quán yếu

g Thống nhất đi ra (Release consistency)

Sử dụng thêm hai lệnh:

+ Lệnh acquired: để báo muốn vào vùng tới hạn (critial region)

+ Lệnh release: để báo giải phóng vùng tới hạn

Hai lệnh này cũng có hai cách thực thi khác nhau như: bằng một biến hoặc bằngmột lệnh đặc biệt

Trang 13

Hai thao tác này chỉ thực hiện với các dữ liệu dùng chung chứ không áp dụng chotất cả các dữ liệu.

Điều kiện thỏa mãn:

+ Trước khi thực hiện một thao tác đọc hay ghi lên dữ liệu chia sẻ thì tất cả cácthao tác acquire do tiến trình này thực hiện trước đó phải hoàn tất

+ Trước khi một thao tác release được phép thực hiện thì tất cả các thao tác đọc

và ghi do tiến trình này thực hiện trước đó phải được hoàn tất

+ Truy cập vào các biến đồng bộ hóa là nhất quán FIFO (Không yêu cầu nhấtquán tuần tự)

h Thống nhất đi vào (Entry consistency)

Giống mô hình thống nhất đi ra, mô hình thống nhất đi vào cũng sử dụng hai lệnhacquired và release khi muốn sử dụng vào vùng tới hạn

Tuy nhiên các lệnh này thao tác trên từng mục dữ liệu của vùng dữ liệu chia sẻ.Tiến trình nào muốn sử dụng mục dữ liệu thì phải đợi cho tất cả các tiến trình khácgiải phóng mục dữ liệu đó

Để ghi lên một mục dữ liệu, client phải có được biến đồng bộ hoá của mục đótrong chế độ dành riêng Điều đó có nghĩa là không client nào khác có thể sử dụngbiến đó Khi client cập nhật xong mục dữ liệu, thì nó giải phóng biến đó

Khi client muốn đọc một mục dữ liệu nào đó, nó phải có được biến đồng bộ hóakết hợp ở chế độ không dành riêng

Nhiều client có thể giữ một biến đồng bộ hóa ở chế độ không dành riêng

Khi thực hiện một thao tác acquire, client lấy về phiên bản mới nhất của mục dữliệu từ tiến trình cuối cùng thực hiện thao tác acquire trên biến đó

Điều kiện sau:

+Một thao tác acquire để truy cập vào một biến đồng bộ hóa không được phépthực hiện trong một tiến trình cho đến khi tất cả các cập nhật lên mục dữ liệu trongtiến trình đó được thực hiện

+ Trước khi một truy cập trong chế độ dành riêng của một tiến trình tới mộtbiến đồng bộ hóa được phép thực hiện thì không tiến trình nào khác còn được giữcác biến đồng bộ hóa, trong chế độ không dành riêng thì không cần yêu cầu nhưvậy

Trang 14

+ Sau khi một truy cập trong chế độ dành riêng lên một biến đồng bộ hóa đượcthực hiện thì bất kì sự truy cập của tiến trình nào khác trong chế độ không dànhriêng lên biến đó cũng không được thực hiện cho đến khi chủ nhân của biến đồng

bộ thực hiện xong việc truy cập của mình

3 Các dịch vụ hệ thống phổ biến

3.1 Kiến trúc của Hadoop

Hadoop có một cấu trúc liên kết master-slave Trong cấu trúc này, chúng ta có mộtnode master và nhiều node slave Chức năng của node master là gán một tác vụ chocác node slave khác nhau và quản lý tài nguyên Các node slave là máy tính thực tế cóthể không mạnh lắm Các node slave lưu trữ dữ liệu thực trong khi trên master chúng

3.2 HDFS (Hadoop Distributed File System)

Là hệ thống file phân tán, cung cấp khả năng lưu trữ dữ liệu khổng lồ và tính năngtối ưu hoá việc sử dụng băng thông giữa các node HDFS có thể được sử dụng đểchạy trên một cluster lớn với hàng chục ngàn node

Cho phép truy xuất nhiều ổ đĩa như là 1 ổ đĩa Nói cách khác, chúng ta có thể sửdụng một ổ đĩa mà gần như không bị giới hạn về dung lượng Muốn tăng dung lượngchỉ cần thêm node (máy tính) vào hệ thống

+ Kích thước 1 block thông thường là 64MB, kích thước này có thể thay đổiđược bằng việc cấu hình

Trang 15

3.3 Map-Reduce

Map-Reduce là một framework dùng để viết các ứng dụng xử lý song song một lượnglớn dữ liệu có khả năng chịu lỗi cao xuyên suốt hàng ngàn cluster(cụm) máy tính

Map-Reduce thực hiện 2 chức năng chính đó là Map và Reduce

+ Map: Sẽ thực hiện đầu tiên, có chức năng tải, phân tích dữ liệu đầu vào và đượcchuyển đổi thành tập dữ liệu theo cặp key/value

+ Reduce: Sẽ nhận kết quả đầu ra từ tác vụ Map, kết hợp dữ liệu lại với nhauthành tập dữ liệu nhỏ hơn

Trang 16

Để dễ hiểu hơn, chúng ta hãy cùng xem ví dụ WordCount sau đây WordCount làbài toán đếm tần suất xuất hiện của các từ trong đoạn văn bản Và chúng ta sẽ mô tả quátrình xử lý bài toán này bằng Map-Redue

Đối với hàm Map:

Ngày đăng: 26/02/2023, 17:59

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w