Tải bản đầy đủ (.pdf) (88 trang)

Xây dựng datalake hỗ trợ gợi ý tập khách hàng trong ngành bán lẻ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.78 MB, 88 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGŨN Q́C AN
LƯU HOÀNG HIỆP

KHĨA LUẬN TỚT NGHIỆP

XÂY DỰNG DATALAKE HỖ TRỢ GỢI Ý TẬP KHÁCH HÀNG
TRONG NGÀNH BÁN LẺ
Build Data Lake to support suggesting customer group
in retail industries

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH ,2021


ĐẠI HỌC Q́C GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN QUỐC AN -16520012
LƯU HOÀNG HIỆP -16520379

KHĨA LUẬN TỚT NGHIỆP

XÂY DỰNG DATALAKE HỖ TRỢ GỢI Ý TẬP KHÁCH HÀNG
TRONG NGÀNH BÁN LẺ


Build Data Lake to support suggesting customer group
in retail industries

GIẢNG VIÊN HƯỚNG DẪN
VŨ ĐỨC LUNG
ĐỖ THỊ THANH TUYỀN

TP. HỒ CHÍ MINH ,2021


LỜI CÁM ƠN
Xin gửi lời cảm ơn sâu sắc đến Thầy Vũ Đức Lung và Cô Đỗ Thị Thanh
Tuyền trong thời gian này đã hỗ trợ chúng em xây dựng khóa luận tốt nghiệp. Qua
một học kỳ 15 tuần chúng em đã học được rất nhiều kiến thức hữu ích, những giờ
được làm việc và có được sự hỗ trợ tận tình, thoải mái và trong tâm trạng dễ tiếp thu
nhất. Các công việc tiến độ hằng tuần cũng như tài liệu thầy đã giao trên Microsoft
Team đã giúp chúng em có một lượng kiến thức nhất định để xây dựng nên khóa
luận tốt nghiệp.
Kết quả thu được trong khóa luận tốt nghiệp ngồi sự đầu tư, quyết tâm của
nhóm thực hiện mà cịn có những cơng sức ý kiến và giảng dạy kiến thức trong quá
trình chúng em bắt đầu học, cảm ơn thầy và cô đã giúp đỡ chúng em vượt qua
những khó khăn trong học kỳ này vì ln rất tâm huyết truyền lại kiến thức và giải
đáp các thắc mắc của sinh viên chúng em.
Khóa luận tốt nghiệp chính là những kiến thức chúng em đã tổng hợp được
thơng qua q trình học tập từ những kiến thức mà thầy, cô đã giảng dạy chúng em,
nếu trong q trình chấm báo cáo có sai sót xin thầy hãy thông cảm cho chúng em,
mỗi cá nhân trong nhóm đều đã cố gắng hết mình để có thể xây dựng nên một khóa
luận tốt nghiệp hồn chỉnh và cố gắng hướng tới một kết quả tốt nhất có thể.
Lời cuối cùng vẫn là lời cảm ơn sâu sắc và chân thành nhất đến thầy Lung và
cô Tuyền đã giúp chúng em có được những kiến thức vững chắc để sau này bắt đầu

vào môi trường thực tế sẽ khơng gặp nhiều khó khăn cũng như có thể áp dụng các
kiến thức mình học được từ thầy khi ở trên lớp để áp dụng giải quyết vấn đề thực tế
một cách tốt nhất.
Nhóm thực hiện

Trang 1


ĐHQG TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI TIẾNG VIỆT: Xây dựng DataLake hỗ trợ gợi ý tập khách hàng trong
ngành bán lẻ.
TÊN ĐỀ TÀI TIẾNG ANH: Build Data Lake to support suggesting customer group in
retail industries.
Cán bộ hướng dẫn: PGS.TS Vũ Đức Lung, ThS Đỗ Thị Thanh Tuyền
Thời gian thực hiện: Từ ngày 01/09/2020 đến ngày 21/01/2021
Sinh viên thực hiện: Nguyễn Quốc An - 16520012, Lưu Hoàng Hiệp - 16520379
Nội dung đề tài
Tổng quan đề tài
Với sự phát triển một cách nhanh chóng của xã hội ngày nay, việc ứng dụng công
nghệ thông tin vào các doanh nghiệp với mục đích ch̉n hóa các quy trình ra quyết định

của công ty,và dữ liệu sẽ là nền tảng và điểm khởi đầu cho các cuộc thảo luận về chuyển
đổi doanh nghiệp
Dữ liệu sẽ tiếp tục trao quyền cho con người, cơng nghệ và quy trình. Dữ liệu cho phép
các tổ chức hiểu khách hàng của họ, dự đoán nhu cầu và sở thích của họ và phản hồi
nhanh hơn. Dữ liệu cũng đã trở thành xương sống cho mọi thứ phải làm với những cải
tiến về chất lượng và khả năng của sản phẩm. Dữ liệu thậm chí cịn cho phép các tổ chức
hiểu bản thân và hoạt động hiệu quả hơn thơng qua phân tích các chu kỳ kinh doanh, thói
quen của nhân viên và nhu cầu của khách hàng.

Trang 2


Đó chính là lý do mà nhóm em chọn đề tài xây dựng DataLake hỗ trợ gợi ý tập khách
hang trong ngành bán lẻ, với mục đích là làm cho các doanh nghiệp hiểu khách hàng
của họ và cải thiện chất lượng, dịch vụ của doanh nghiệp.
Nhóm em tin rằng, đây sẽ là giải pháp hữu ích và thực tiễn cho cơ quan, tổ chức, doanh
nghiệp.
Lý thuyết thực tiễn
Xây dựng hệ thống DataLake và áp dụng kiến thức về trí tuệ nhân tạo, cho phép cơ
quan, tổ chức, doanh nghiệp thực hiện tìm hiểu nhu cầu, sở thích của khách hàng giúp
các doanh nghiệp cải thiện chất lượng dịch vụ. Dựa vào dữ liệu có thể tìm hiểu được
nhu cầu của khách hàng và cung câp báo cáo và phân tích dư liệu.
Kết quả dự kiến
Xây dựng hệ thống DataLake và một hệ hỗ trợ ra quyết định cho phép doanh nghiệp
tìm hiểu hiểu nhu cầu, sở thích của khách hàng giúp các doanh nghiệp cải thiện chất
lượng dịch vụ. Dựa vào dữ liệu có thể tìm hiểu được nhu cầu của khách hàng và cung
câp báo cáo và phân tích dư liệu.
Và sau đó có thể gợi ý các sản phẩm phù hợp cho khách hàng.

Kế hoạch thực hiện:

STT

Công việc

Thời gian thực hiện

Phase 1: Tìm hiểu các hệ thống DataLake hiện có

8 tuần

trên thị trường và xây dựng hệ thống

(1/9/2020-31/10/2020)

1.

Tìm hiểu các định nghĩa về Big Data và
DataLake

Trang 3


1.1

-Big Data là gì?

Tuần 1-2

-Data Lake là gì? Khác biệt so với Data


(1/9/2020-14/9/2020)

Warehouse
-Tìm hiểu Hadoop eco-system, SMACK,
Mongo ELK
-Tìm hiểu kiến trúc của 1 big data system
-Chi phí,bảo mật,tính mở rộng, khả năng
chịu lỗi

2.

Tìm hiểu kiến trúc Lambda

2.1

-Tìm hiểu nguyển lý hoạt động của Batch

Tuần 3-4

Layer,Serving Layer,Speed Layer

(15/9/2020-30/9/2020)

-Xác định điểm mạnh và điểm yếu của kiến
trúc Lambda
3.

Xây dựng DataLake trên mô hình kiến
trúc Lambda và cải tiến
-Deploy Kafka,Hadoop,Zookeeper, Dremio


Tuần 5-8

-Deploy Database PostgreSQL

(1/10/2020-31/10/2020)

-Deploy Confluent để hoàn thiện kiến trúc
Lambda

Phase 2 : Xây dựng hệ thống Recomender system

8 tuần
(2/11/2020-31/12/2020)

Trang 4


4

Tìm hiểu Recommender System

4.1

-Tìm hiểu Recommender System

2 tuần

-Tìm hiểu về Hybrid Recommended,


(2/11/2020-16/11/2020)

Collaborative Filtering,Content Based
Filtering ,Session-Based Filtering
-Tìm hiểu về Memory Based và Model
Based trong Collaborative Filtering
5

Lựa chọn thuật toán

5.1

-Lựa chọn các thuật toán phù hợp cho hệ

2 tuần

thống (cây quyết định,K-Means,K-Nearest

(17/11/2020-30/11/2020)

Neighbor)
-Lựa chọn các công thức đánh giá phù hợp
(Cosine Similarity, Pearson correlation
coefficient, Euclidean Distance,…)
6

Xây dựng Recommender System

6.1


-Xây dựng Recommender System dựa trên

4 tuần

Collaborative Filtering và Content Based

(1/12/2020-31/12/2020)

Filtering
-Xây dựng một giao diện trực quan và đơn
giản cho người dùng phổ thông
Phase 3 :Hoàn thiện và tổng kiểm thử
7.1

-Kiểm thử

3 tuần

-Hoàn thiện sản phẩm

(2/1/2020-21/1/2020)

Trang 5


-Đánh giá

Xác nhận của CBHD

Tp. HCM, ngày 27 tháng 12 năm 2020


(Ký tên và ghi rõ họ tên)

Sinh viên
(Ký tên và ghi rõ họ tên)

Vũ Đức Lung

Đỗ Thị Thanh Tuyền

Trang 6


MỤC LỤC
LỜI CÁM ƠN .................................................................................................................................................. 1
ĐỀ CƯƠNG CHI TIẾT ................................................................................................................................... 2
MỤC LỤC ........................................................................................................................................................ 7
DANH MỤC HÌNH VẼ ................................................................................................................................... 9
TĨM TẮT ĐỀ TÀI ........................................................................................................................................ 11
MỞ ĐẦU ......................................................................................................................................................... 12
CHƯƠNG 1

TỔNG QUAN ĐỀ TÀI ...................................................................................................... 15

1.1 MỤC TIÊU VÀ PHẠM VI ....................................................................................................................... 15
1.1.1
Mục tiêu ................................................................................................................................... 15
1.1.2
Phạm vi .................................................................................................................................... 15
1.2 NỘI DUNG THỰC HIỆN ......................................................................................................................... 15

CHƯƠNG 2

DỮ LIỆU LỚN LÀ GÌ, CÁC KHÁI NIỆM CHUYÊN NGÀNH CẦN LÀM RÕ ....... 17

2.1 KHẢO SÁT THỰC TRẠNG ..................................................................................................................... 17
2.2 DỮ LIỆU LỚN LÀ GÌ? ........................................................................................................................... 18
2.3 ĐẶC ĐIỂM CỦA DỮ LIỆU LỚN .............................................................................................................. 19
2.3.1
Dung lượng .............................................................................................................................. 22
2.3.2
Vận tốc ..................................................................................................................................... 23
2.3.3
Đa dạng.................................................................................................................................... 24
2.3.4
Độ chính xác ............................................................................................................................ 25
2.3.5
Giải pháp dữ liệu lớn - cơ sở hạ tầng đám mây so với tại chỗ ................................................ 26
CHƯƠNG 3

HỆ SINH THÁI HADOOP ............................................................................................... 28

3.1 APACHE HADOOP ............................................................................................................................... 28
3.2 HỆ THỐNG TỆP PHÂN TÁN HADOOP (HDFS) ....................................................................................... 30
3.3 HADOOP MAPREDUCE........................................................................................................................ 35
3.4 YARN ................................................................................................................................................ 35
3.5 CÁC DỰ ÁN APACHE LIÊN QUAN ĐẾN DỮ LIỆU LỚN (BIG DATA) ........................................................ 37
3.5.1
Apache Zookeeper .................................................................................................................... 37
3.5.2
Apache Kafka ........................................................................................................................... 38

3.5.3
Confluent .................................................................................................................................. 40
3.5.4
Apache Spark ........................................................................................................................... 41
CHƯƠNG 4
ÁP DỤNG
4.1
4.2
4.3

HỆ THỐNG KHUYẾN NGHỊ LÀ GÌ ? ....................................................................................................... 45
CÁC HƯỚNG TIẾP CẬN CHO HỆ THỐNG KHUYẾN NGHỊ ......................................................................... 45
CÁC THUẬT TOÁN SỬ DỤNG TRONG HỆ THỐNG KHUYẾN NGHỊ ............................................................ 46

CHƯƠNG 5
5.1

HỆ THỐNG KHUYẾN NGHỊ LÀ GÌ, CÁC KHÁI NIỆM VÀ THUẬT TỐN ĐƯỢC
45

XÂY DỰNG DATA LAKE............................................................................................... 50

TRÌNH BÀY Ý TƯỞNG .......................................................................................................................... 50

CHƯƠNG 6

HIỆN THỰC HÓA Ý TƯỞNG ........................................................................................ 53

6.1 YÊU CẦU PHẦN MỀM .......................................................................................................................... 53
6.2 YÊU CẦU PHẦN CỨNG ......................................................................................................................... 53

6.3 HƯỚNG DẪN CHUẨN BỊ MÔI TRƯỜNG LÀM VIỆC .................................................................................. 54
6.3.1
Cài đặt Java ............................................................................................................................. 54
6.3.2
Cài đặt Oracle JDK ................................................................................................................. 55
6.3.3
Cài đặt Hadoop ........................................................................................................................ 55
6.3.4
Cài đặng KAFKA ..................................................................................................................... 58

Trang 7


6.3.5
6.3.6
6.3.7
CHƯƠNG 7
THỐNG

Cài đặt dremio ......................................................................................................................... 59
Cài đặt sqoop/postgreesql/hbase ............................................................................................. 61
Xây dựng DataLake ................................................................................................................. 62
XÂY DỰNG RECOMMENDER SYSTEM VÀ TỔNG QUAN CỦA TOÀN BỘ HỆ
68

7.1 TRÌNH BÀY Ý TƯỞNG .......................................................................................................................... 68
7.2 HIỆN THỰC HÓA Ý TƯỞNG .................................................................................................................. 71
7.2.1
Phần khai thác dữ liệu ............................................................................................................. 71
7.2.2

Phần hiển thị UI ....................................................................................................................... 79
7.3 MƠ HÌNH KIẾN TRÚC CỦA TOÀN BỘ HỆ THỐNG ................................................................................... 80
CHƯƠNG 8

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................................................... 81

8.1 KẾT QUẢ ĐẠT ĐƯỢC ........................................................................................................................... 81
8.2 NHẬN XÉT .......................................................................................................................................... 81
8.2.1
Ưu điểm .................................................................................................................................... 81
8.2.2
Khuyết điểm ............................................................................................................................. 82
8.3 HƯỚNG PHÁT TRIỂN ........................................................................................................................... 82
CHƯƠNG 9

TÀI LIỆU THAM KHẢO ................................................................................................ 83

Trang 8


DANH MỤC HÌNH VẼ
HÌNH 1: ĐẶC ĐIỂM CỦA DỮ LIỆU LỚN (BIG DATA) ................................................................20
HÌNH 2: TĂNG TRƯỞNG DỮ LIỆU TRONG QUÁ KHỨ , HIỆN TẠI ,TƯƠNG LAI .....................23
HÌNH 3: VẬN TỚC MÀ DỮ LIỆU ĐƯỢC TẠO RA ......................................................................24
HÌNH 4: MƠ TẢ SỰ KHƠNG RÕ RÀNG CỦA DỮ LIỆU ..............................................................26
HÌNH 5 : MƠ TẢ HỆ SINH THÁI HADOOP.................................................................................29
HÌNH 6 : MƠ HÌNH LƯU TRỮ DỮ LIỆU CỦA HADOOP ............................................................31
HÌNH 7: MƠ TẢ CÁCH PHÂN TÁN DỮ LIỆU TRÊN HDFS ........................................................33
HÌNH 8: MAP REDUCE TRONG HADOOP .................................................................................35
HÌNH 9: KIẾN TRÚC CỦA HADOOP VỚI YARN ........................................................................36

HÌNH 10: MƠ HÌNH VỀ CƠ CHẾ QUẢN LÝ CỦA YARN ............................................................37
HÌNH 11: MƠ HÌNH KIẾN TRÚC CỦA ZOOKEEPER .................................................................38
HÌNH 12: MƠ HÌNH KIẾN TRÚC CỦA KAFKA ..........................................................................39
HÌNH 13: BÊN TRONG 1 KAFKA CLUSTER ..............................................................................39
HÌNH 14: MƠ HÌNH KIẾN TRÚC CỦA APACHE SPARK ...........................................................41
HÌNH 14: MƠ HÌNH KIẾN TRÚC CỦA APACHE SPARK ...........................................................43
HÌNH 15: MƠ HÌNH KIẾN TRÚC CỦA DATALAKE ...................................................................50
HÌNH 16: MƠ TẢ CẤU TRÚC LAMBDA .....................................................................................51
HÌNH 17: GIAO DIỆN CỦA DREMIO ..........................................................................................61
HÌNH 18: XÂY DỰNG CƠ SỞ DỮ LIỆU ......................................................................................62
HÌNH 19 : CHUẨN BỊ DỮ LIỆU ...................................................................................................64
HÌNH 20: ĐƯA DỮ LIỆU VÀO HDFS ..........................................................................................66
HÌNH 21: ÁNH XẠ DỮ LIỆU LÊN DREMIO ................................................................................66
HÌNH 21: MƠ HÌNH KIẾN TRÚC CỦA RECOMMENDER SYSTEM ...........................................69
HÌNH 22: MƠ HÌNH KIẾN TRÚC CỦA TOÀN BỘ HỆ THỐNG ...................................................80

Trang 9


DANH MỤC TỪ VIẾT TẮT
STT

Từ viết tắt

Ý nghĩa

1

ETL


Extract, Transform, Load

2

ACID

atomicity, consistency, isolation, durability

3

CAP

consistency, availability, partition

4

RDSMS

Relational Database Management System

5

SQL

Structured Query Language

6

NoSQL


Non SQL

Trang 10


TÓM TẮT ĐỀ TÀI
- Tổng quan đề tài: đặt vấn đề, lý do chọn đề tài, mục tiêu và phạm vi tiếp cận đề tài
- Tìm hiểu thực trạng, thị trường, khả năng phát triển.
- Nghiên cứu các công nghệ, cấu trúc, cơ chế hoạt động của Hệ thống dữ liệu lớn.
- Tìm hiểu các cách để xây dựng hệ thống dữ liệu lớn tại chỗ.
- Xây dựng hệ thống dữ liệu lớn.
- Phát triển hệ thống dữ liệu lớn dựa trên các yêu cầu của hệ thống máy học.
- Thiết kế hệ thống gợi ý dựa trên hành vi của người dùng.
- Trình bày kết luận và hướng phát triển trong ngành.

Trang 11


MỞ ĐẦU
Lý do chọn đề tài:
Gần đây, chúng ta đã và đang chứng kiến những tiến bộ to lớn trong quy mô của dữ
liệu mà chúng ta thường xuyên tạo ra và thu thập trong hầu hết mọi thứ chúng ta
làm, cũng như khả năng khai thác các công nghệ hiện đại để xử lý, phân tích và
hiểu dữ liệu này. Giao điểm của những xu hướng này, ngày nay, được gọi là Khoa
học Dữ liệu lớn. Khoa học Dữ liệu lớn yêu cầu kiến trúc có thể mở rộng để lưu trữ
và xử lý dữ liệu. Và chúng ta cần một giải pháp thiết thực và hiệu quả về chi phí để
hỗ trợ lưu trữ, xử lý Dữ liệu lớn và cho các ứng dụng phân tích tinh vi.
Tụi em phân tích chi tiết các khối kiến trúc của một hệ thống phân tích Dữ liệu lớn
để hỗ trợ Khoa học Dữ liệu lớn như một dịch vụ cho các nhà khoa học dữ liệu.
Ngoài ra, tụi em phân tích và phân loại các mơ hình và dịch vụ đã có về phân tích

dữ liệu lớn, dựa trên các mơ hình dịch vụ được hỗ trợ của họ.
Sự phát triển và tích hợp liên tục của lưu trữ dữ liệu, tính tốn, thiết bị kỹ thuật số
và mạng đã tạo ra một môi trường phong phú cho sự phát triển bùng nổ của Dữ liệu
lớn cũng như các công cụ mà qua đó dữ liệu được tạo ra, chia sẻ, và phân tích.
Ngồi 4V (Volume, Velocity, Variety and Veracity) (Dung lượng, Vận tốc, Độ đa
dạng và Độ chính xác), điều quan trọng là phải xem xét một tính năng bổ sung của
Dữ liệu lớn là Giá trị (Value). Giá trị thu được bằng cách phân tích Dữ liệu lớn và
trích xuất từ chúng các mơ hình, xu hướng và mơ hình kiến thức ẩn bằng cách sử
dụng các thuật tốn và kỹ thuật phân tích dữ liệu thơng minh. Phương pháp khoa
học dữ liệu phải có khả năng phân tích Dữ liệu lớn và trích xuất các tính năng mà
chúng ta khơng biết. Những tính năng đã học này giúp chúng ta cải thiện giá trị của
dữ liệu sẽ giúp hiểu rõ hơn về hiện tượng và hành vi, tối ưu hóa các quy trình và cải
thiện máy móc, kinh doanh và khám phá khoa học.
Trong thực tế, các cơng cụ phân tích dữ liệu lớn cho phép các nhà khoa học dữ liệu

Trang 12


khám phá các mối tương quan thông qua việc phân tích lượng dữ liệu khổng lồ từ
nhiều nguồn khác nhau thuộc các loại khác nhau.
Trong vài năm qua, chúng ta đã chứng kiến sự xuất hiện lớn của Khoa học dữ liệu
lớn trong các ứng dụng thực tế khác nhau như tối ưu hóa kinh doanh, giao dịch tài
chính, phân tích dữ liệu chăm sóc sức khỏe và phân tích mạng xã hội
Một báo cáo toàn cầu của McKinsey đã mô tả Dữ liệu lớn là Dữ liệu dữ liệu có quy
mơ, phân phối, tính đa dạng và / hoặc tính kịp thời yêu cầu sử dụng các kiến trúc và
phân tích kỹ thuật mới để cho phép hiểu biết mở khóa các nguồn giá trị kinh doanh
mới. Tuy nhiên, gần đây chúng tơi đã chứng kiến một làn sóng nền tảng xử lý Big
Data mới dành riêng cho các ngành cụ thể như xử lý dữ liệu SQL có cấu trúc (ví dụ:
Hive, Impala, Presto), xử lý đồ thị quy mơ lớn (ví dụ: Neo4j, Giraph, Graphlab,
GraphX), dữ liệu xử lý luồng quy mơ lớn (ví dụ: Storm, Heron, Flink, Samza,

Kafka) và học máy và phân tích dữ liệu (Pig, Mahout, Spark MLib, Azure ML).
Các kỹ thuật và công nghệ của Khoa học dữ liệu lớn đã có thể thâm nhập vào tất cả
các khía cạnh của lĩnh vực kinh doanh và nghiên cứu. Từ doanh nghiệp kinh doanh
hiện đại đến lựa chọn lối sống của công dân kỹ thuật số ngày nay, những hiểu biết
về phân tích Dữ liệu lớn đang thúc đẩy những thay đổi và cải tiến trong mọi lĩnh
vực. Tụi em tóm tắt những đóng góp chính của nội dung này như sau:
-

