Đây là bởi vì các chế độ xem hàng loạt được cung cấp bởi lớp phục vụ được tạo thông qua các chức năng trên tập dữ liệu chính và vì lớp tốc độ chỉ dựa trên dữ liệu gan đây nên nó có thể t
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
INDUSTRIAL
\ UNIVERSITY 0F
HOCHIMINH CITY
BAO CAO DO AN CUOI KY
LOP: NHAP MON DU LIEU LON
BDP - Data model for Big Data
TP Hỗ Chỉ Minh, tháng 12 năm 2023
Trang 2LỜI CÁM ƠN
Chúng em xin gửi lời cảm ơn sâu sắc đến TS Nguyễn Chí Kiên - Giảng viên bộ môn,
đã giáng dạy tận tâm, truyền đạt những kiến thức quý báu, qua đó đã giúp đỡ chúng em rất nhiều trong quá trình thực hiện đồ án này Chúng em xin chân thành cảm ơn thầy, chúc thầy
nhiều sức khỏe
Trang 3PHAN DANH GIA CUA GIANG VIEN
Tp Hồ Chí Minh, ngày tháng năm
(kí và ghi họ tên)
Trang 41 Mục tiêu chương:
Chương tập đề ra các nguyên tắc cơ bản để xây đựng được một mô hình tối ưu
Cốt lõi của Kiến trúc Lambda là tập dữ liệu chính, trong hình 1.1 Tập dữ liệu chính là nguồn
thông tin chính xác trong Kiến trúc Lambda Ngay cá khi bạn mắt tất cá tập dữ liệu lớp phục
vụ và lớp tốc độ tập dữ liệu, vẫn có thế xây đựng lại ứng dụng của mình từ tập dữ liệu chính Đây là bởi vì các chế độ xem hàng loạt được cung cấp bởi lớp phục vụ được tạo thông qua các
chức năng trên tập dữ liệu chính và vì lớp tốc độ chỉ dựa trên dữ liệu gan đây nên nó có thể tự
xây dựng trong vòng vai gid
Tập dữ liệu chính là phần duy nhất của Kiến trúc Lambda hoàn toàn phải được báo vệ
khỏi các sự có Máy quá tải, ô đĩa bị lỗi, sự cố mắt điện, lỗi của con người với hệ thống đữ liệu
động là rủi ro và là tình huỗng không thê tránh khỏi Cần có cách thiết kế can thận tập dữ liệu
chính để ngăn chặn sai sót trong tat ca các trường hợp này, vì khá năng chịu lỗi là điều cần
thiết đối với tình trạng hoạt động lâu đài của hệ thống đữ liệu
Trang 5
the source of truth in your system and cannot withstand corruption
@ The data in the
speed layer
realtime views has
a high turnover
rate, so any
errors are quickly
expelled
© Any errors introduced
into the serving layer batch views are overwritten because they are continually rebuilt from the master dataset
Hinh 1.1: Kién tric lambda
Nội dung chương này sẽ tập trung nói về việc thiết kế mô hình dữ liệu cho tập dữ liệu
chính và các thuộc tính mà mô hình đữ liệu đó cần có Các phần chỉ tiết bao gồm:
® Thuộc tính của dữ liệu
® Mô hình đữ liệu thực tế
® Lược đồ
2 Yêu cầu về dữ liệu:
Trang 6Giá sử ta đang thiết kế một mạng xã hội lớn: FaceSpace Khi một người dùng mới, Tom, tham gia Ta có một số lựa chọn lưu trữ thông tin gì về các kết nối của Tom, bao gồm những lựa
chọn sau:
®_ Chuỗi sự kiện kết bạn và hủy kết bạn
® Danh sách bạn bè hiện tại
® Số lượng bạn bè hiện tại
Friend list
changes
4/10 Add Alice —
friend list 4/12 Add Jerry Current
friend count 4/15 Add Charlie
Alice
4/27 Remove Jerry — >| oe (:)
5/2 Add David
David 5/10 Remove Charlie
operations
Hinh 2.1; Minh hoa su phu thuộc thông tin
Mỗi lớp thông tin có thể được lấy từ lớp thông tin trước đó (lớp bên trái), nhưng đó là quy
trình một chiều
Khái niệm về các thuật ngữ:
®_ Information(Thông tin): là tập hợp kiến thức chung có liên quan đến hệ thống
Dữ liệu lớn
®_ Data(Dữ liệu): để cập đến thông tin không thế được lấy từ bất kỳ thứ gì khác Dữ liệu
đóng vai trò là tiên đề mà từ đó mợi thứ khác bắt nguồn
"Information" là một khái niệm tông quát và bao quát, còn "Data" là những phản cụ thé va co
sở mà thông tin được xây dựng từ đó "Data" có thê được coi là yếu tố cơ bản, trong khi
"Information" bao gồm cá ngữ cảnh và kiến thức có liên quan
Trang 7Ví dụ: Truy vấn lịch sử giao dịch tài chính để xác định số đư tài khoản ngân hàng hiện
tại
© Views la thong tin được lấy từ đữ liệu cơ sở của bạn Chúng được xây dựng đề hỗ trợ
trả lời các loại truy vấn cụ thể
“Are Tom and
Current : : Jerry friends?”
friend list Friend list
changes
ốc does Tom have?”
friends
@ Your data is @ The views are @ The queries you want
cannot be derived the data to help information stored in
Hình 2.3 Moi quan hé gitta data, views, and queries
Điều quan trọng cần lưu ý là data cua một người có thé là views của người khác
FaceSpace Advertiser
Targeting
(birthdate, (Web scraping) =] Olney’ Os
minis) Number of of friends)
= friends =
@ Tom provides detailed profile information @ Only the public information about Tom
to FaceSpace (data), but chooses to limit becomes data to the advertiser after what is publicly accessible (views) scraping his profile.
Trang 8của bạn
Đối với FaceSpace, sinh nhật của Tom là một view vì nó bắt nguồn từ ngày sinh của người dùng Tuy nhiên, ngày sinh được coi là đata đối với nhà quảng cáo bên thứ ba
2.1 Các thuộc tính của dữ liệu:
A) Dữ liệu thô:
Dữ liệu của càng thô thì càng có thê suy ra nhiều thông tin và càng có thê đặt nhiều câu hỏi
về nó Trong ví dụ về FaceSpace, dữ liệu FaceSpace có giá trị hơn dữ liệu của nhà quảng cáo
vì bạn có thê suy ra thêm thông tin về Tom
Giao dịch trên thị tường chứng khoán có hàng triệu cô phiếu và hàng tỷ đô la thay đối hàng ngày Trong lịch sử, giá cỗ phiếu được ghi nhận hàng ngày là giá mở cửa, giá cao, giá thấp và giá đóng cửa Tuy nhiên, những đữ liệu đó thường không cung cấp bức tranh toàn
cảnh và có thể làm sai lệch nhận thức của bạn về những gì đã xảy ra
Ví dụ: trong hình đưới đây, nó ghi lại đữ liệu giá của cô phiếu Google, Apple và Amazon vào ngày Google công bố các sản phâm mới nhắm vào đối thủ cạnh tranh của
họ
Google GOOG 564.68 567.70 573.99 566.02 569.30 +4.62 Apple AAPL 572.02 575.00 576.74 571.92 574.50 +2.48 Amazon AMZN 225.61 225.01 227.50 223.30 225.62 +0.01
nour Hình 2.5 Tóm tắt một ngày giao dịch của các cô phiếu Google, Apple và Amazon
Trang 9Dữ liệu này gợi ý rằng:
e Amazon cé thê không bị ảnh hưởng bởi thông báo của Google vì giá cô phiếu của hãng
chỉ tăng nhẹ
® Thông báo này không có tác dụng gì đối với Apple hoặc có tác động tích cực
@ AMIN @AAPL co on @GOOG
2 Om
Wee Jun 27 tien lì em 1 an 3
Hình 2.6 Thay đổi giá cổ phiếu tương đối của Google, Apple và Aimazon vào ngày 27 tháng 6
năm 2012
Hình trên mô tá những thay đổi tương đối từng phút của giá cô phiếu, điều này cho thay rang
cá Amazon và Apple thực sự bị ảnh hưởng bởi thông báo này, Amazon bị ảnh hưởng nhiều hơn Apple
Việc lưu trữ dữ liệu thô rat cd giá trị vì bạn không thể biết trước tất cả các câu hỏi bạn muốn
duoc tra loi Dữ liệu thô nhất cho phép bạn tối đa hóa khá năng thu được thông tin chỉ tiết mới, trong khi việc tóm tắt, ghi đè hoặc xóa thông tin sẽ hạn chế những gì dữ liệu có thé cho ban biết Sự đánh đổi là dữ liệu thô hơn thường đòi hỏi nhiều đữ liệu hơn
Dữ liệu phí cầu trúc thô hơn dữ liệu chuẩn hóa
Trang 1010
Khi quyết định lưu trữ đữ liệu thô nào, một vùng mơ hỗ phố biến là ranh giới giữa phân tích
cú pháp và chuẩn hóa ngữ nghĩa Chuẩn hóa ngữ nghĩa là quá trình định hình lại thông tin
dạng tự do thành dạng dữ liệu có cấu trúc
Ví dụ: FaceSpace có thế yêu cầu vị trí của Tom Anh ta có thể nhập bất cứ thứ gì cho
trường đó, chẳng han nhự San Franciseo, CA, SF, North Beach, v.v Thuật toán chuẩn hóa ngữ
nghĩa sẽ có gắng khớp đầu vào với một địa điểm đã biết, như minh họa trong hình bên
dưới:
San Francisco | *| San Francisco, CA, USA
SF | s San Francisco, CA, USA
Tốt hơn là nên lưu trữ chuỗi không có cấu trúc vì thuật toán chuẩn hóa ngữ nghĩa của bạn
có thé cai thiện theo thời gian Nếu bạn lưu trữ chuỗi không có cấu trúc, bạn có thê chuẩn hóa
lại dữ liệu đó sau khi bạn đã cải thiện thuật toán của mình Trong ví dụ trước, sau này bạn có thể điều chỉnh thuật toán để nhận ra North Beach là một vùng lân cận 6 San Francisco hoặc
bạn có thế muốn sử dụng thông tin ving lân cận cho mục đích khác
B) Dữ liệu là bất biến:
Trong cơ sở đữ liệu quan hệ, cập nhật là một trong những thao tác cơ bản Tuy nhiên, để có tính bắt biến trong Big Data, bạn không cập nhật hay xóa dữ liệu mà chỉ thêm vào
Uu diém của việc sử dụng lược đồ bất biến cho hệ thông Dữ liệu lớn:
1 Khả năng chịu đựng lỗi của con người
Đây là ưu điểm quan trọng nhất của mô hình bắt biến, là một đặc tính thiết yếu của hệ thống
dữ liệu Bạn phải hạn chế tác động của những sai lầm của con NGƯỜI và CÓ cơ chế khắc phục sau đó
Trang 1111
Với mô hình dữ liệu có thể thay đổi, một lỗi có thể khiến dữ liệu bị mất vì các giá trị thực sự
bị ghi đẻ trong cơ sở dữ liệu
Với mô hỉnh dữ liệu bất biến, không dữ liệu nào có thể bị mắt Nếu đữ liệu xấu được ghi, don
vị đữ liệu trước đó (tốt) van ton tại Sửa chữa hệ thống đữ liệu chỉ là việc xóa các đơn vị dữ
liệu xấu và tính toán lại các views được xây đựng từ tập dữ liệu chính
2 Sự đơn giản
Các mô hình dữ liệu có thể thay đổi ngụ ý rằng đữ liệu phải được lập chỉ mục theo một cách
nao đó dé có thể truy xuất và cập nhật các đối tượng đữ liệu cụ thê
Ngược lại, với mô hình dữ liệu bắt biến, bạn chỉ cần khá năng thêm các don vi dé liệu mới vào
tập đữ liệu chính, điều này không yêu cầu chỉ mục cho đữ liệu của bạn, đây là một sự đơn gián hóa rất lớn
So sánh giữa lược đồ bắt biến và lược đồ có thé thay doi
Hình đưới đây hiển thị một lược đỗ có thể thay đổi cho thông tin người dùng FaceSpace Nếu Tom chuyền tới Los Angeles, các giá trị trước đó sẽ bị ghi đè và mắt đi
User information
id name age gender employer location
1 Alice 25 female Apple Atlanta, GA
2 Bob 36 male SAS Chicago, IL
3 Tom 28 male Google San Francisco, CA `
4 Charlie 25 male Microsoft Washington, DC
Với lược đề bắt biến, thay vì lưu trữ ảnh chụp nhanh hiện tại, bạn tạo một bản ghi riêng mỗi
khi thông tỉn của người dùng thay đôi Hoàn thành điều này đòi hỏi hai thay đổi:
®_ Theo dõi từng trường thông tin người dùng trong một bảng riêng
Trang 1212
Hình đưới đây cho thấy một lược đỗ bất biến tương ứng để lưu trữ thông tin FaceSpace
provided by Tom (user id 3),
user id location timestamp timestamped when he first
joi FaceS
2 Chicago, IL 2012/04/12 14:47:51
3 San Francisco, CA | 2012/04/04 18:31:24 Ö WanTomermosetoa
4 Washington, DC 2012/04/09 11:52:30 new location, you add an additional
cord timest d by wh
Thay vì cập nhật các bản ghi có săn, một lược đề bắt biến sử dụng các bản ghi mới để thể hiện thông tin đã thay đổi Do đó, một lược đề bất biến có thể lưu trữ nhiều bản ghi cho
cùng một người dùng
Trong hình trên, có hai bản ghi vị trí của Tom (ID người dùng số 3) và vì các đơn vị đữ liệu được gắn với các thời điểm cụ thé nén ca hai đều có thê đúng Vị trí hiện tại của Tom bao
gồm một truy vấn đơn giản trên dữ liệu: xem tat cả các vị trí và chọn vị trí có dấu thời gian
gân đây nhất Bằng cách giữ mỗi trường trong một báng riêng biệt, bạn chỉ ghi lại những
thông tin đã thay đổi Điều này đòi hỏi ít không gian hơn dé lưu trữ và đảm bảo rằng mỗi ban ghi là thông tin mới và không chỉ được chuyên từ bản ghi cuối cùng
Sự đánh đổi của cách tiếp cận bắt biến là nó sử dụng nhiều bộ nhớ hơn so với lược đồ có thể
thay đổi:
1 ID người dùng được chỉ định cho mọi thuộc tính, thay vì một lần trên mỗi hàng theo
cách tiếp cận có thé thay đôi
2 Toàn bộ lịch sử của các sự kiện được lưu trữ thay vì quan điểm hiện tại về thé gidi
Bạn nên tận dụng khả năng lưu trữ lượng lớn dữ liệu bằng công nghệ Big Data của Big Data
để có được lợi ích từ tính bắt biến Việc có một bộ dữ liệu tổng thé don gian va chắc chấn về
khả năng chịu lỗi của con người là rất quan trọng
€©) Dữ liệu luôn luôn đúng:
Trang 1313
Hậu quả chính của tính bất biến là mỗi phần dữ liệu sẽ đúng mãi mãi Gắn thé cho từng
phan đữ liệu bằng dấu thời gian là một cách thiết thực dé biến dữ liệu trở thành sự thật vĩnh viên
Nói chung, tập dữ liệu chính của bạn liên tục phát triển bằng cách thêm các phần đữ liệu
mới bắt biến và vĩnh viễn đúng Có một số trường hợp đặc biệt trong đó bạn xóa dữ liệu và những trường hợp này không phải là không tương thích với đữ liệu vĩnh viễn đúng Hãy xem xét các trường hợp sau:
e@ Garbage collection Khi ban thy hiện thu thập rác, bạn xóa tắt cá các đơn vị đữ liệu
có giá trị thấp Bạn có thể sử dụng tính năng thu thập rác đề triển khai các chính sách
lưu giữ dữ liệu nhằm kiểm soát sự phát triển của tập đữ liệu chính Ví dụ: bạn có thể
quyết định triển khai chính sách chỉ giữ một vị trí cho mỗi người mỗi nãm thay vì toàn
bộ lịch sử mỗi lần người dùng thay đôi vị trí
e_ Quy định Các quy định của chính phủ có thê yêu cầu bạn xóa đữ liệu khỏi cơ sở đữ
liệu của mình trong một số điều kiện nhất định
Việc xóa dữ liệu không phái là tuyên bồ về tính trung thực của đữ liệu mà thay vào đó là
giá trị của đữ liệu Mặc dù dữ liệu luôn đúng, nhưng bạn có thể muốn "quên" thông tin đó vì
bạn phải làm vậy hoặc vì nó không cung cấp đủ giá trị cho chỉ phí lưu trữ
Điều quan trọng là phái phân biệt rằng việc xóa mà chúng tôi đang dé cập đến là một trường hợp đặc biệt và hiếm gặp Trong cách sử dụng thông thường, đữ liệu là bất biến và bạn thực thi thuộc tính đó bằng cách thực hiện các hành động như đặt quyên thích hợp Vì việc xóa đữ
liệu rat hiém khi xảy ra nên bạn cần phải hết sức cần thận để đảm bảo rằng việc đó được thực hiện một cách an toàn Chúng tôi tin rằng việc xóa đữ liệu được thực hiện một cách an toàn nhất bằng cách tạo bản sao thứ hai của tập dữ liệu chính với dữ liệu vị phạm đã được lọc ra,
chạy các công việc phân tích để xác minh răng dữ liệu chính xác đã được lọc, sau đó và chỉ sau đó thay thế phiên bán cũ của tập dữ liệu chính
3.Mô hình dữ liệu thực tế: