Faculty of Information Technology
Ton Duc Thang University
Nov 2025
@2025 Trinh Hung Cuong 2
Mining
Mining data: khai thác/khai phá tri thức từ dữ liệu
Mining Massive Data Sets: khai thác/khai phá tri thức từ dữ liệu siêu lớn
xu hướng, mối quan hệ, hoặc quy luật ...
Ví dụ 1: Siêu thị
Dữ liệu: hàng triệu hóa đơn mua sắm
Mining:
Người mua bia thường mua thêm đậu phộng
Tối thứ 6 bán bia tăng mạnh
Ứng dụng:
Đặt bia gần đậu phộng
Khuyến mãi đúng thời điểm
Association Rule Mining
@2025 Trinh Hung Cuong 3
Mining
Ví dụ 2: Netflix / YouTube
Dữ liệu:
Video đã xem
Thời gian xem
Like / Skip
Mining:
Người xem golf swing tutorial → hay xem slow-motion golf analysis
Ứng dụng:
Recommendation System
@2025 Trinh Hung Cuong 4
Mining
Từ data, rút ra cái “có ý nghĩa, có giá trị sử dụng”
trong học thuật gọi là tri thức (knowledge)
Data Mining ≈ Big Data ≈ Predictive Analytics ≈ Data Science ≈ Machine
Learning
Dấu ≈ : chồng lấn / liên quan mạnh, mỗi cái nhấn vào một khía cạnh khác nhau
Machine Learning = công cụ
Data Mining = mục tiêu khám phá
Khai phá các mẫu, quy luật, mối quan hệ ẩn trong dữ liệu
Câu hỏi: “Trong dữ liệu có gì hay?”
Ví dụ: Người mua A thường mua B
@2025 Trinh Hung Cuong 5
Mining
Predictive Analytics = mục tiêu dự đoán
Dùng dữ liệu quá khứ để dự đoán tương lai
Câu hỏi: “Tương lai sẽ thế nào?”
Ví dụ:Dự đoán sales tháng sau
@2025 Trinh Hung Cuong 6
Mining
Big Data = bối cảnh / quy mô
dữ liệu quá lớn / quá nhanh / quá đa dạng
3V (kinh điển):
Volume dữ liệu cực lớn
Velocity dữ liệu đến liên tục
Variety nhiều dạng (text, video, log…)
Ví dụ:
Clickstream của hàng triệu user
Video từ hàng ngàn camera
Data Mining / ML / Predictive Analytics đều có thể chạy trên Big Data
@2025 Trinh Hung Cuong 7
Mining
Data Science = lĩnh vực bao trùm tất cả
ML, Data Mining, Predictive Analytics đu nm trong Data Science
@2025 Trinh Hung Cuong 8
Mining
Data mining = extraction of actionable information from (usually) very large
datasets
actionable có nghĩa "có thể hành động được" >>> chỉ thông tin, dữ liệu, hoặc ý
tưởng có thể chuyển hóa thành hành động thực tế, có tính ứng dụng cao và mang
lại kết quả cụ thể
@2025 Trinh Hung Cuong 9
Large-scale computing
Phần cứng thông dụng (commodity hardware)
thiết bị máy tính giá tương đối rẻ, được bán rộng rãi và thể thay thế cho các
phần cứng khác cùng loại
Storage Infrastructure File system
hạ tầng lưu trữ dữ liệu, cụ thể là hệ thống file dùng cho dữ liệu lớn
Không phi: NTFS (Windows) ext4 (Linux) FAT32 ...
Vì:
D liu quá ln (TBPB)
Chy trên nhiu máy
Máy có th hng bt kỳ lúc nào
cần Distributed File System (hệ thống file phân tán)
@2025 Trinh Hung Cuong 10
Large-scale computing
GFS = Google File System
Do Google thiết kế
Dùng ni b cho:
Google Search
Google Maps
YouTube
Chia file thành chunks (64MB)
Mỗi chunk:
Lưu nhiều bản sao (replica)
Trên nhiều máy khác nhau
Nếu 1 máy chết → không mất dữ liệu
@2025 Trinh Hung Cuong 11
Large-scale computing
HDFS = Hadoop Distributed File System
Là h thng file ca Apache Hadoop
Ly cm hng trc tiếp t GFS
Dùng rng rãi trong:
Big Data
Data Engineering
Machine Learning pipeline
HDFS = GFS phiên bn mã ngun m
@2025 Trinh Hung Cuong 12
Large-scale computing: HDFS
Kiến trúc cơ bản:
Name Node
Quản lý metadata
Biết: file nào, block nào, nằm ở đâu
Data Node
Lưu dữ liệu thật
Cách lưu file:
File → chia thành blocks (128MB)
Mỗi block:
Lưu 3 bản sao (default)
Trên các Data Node khác nhau
@2025 Trinh Hung Cuong 13
Large-scale computing
Rack = tủ chứa servers trong data center
1 rack ≈ 1 cái tủ kim loại cao
Bên trong xếp:
Servers
Switch mạng
Thiết bị nguồn
Các server trong cùng rack:
Dùng chung nguồn điện
Dùng chung switch mạng
Rack = nhóm servers “ở cùng một tủ vật lý”
@2025 Trinh Hung Cuong 14
Large-scale computing
Trong Apache Hadoop HDFS (và Google GFS):
Rack Awareness
Hệ thống biết:
Server nào thuộc rack nào
Khi lưu block/chunk:
KHÔNG đặt tất cả replica trong cùng rack
Chiến lược điển hình (replication = 3):
1 replica ở rack A
2 replica ở rack B (khác rack A)
@2025 Trinh Hung Cuong 15
MapReduce
MapReduce là mô hình lập trình (programming model) để xử lý dữ liệu cực
lớn bằng cách chia nhỏ xử lý song song – rồi tổng hợp lại
Map: ánh xạ / xử lý từng phần dữ liệu
Reduce: gom kết quả lại để ra đáp án cuối
1 mapper = 1 tiến trình / task
Mapper gọi các hàm map một cách tuần tự và mỗi hàm map xử 1 input element
@2025 Trinh Hung Cuong 16
MapReduce
Group by key (Sort & Shuffle)
System sorts all the key-value pairs by key
Bước này KHÔNG DO USER VIẾT
Hệ thống MapReduce tự lo
Sort: Sp xếp key
(golf,1), (golf,1), (golf,1), (swing,1), (swing,1)
Shuffle: Gi tt c key ging nhau v cùng 1 reducer (di chuyn d liu)
(golf, [1,1,1])
(swing, [1,1])
@2025 Trinh Hung Cuong 17
MapReduce
Code hàm map (slide 41, 01-intro.pdf) chưa được tối ưu:
Emit qnhiu keyvalue ging nhau
Shuffle phi:
Gi và sắp xếp, truyền nhiều bn ghi, ví dụ (crew,1) gửi nhiều lần cho hệ thống
Tn mng + disk
Vi Big Data: rt tn chi phí
Cách “chuẩn – tối ưu hơn”
Đếm cc b trong Map (in-mapper combining)
Dùng Combiner: chạy sau Map trước Shuffle
Trên node đang chạy Mapper
Chỉ xử lý output cục bộ của mapper đó
Giảm mạnh traffic mạng
@2025 Trinh Hung Cuong 18
MapReduce
Chunk (block): là đơn vị lưu trữ trong hệ thống file phân tán (ví dụ HDFS)
Thường kích thước: 64MB / 128MB
Input element: là đơn vị logic mà hàm Map() xử lý
1 chunk → chứa nhiều input elements
Ví d: 1 file text ln, Chunk = 128MB, Input element = 1 dòng (line)
Mt chunk có th cha hàng triu input elements
@2025 Trinh Hung Cuong 19
MapReduce
Ví dụ hệ thống MapReduce
Thành phần
Số lượng
Master
Nodes (JobTracker)
1
Chunk servers (DataNodes)
4
File lớn
1 file 1GB
Chunk size
128MB
Số chunk
8 chunks
@2025 Trinh Hung Cuong 20
MapReduce
Lưu trữ file trong HDFS:
file log.txt (1GB) được chia:
Chunk
Kích thước
Lưu ở
C1
128MB
Node A
C2
128MB
Node B
C3
128MB
Node C
C4
128MB
Node D
C5
128MB
Node A
C6
128MB
Node B
C7
128MB
Node C
C8
128MB
Node D
(mỗi chunk còn có replica, nhưng tạm bỏ qua cho dễ hiểu)

Preview text:

Faculty of Information Technology Ton Duc Thang University Nov 2025 Mining
 Mining data: khai thác/khai phá tri thức từ dữ liệu
 Mining Massive Data Sets: khai thác/khai phá tri thức từ dữ liệu siêu lớn
 xu hướng, mối quan hệ, hoặc quy luật ...  Ví dụ 1: Siêu thị
 Dữ liệu: hàng triệu hóa đơn mua sắm Mining:
 Người mua bia thường mua thêm đậu phộng
 Tối thứ 6 bán bia tăng mạnh Ứng dụng:
 Đặt bia gần đậu phộng
 Khuyến mãi đúng thời điểm
Association Rule Mining @2025 Trinh Hung Cuong 2 Mining
 Ví dụ 2: Netflix / YouTube  Dữ liệu:  Video đã xem  Thời gian xem  Like / Skip  …  Mining:
 Người xem golf swing tutorial → hay xem slow-motion golf analysis  Ứng dụng:  Recommendation System @2025 Trinh Hung Cuong 3 Mining
 Từ data, rút ra cái “có ý nghĩa, có giá trị sử dụng”
 trong học thuật gọi là tri thức (knowledge)
 Data Mining ≈ Big Data ≈ Predictive Analytics ≈ Data Science ≈ Machine Learning
 Dấu ≈ : chồng lấn / liên quan mạnh, mỗi cái nhấn vào một khía cạnh khác nhau
 Machine Learning = công cụ
 Data Mining = mục tiêu khám phá
 Khai phá các mẫu, quy luật, mối quan hệ ẩn trong dữ liệu
 Câu hỏi: “Trong dữ liệu có gì hay?”
 Ví dụ: Người mua A thường mua B @2025 Trinh Hung Cuong 4 Mining
 Predictive Analytics = mục tiêu dự đoán
 Dùng dữ liệu quá khứ để dự đoán tương lai
 Câu hỏi: “Tương lai sẽ thế nào?”
 Ví dụ:Dự đoán sales tháng sau @2025 Trinh Hung Cuong 5 Mining
 Big Data = bối cảnh / quy mô
 dữ liệu quá lớn / quá nhanh / quá đa dạng  3V (kinh điển):
 Volume – dữ liệu cực lớn
 Velocity – dữ liệu đến liên tục
 Variety – nhiều dạng (text, video, log…)  Ví dụ:
 Clickstream của hàng triệu user
 Video từ hàng ngàn camera
➡Data Mining / ML / Predictive Analytics đều có thể chạy trên Big Data @2025 Trinh Hung Cuong 6 Mining
 Data Science = lĩnh vực bao trùm tất cả
 ML, Data Mining, Predictive Analytics đều nằm trong Data Science @2025 Trinh Hung Cuong 7 Mining
 Data mining = extraction of actionable information from (usually) very large datasets
 actionable có nghĩa là "có thể hành động được" >>> chỉ thông tin, dữ liệu, hoặc ý
tưởng có thể chuyển hóa thành hành động thực tế, có tính ứng dụng cao và mang lại kết quả cụ thể @2025 Trinh Hung Cuong 8 Large-scale computing
 Phần cứng thông dụng (commodity hardware)
 là thiết bị máy tính có giá tương đối rẻ, được bán rộng rãi và có thể thay thế cho các
phần cứng khác cùng loại
 Storage Infrastructure – File system
 hạ tầng lưu trữ dữ liệu, cụ thể là hệ thống file dùng cho dữ liệu lớn
 Không phải: NTFS (Windows) ext4 (Linux) FAT32 ...  Vì:
 Dữ liệu quá lớn (TB–PB)  Chạy trên nhiều máy
 Máy có thể hỏng bất kỳ lúc nào
 cần Distributed File System (hệ thống file phân tán) @2025 Trinh Hung Cuong 9 Large-scale computing  GFS = Google File System  Do Google thiết kế  Dùng nội bộ cho:  Google Search  Google Maps  YouTube
 Chia file thành chunks (64MB)  Mỗi chunk:
 Lưu nhiều bản sao (replica)
 Trên nhiều máy khác nhau
 Nếu 1 máy chết → không mất dữ liệu @2025 Trinh Hung Cuong 10 Large-scale computing
 HDFS = Hadoop Distributed File System
 Là hệ thống file của Apache Hadoop
 Lấy cảm hứng trực tiếp từ GFS  Dùng rộng rãi trong:  Big Data  Data Engineering  Machine Learning pipeline
 HDFS = GFS phiên bản mã nguồn mở @2025 Trinh Hung Cuong 11 Large-scale computing: HDFS  Kiến trúc cơ bản:  Name Node  Quản lý metadata
 Biết: file nào, block nào, nằm ở đâu  Data Node  Lưu dữ liệu thật  Cách lưu file:
 File → chia thành blocks (128MB)  Mỗi block:
 Lưu 3 bản sao (default)
 Trên các Data Node khác nhau @2025 Trinh Hung Cuong 12 Large-scale computing
 Rack = tủ chứa servers trong data center
 1 rack ≈ 1 cái tủ kim loại cao  Bên trong xếp:  Servers  Switch mạng  Thiết bị nguồn
 Các server trong cùng rack:
 Dùng chung nguồn điện  Dùng chung switch mạng
 Rack = nhóm servers “ở cùng một tủ vật lý” @2025 Trinh Hung Cuong 13 Large-scale computing
 Trong Apache Hadoop HDFS (và Google GFS):  Rack Awareness  Hệ thống biết:
 Server nào thuộc rack nào  Khi lưu block/chunk:
 KHÔNG đặt tất cả replica trong cùng rack
 Chiến lược điển hình (replication = 3):  1 replica ở rack A
 2 replica ở rack B (khác rack A) @2025 Trinh Hung Cuong 14 MapReduce
 MapReduce là mô hình lập trình (programming model) để xử lý dữ liệu cực
lớn bằng cách chia nhỏ – xử lý song song – rồi tổng hợp lại
 Map: ánh xạ / xử lý từng phần dữ liệu
 Reduce: gom kết quả lại để ra đáp án cuối
 1 mapper = 1 tiến trình / task
 Mapper gọi các hàm map một cách tuần tự và mỗi hàm map xử lý 1 input element @2025 Trinh Hung Cuong 15 MapReduce
 Group by key (Sort & Shuffle)
 System sorts all the key-value pairs by key
 Bước này KHÔNG DO USER VIẾT
 Hệ thống MapReduce tự lo  Sort: Sắp xếp key
 (golf,1), (golf,1), (golf,1), (swing,1), (swing,1)
 Shuffle: Gửi tất cả key giống nhau về cùng 1 reducer (di chuyển dữ liệu)  (golf, [1,1,1])  (swing, [1,1]) @2025 Trinh Hung Cuong 16 MapReduce
 Code hàm map (slide 41, 01-intro.pdf) chưa được tối ưu:
 Emit quá nhiều key–value giống nhau  Shuffle phải:
 Gửi và sắp xếp, truyền nhiều bản ghi, ví dụ (crew,1) gửi nhiều lần cho hệ thống  Tốn mạng + disk
➡Với Big Data: rất tốn chi phí
 Cách “chuẩn – tối ưu hơn”
 Đếm cục bộ trong Map (in-mapper combining)
 Dùng Combiner: chạy sau Map trước Shuffle
 Trên node đang chạy Mapper
 Chỉ xử lý output cục bộ của mapper đó
➡Giảm mạnh traffic mạng @2025 T rinh Hung Cuong 17 MapReduce
 Chunk (block): là đơn vị lưu trữ trong hệ thống file phân tán (ví dụ HDFS)
 Thường kích thước: 64MB / 128MB
 Input element: là đơn vị logic mà hàm Map() xử lý
 1 chunk → chứa nhiều input elements
 Ví dụ: 1 file text lớn, Chunk = 128MB, Input element = 1 dòng (line)
→ Một chunk có thể chứa hàng triệu input elements @2025 Trinh Hung Cuong 18 MapReduce
 Ví dụ hệ thống MapReduce Thành phần Số lượng Master Nodes (JobTracker) 1 Chunk servers (DataNodes) 4 File lớn 1 file 1GB Chunk size 128MB Số chunk 8 chunks @2025 Trinh Hung Cuong 19 MapReduce
 Lưu trữ file trong HDFS:
 file log.txt (1GB) được chia: Chunk Kích thước Lưu ở C1 128MB Node A C2 128MB Node B C3 128MB Node C C4 128MB Node D C5 128MB Node A C6 128MB Node B C7 128MB Node C C8 128MB Node D
(mỗi chunk còn có replica, nhưng tạm bỏ qua cho dễ hiểu) @2025 Trinh Hung Cuong 20