Tụi em phân tích các tính năng chính và các khối xây dựng của các hệ thống

phần mềm để hỗ trợ khoa học Dữ liệu lớn và hệ hỗ trợ quyết định như một phần
mềm cho các nhà khoa học dữ liệu và người dùng phổ thông.
-

Tụi em xác định một tập hợp các u cầu chính để đạt được hiệu quả tầm

nhìn về việc cung cấp phân tích Dữ liệu lớn dưới dạng dịch vụ.
-

Tụi em phân tích và đánh giá ưu nhược điểm các khung và kiến trúc phần

mềm cần thiết để tìm kiếm và lựa chọn kiến trúc phù hợp cho hệ thống.
-

Tụi em thực hiện các giải pháp thực tế về việc xây dựng Hệ thống dữ liệu lớn

để hỗ trợ trong việc phân tích và xử lý dữ liệu.

Trang 13



-

Tụi em thực hiện các giải pháp thực tế về việc áp dụng Hệ thống dữ liệu lớn

kết hợp với Hệ thống máy học trong bài toán Hệ thống gợi ý.

Trang 14


CHƯƠNG 1
1.1

TỔNG QUAN ĐỀ TÀI

Mục tiêu và phạm vi
1.1.1

Mục tiêu
-

Tìm hiểu các ưu điểm, nhược điểm của các hệ thống dữ liệu
lớn hiện tại.

-

Nghiên cứu các công cụ hỗ trợ làm data warehouse, data
processing, ETL hiện tại có trên thị trường.

-


Thiết kế hệ thống dữ liệu lớn phù hợp với yêu cầu phục vụ
hệ thống máy học.

-

Xây dựng hệ thống dữ liệu lớn phù hợp.

-

Tìm hiểu các ưu điểm, nhược điểm của các hệ thống
khuyến nghị (Recommender System)

-

Nghiên cứu các phương pháp,giải thuật và các cơng thức
tốn học phù hợp nhất cho hệ thống khuyến nghị

1.1.2

Xây dựng hệ thống khuyến nghị phù hợp

Phạm vi

Các hệ thống dữ liệu lớn đám mây (cloud), các hệ thống dữ liệu lớn tại
chỗ (on-premise) của các công ty vừa và nhỏ, các nền tảng mã nguồn
mỡ hỗ trợ dữ liệu lớn.
Các hệ thống khuyến nghị, các phương pháp để tiếp cận và thử
nghiệm với các hệ thống dữ liệu lớn


1.2

Nội dung thực hiện
Mục tiêu của đề tài “Xây dựng DataLake hỗ trợ gợi ý tập khách hàng
trong ngành bán lẻ”:
-

Tìm hiểu về Dữ liệu lớn, các khái niệm chuyên ngành.

-

Tìm hiểu về Hệ thống dữ liệu lớn, các dịch vụ thương mại

Trang 15


có trên thị trường.
-

Nghiên cứu các yếu tố, thành phần cấu trúc Hệ thống dữ
liệu lớn

-

Xây dựng Hệ thống dữ liệu lớn

-

Tìm hiểu về hệ thống khuyến nghị, các khái niệm chuyên
ngành


-

Tìm hiểu về hệ thống khuyến nghị, các dịch vụ thương mại
có trên thị trường.

-

Nghiên cứu các yếu tố, thành phần cấu trúc,các giải thuật
và công thức phù hợp để áp dụng cho hệ thống khuyến nghị

-

Xây dựng Hệ thống khuyến nghị

Trang 16


CHƯƠNG 2

DỮ LIỆU LỚN LÀ GÌ, CÁC KHÁI NIỆM CHUYÊN

NGÀNH CẦN LÀM RÕ
2.1

Khảo sát thực trạng

Ngày nay, dường như mọi người đang nói về thuật ngữ dữ liệu lớn. Tuy
nhiên, phần lớn trong số họ khơng chắc chắn đó là gì và họ sẽ tận dụng
tối đa nó như thế nào. Ngồi một vài cơng ty, hầu hết trong số họ vẫn còn

bối rối về khái niệm này và chưa sẵn sàng áp dụng ý tưởng này. Ngay cả
khi chúng ta nghe thấy thuật ngữ dữ liệu lớn, rất nhiều câu hỏi xuất hiện
trong đầu chúng ta. Điều rất quan trọng để hiểu những khái niệm này.
Những câu hỏi này bao gồm:
-

Dữ liệu lớn là gì?

-

Tại sao có q nhiều sự cường điệu về nó?

-

Nó chỉ có nghĩa là khối lượng dữ liệu khổng lồ hoặc có cái gì
khác cho nó?

-

Liệu dữ liệu lớn có bất kỳ đặc điểm nào và đây là những gì?

-

Tại sao chúng ta cần kiến trúc sư dữ liệu lớn và những cân
nhắc thiết kế chúng ta phải xem xét để kiến trúc sư bất kỳ giải
pháp dữ liệu lớn nào?

Trong chương này, tụi em sẽ tập trung vào việc trả lời những câu hỏi này
và xây dựng một nền tảng vững chắc để tìm hiểu thế giới của thế giới dữ


Trang 17


liệu lớn. Chủ yếu, tụi em sẽ đề cập đến các chủ đề sau:

2.2

-

Dữ liệu lớn.

-

Các đặc điểm của dữ liệu lớn.

-

Các cân nhắc thiết kế khác nhau cho các giải pháp dữ liệu lớn.

-

Thuật ngữ chính được sử dụng trong thế giới dữ liệu lớn.

Dữ liệu lớn là gì?
Nếu chúng ta có một định nghĩa đơn giản hơn, về cơ bản nó có thể được
coi là một khối lượng dữ liệu khổng lồ không thể lưu trữ và xử lý bằng
cách sử dụng phương pháp truyền thống. Vì dữ liệu này có thể chứa
thơng tin có giá trị, nó cần được xử lý trong một khoảng thời gian ngắn.
Thông tin có giá trị này có thể được sử dụng để thực hiện các phân tích
dự đốn, cũng như cho tiếp thị và nhiều mục đích khác. Nếu chúng ta sử

dụng phương pháp truyền thống, chúng ta sẽ không thể hoàn thành nhiệm
vụ này trong khung thời gian nhất định, vì khả năng lưu trữ và xử lý sẽ
khơng đủ cho các loại nhiệm vụ này.
Đó là một định nghĩa đơn giản hơn để hiểu khái niệm dữ liệu lớn. Phiên
bản chính xác hơn như sau:
"Dữ liệu lớn là dữ liệu có khối lượng lớn, liên quan đến hệ thống xử
lý, với nhiều dữ liệu có cấu trúc và khơng cấu trúc có chứa các mẫu dữ
liệu khác nhau được phân tích."
Từ các mẫu lưu lượng truy cập và tải nhạc, đến lịch sử web và hồ sơ y tế,
dữ liệu được ghi lại, lưu trữ và phân tích để cho phép công nghệ và dịch
vụ tạo ra sản phẩm có ý nghĩa mà thế giới dựa vào mỗi ngày. Nếu chúng
tôi chỉ giữ dữ liệu mà không xử lý dữ liệu hoặc nếu chúng tôi không lưu
trữ dữ liệu, coi đó là khơng có giá trị, điều này có thể gây bất lợi cho

Trang 18


công ty.
Bạn đã bao giờ xem YouTube đang gợi ý cho bạn những video mà bạn
có khả năng xem nhiều nhất chưa? Google đang phân phát quảng cáo địa
phương cho bạn như thế nào, nhắm mục tiêu cụ thể đến bạn như những
quảng cáo bạn sẽ mở hoặc sản phẩm bạn đang tìm kiếm? Các cơng ty này
đang giữ tất cả các hoạt động bạn làm trên trang web của họ và sử dụng
chúng cho trải nghiệm người dùng tốt hơn, cũng như vì lợi ích của họ, để
tạo doanh thu. Có rất nhiều ví dụ có sẵn của loại hành vi này và nó đang
gia tăng khi ngày càng nhiều công ty nhận ra sức mạnh của dữ liệu. Điều
này đặt ra một thách thức cho các nhà nghiên cứu công nghệ: đưa ra các
giải pháp mạnh mẽ và hiệu quả hơn có thể đáp ứng các thách thức và yêu
cầu mới.
Bây giờ, khi chúng ta có một số hiểu biết về dữ liệu lớn là gì, chúng ta sẽ

tiến lên phía trước và thảo luận về các đặc điểm khác nhau của nó.

2.3

Đặc điểm của dữ liệu lớn
Đây cũng được gọi là kích thước của dữ liệu lớn. Năm 2001, Doug Laney
lần đầu tiên trình bày cái được gọi là ba Vs của dữ liệu lớn để mô tả một
số đặc điểm làm cho dữ liệu lớn khác với xử lý dữ liệu khác. Ba Vs này
là khối lượng, vận tốc và sự đa dạng. Đây là thời đại của sự tiến bộ công
nghệ và vô số nghiên cứu đang diễn ra. Kết quả của việc đạt được và tiến
bộ này, ba Vs này đã trở thành sáu Vs của dữ liệu lớn như bây giờ. Nó
cũng có thể tăng trong tương lai. Cho đến nay, sáu Vs của dữ liệu lớn là
khối lượng, vận tốc, sự đa dạng, tính xác thực, tính biến đổi và giá trị,
như được minh họa trong sơ đồ sau. Những đặc điểm này sẽ được thảo

Trang 19


luận chi tiết sau trong chương này.

Hình 1: Đặc điểm của dữ liệu lớn (Big Data)

Trang 20


Các kích thước bộ nhớ máy tính khác nhau được liệt kê trong bảng sau để
cho bạn ý tưởng về các chuyển đổi giữa các đơn vị khác nhau. Nó sẽ cho
bạn hiểu kích thước của dữ liệu trong các ví dụ sắp tới trong chương này:

1 Bit


Binary digit

8 Bits

1 byte

1,024 Bytes

1 KB (kilobyte)

1,024 KB

1 MB (megabyte)

1,024 MB

1 GB (gigabyte)

1,024 GB

1 TB (terabyte)

1,024 TB

1 PB (petabyte)

1,024 PB

1 EB (exabyte)


1,024 EB

1 ZB (zettabyte)

1,024 ZB

1 YB (yottabyte)

1,024 YB

1 brontobyte

1,024 brontobyte

1 geopbyte

Trang 21


2.3.1 Dung lượng
Trong những năm trước, dữ liệu của công ty chỉ đề cập đến dữ liệu được
tạo bởi nhân viên của họ. Bây giờ, khi việc sử dụng công nghệ tăng lên,
nó khơng chỉ là dữ liệu được tạo bởi nhân viên mà còn là dữ liệu được
tạo ra bởi các máy được sử dụng bởi các công ty và khách hàng của họ.
Ngoài ra, với sự phát triển của phương tiện truyền thông xã hội và các tài
nguyên internet khác, mọi người đang đăng và tải lên rất nhiều nội dung,
video, hình ảnh, tweet, v.v. Chỉ tưởng tượng thôi; dân số thế giới là 7 tỷ
và gần 6 tỷ trong số họ có điện thoại di động. Bản thân một chiếc điện
thoại di động chứa nhiều cảm biến, như máy đo con quay, tạo dữ liệu cho

từng sự kiện, hiện đang được thu thập và phân tích.
Khi chúng ta nói về khối lượng trong bối cảnh dữ liệu lớn, đó là một
lượng dữ liệu khổng lồ đối với hệ thống xử lý không thể được thu thập,
lưu trữ và xử lý bằng các phương pháp truyền thống. Đó là dữ liệu còn lại
đã được thu thập và truyền dữ liệu liên tục được tạo.
Lấy ví dụ về Facebook. Họ có 2 tỷ người dùng hoạt động liên tục sử
dụng trang mạng xã hội này để chia sẻ trạng thái, ảnh, video, nhận xét về
bài đăng, lượt thích, khơng thích và nhiều hoạt động khác của họ. Theo
số liệu thống kê do Facebook cung cấp, 600 TB dữ liệu hàng ngày đang
được đưa vào cơ sở dữ liệu của Facebook. Biểu đồ sau đây biểu thị dữ
liệu đã có trong những năm trước, tình hình hiện tại và nơi nó sẽ đến

Trang 22


trong tương lai:

Hình 2: Tăng trưởng dữ liệu trong quá khứ, hiện tại,tương lai
2.3.2 Vận tốc
Vận tốc là tốc độ tạo ra dữ liệu hoặc tốc độ dữ liệu đến. Nói cách đơn
giản hơn, chúng ta có thể gọi nó là dữ liệu chuyển động. Hãy tưởng
tượng lượng dữ liệu Facebook, YouTube hoặc bất kỳ trang web mạng xã
hội nào đang nhận được mỗi ngày. Họ phải lưu trữ nó, xử lý nó và bằng
cách nào đó sau đó có thể lấy nó. Dưới đây là một vài ví dụ về việc dữ
liệu tăng nhanh như thế nào:
-

Sàn giao dịch chứng khoán New York thu được 1 TB dữ liệu
trong mỗi phiên giao dịch.


-

120 giờ video đang được tải lên YouTube mỗi phút.

-

Dữ liệu được tạo ra bởi những chiếc xe hiện đại; họ có gần 100
cảm biến để theo dõi từng vật phẩm từ nhiên liệu và áp suất

Trang 23


×