1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng kho dữ liệu trên nền tảng azure và phân tích hoạt động cho hệ thống quản lý cửa hàng quần áo

50 10 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 đề Xây Dựng Kho Dữ Liệu Trên Nền Tảng Azure Và Phân Tích Hoạt Động Cho Hệ Thống Quản Lý Cửa Hàng Quần Áo
Người hướng dẫn TS. Phan Đình Vấn
Trường học Đại học Kinh tế - Đại học Đà Nẵng
Chuyên ngành Hệ thống thông tin quản lý
Thể loại báo cáo thực tập
Thành phố Bình Định
Định dạng
Số trang 50
Dung lượng 3,74 MB

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

Nội dung

Nhờ có sự chỉ dẫn và động viên của các thầy cô, chúng em đã có thể hoàn thành báo cáo thực tập nghề nghiệp với tên đề tài “Xây dựng kho dữ liệu trên nền tảng Azure và phân tích hoạt động

Trang 1

TRƯỜNG ĐẠI HỌC KINH TẾ

KHOA THỐNG KÊ – TIN HỌC

BÁO CÁO THỰC TẬP NGHỀ NGHIỆP

NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ

CHUYÊN NGÀNH QUẢN TRỊ HỆ THỐNG THÔNG TIN VÀ TIN HỌC

Đơn vị thực tập : TMA Solution Bình Định

Giảng viên hướng dẫn : TS Phan Đình Vấn

Trang 2

LỜI CẢM ƠN

Để hoàn thành báo cáo thực tập nghề nghiệp này, trước tiên chúng em xin gửi lời cảm ơn chân thành đến các quý thầy, cô giảng viên khoa Thống kê - Tin học, trường Đại học Kinh tế - Đại học Đà Nẵng đã tạo điều kiện và hỗ trợ chúng em trong quá trình học tập

và thực tập Nhờ có sự chỉ dẫn và động viên của các thầy cô, chúng em đã có thể hoàn

thành báo cáo thực tập nghề nghiệp với tên đề tài “Xây dựng kho dữ liệu trên nền tảng Azure và phân tích hoạt động cho hệ thống quản lý cửa hàng quần áo”

Tiếp theo, chúng em xin gửi lời cảm ơn đến quý Công ty TNHH Giải pháp Phần mềm Tường Minh Bình Định, nơi chúng em đã được thực tập Chúng em xin cảm ơn ban lãnh đạo công ty đã tạo cơ hội cho chúng em được làm việc trong một môi trường chuyên nghiệp và thân thiện Chúng em cũng xin cảm ơn các anh chị cán bộ, nhân viên phòng Data Science đã giúp đỡ chúng em trong dự án và công việc Nhờ có sự hướng dẫn và chia sẻ của các anh chị, chúng em đã có được những kinh nghiệm và bài học thực tiễn rất bổ ích

Đặc biệt, chúng em xin gửi lời cảm ơn chân thành và sâu sắc nhất đến thầy TS.Phan Đình Vấn - Giảng viên hướng dẫn và anh Nguyễn Hoàng Vũ Thân - người đã trực tiếp hướng dẫn tại công ty đã theo dõi quá trình thực tập của chúng em, luôn sẵn sàng giải đáp những thắc mắc và khó khăn Đã dành cho chúng em những lời khuyên và góp ý quý giá

để hoàn thiện bài báo cáo này

Trong quá trình thực tập và thực hiện báo cáo, vì kiến thức còn nhiều hạn chế nên chúng em không thể tránh khỏi những sai sót, kính mong nhận được sự góp ý của quý thầy

cô, quý công ty để chúng em có thể rút kinh nghiệm và chỉnh sửa

Chúng em xin chân thành cảm ơn!

Trang 3

LỜI CAM ĐOAN

Chúng em xin cam đoan bài báo cáo “Xây dựng kho dữ liệu trên nền tảng Azure

và phân tích hoạt động cho hệ thống quản lý cửa hàng quần áo” là kết quả nghiên cứu

của nhóm chúng em dưới sự hướng dẫn của giảng viên hướng dẫn TS.Phan Đình Vấn và anh Nguyễn Hoàng Vũ Thân tại Công ty TMA Bình Định

Báo cáo thực tập này là sản phẩm mà nhóm chúng em đã nổ lực nghiên cứu trong suốt thời gian thực tập tại Công ty TMA Bình Định Chúng em cam kết tất cả những thông tin được cung cấp trong báo cáo thực tập nghề nghiệp này là chính xác, trung thực Chúng

em xin chịu hoàn toàn mọi trách nhiệm, kỷ luật của nhà trường nếu có vấn đề nào xảy ra

Trang 4

MỤC LỤC

LỜI CẢM ƠN iii

LỜI CAM ĐOAN iv

MỤC LỤC v

DANH MỤC HÌNH ẢNH vii

DANH MỤC CÁC TỪ VIẾT TẮT x

LỜI MỞ ĐẦU 1

CHƯƠNG 1 GIỚI THIỆU VỀ ĐƠN VỊ THỰC TẬP TMA BÌNH ĐỊNH VÀ ĐỀ TÀI 2 1.1 Giới thiệu tổng quát về doanh nghiệp thực tập TMA Bình Định 2

1.1.1 Giới thiệu về công ty TMA Bình Định 2

1.1.2 Lĩnh vực kinh doanh 2

1.2 Giới thiệu về đề tài xây dựng kho dữ liệu trên nền tảng Azure và phân tích hoạt động cho hệ thống quản lý cửa hàng quần áo 3

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT HỖ TRỢ XÂY DỰNG KHO DỮ LIỆU TRÊN NỀN TẢNG AZURE 5

2.1 Giới thiệu về công việc Data Engineer 5

2.1.1 Khái niệm 5

2.1.2 Công việc của Data Engineer trong dự án phân tích dữ liệu 5

2.1.3 Kiến thức, kỹ năng cần có của Data Engineer 6

2.1.4 Con đường phát triển sự nghiệp Data Engineer 6

2.2 Giới thiệu về Database và các kỹ thuật xây dựng Database cho dự án 6

2.2.1 Giới thiệu về Database 6

2.2.2 Hệ quản trị Database (DBMS) 7

2.2.3 Các kỹ thuật mô phỏng dữ liệu cho Database 8

Trang 5

2.3 Giới thiệu về Data Lake 9

2.4 Giới thiệu về Data Warehouse 9

2.5 Giới thiệu về ETL pipeline 9

2.6 Giới thiệu về điện toán đám mây và nền tảng Azure 10

2.6.1 Khái niệm 10

2.6.2 Các dịch vụ Azure được sử dụng trong dự án 10

CHƯƠNG 3 ỨNG DỤNG CÁC DỊCH VỤ TRÊN NỀN TẢNG AZURE ĐỂ XÂY DỰNG KHO DỮ LIỆU PHỤC VỤ PHÂN TÍCH HOẠT ĐỘNG CHO HỆ THỐNG QUẢN LÝ CỬA HÀNG QUẦN ÁO 13

3.1 Quy trình xây dựng Database 13

3.2 Quy trình xây dựng kho dữ liệu trên Azure 21

3.3 Trực quan hóa dữ liệu 33

3.4 Kết quả đạt được 35

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

TÀI LIỆU THAM KHẢO 39

CHECK LIST CỦA BÁO CÁO 41

Trang 6

DANH MỤC HÌNH ẢNH

Hình 1.1.1 Công ty TMA Solutions Bình Định 2

Hình 2.5.1 Các bước để xây dựng ETL pipeline 9

Hình 2.6.1 Các thành phần của Azure Synapse Analytics 12

Hình 3.1.1 Thiết kế bảng Branch 13

Hình 3.1.2 Thiết kế bảng Category 13

Hình 3.1.3 Thiết kế bảng Customer 13

Hình 3.1.4 Thiết kế bảng Employee 14

Hình 3.1.5 Thiết kế bảng Inventory 14

Hình 3.1.6 Thiết kế bảng Order Detail 14

Hình 3.1.7 Thiết kế bảng Orders 15

Hình 3.1.8 Thiết kế bảng Product 15

Hình 3.1.9 Thiết kế bảng Shipment 15

Hình 3.1.10 Thiết kế bảng Supplier 16

Hình 3.1.11 Thiết kế bảng Supplier Tracking 16

Hình 3.1.12 Thiết kế bảng Tracking Detail 16

Hình 3.1.13 Dữ liệu cho bảng Tracking Detail 17

Hình 3.1.14 Dữ liệu cho bảng Customer 17

Hình 3.1.15 Dữ liệu cho bảng Employee 17

Hình 3.1.16 Dữ liệu cho bảng Inventory 18

Hình 3.1.17 Dữ liệu cho bảng Order Detail 18

Hình 3.1.18 Dữ liệu cho bảng Orders 18

Hình 3.1.19 Dữ liệu cho bảng Product 19

Hình 3.1.20 Dữ liệu cho bảng Category 19

Hình 3.1.21 Dữ liệu cho bảng Shipment 19

Hình 3.1.22 Dữ liệu cho bảng Supplier 20

Hình 3.1.23 Dữ liệu cho bảng Supplier Tracking 20

Hình 3.1.24 Dữ liệu cho bảng Tracking Detail 20

Trang 7

Hình 3.2.1 Quy trình xây dựng kho dữ liệu trên Azure 21

Hình 3.2.2 Tạo tài khoản Storage 21

Hình 3.2.3 Tạo nơi lưu trữ containers 21

Hình 3.2.4 Tạo Data Factory 22

Hình 3.2.5 Thiết lập Integration Runtime 22

Hình 3.2.6 Chọn dữ liệu nguồn 22

Hình 3.2.7 Chọn dữ liệu đích 23

Hình 3.2.8 Định dạng tệp 23

Hình 3.2.9 Cài đặt sao chép dữ liệu 23

Hình 3.2.10 Kiểm tra dữ liệu nguồn và dữ liệu đích 24

Hình 3.2.11 Quá trình chạy pipeline 24

Hình 3.2.12 File parquet ở Azure Data Lake Gen 2 24

Hình 3.2.13 Schema datawarehouse 25

Hình 3.2.14 Tạo Dedicated SQL pool 25

Hình 3.2.15 Tạo bảng dữ liệu trong Dedicated SQL pool 25

Hình 3.2.16 Dataset cho dữ liệu ở Data Lake Store Gen 2 26

Hình 3.2.17 Linked service liên kết với Data Lake Gen 2 26

Hình 3.2.18 Dataset cho 12 bảng dữ liệu nguồn 27

Hình 3.2.19 Dataset cho dữ liệu ở Dedicated SQL pool 27

Hình 3.2.20 Linked service liên kết với Dedicated SQL pool 28

Hình 3.2.21 Dataset cho 10 bảng dữ liệu đích 28

Hình 3.2.22 Data flows cho 10 bảng dữ liệu 29

Hình 3.2.23 Data flow cho bảng Dim_Branch 29

Hình 3.2.24 Data flow cho bảng Dim_Customer 29

Hình 3.2.25 Data flow cho bảng Dim_Employee 30

Hình 3.2.26 Data flow cho bảng Fact_Import 30

Trang 8

Hình 3.2.29 Data flow cho bảng Dim_Product 31

Hình 3.2.30 Data flow cho bảng Dim_Shipment 32

Hình 3.2.31 Data flow cho bảng Dim_Supplier 32

Hình 3.2.32 Data flow cho bảng Dim_Time 32

Hình 3.2.33 Pipeline tải dữ liệu 33

Hình 3.3.1 Dashboard tồn kho 33

Hình 3.3.2 Dashboard bán hàng 34

Trang 9

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

ETL : Extract - Transform – Load

ELT : Extract – Load - Transform

BI : Business Intelligence

SQL : Structured Query Language

T-SQL : Transact - Structured Query Language NoSQL : Not Only Structured Query Language

AWS : Amazon Web Services

DBMS : Database Management System

HTTP : Hypertext Transfer Protocol

HTTPS : Hypertext Transfer Protocol Secure

OLAP : Online Analytical Processing

REST : Representational State Transfer

API : Application Programming Interface

DB : Database

ML : Machine Learning

DW : DataWarehouse

Trang 10

LỜI MỞ ĐẦU

1 Mục tiêu của đề tài

- Xây dựng kho dữ liệu trên nền tảng Azure, nhằm cung cấp thông tin về nhân viên, khách hàng, sản phẩm và các chi nhánh cho các nhà quản lý, nhà nghiên cứu và các bên liên quan để khai thác, phân tích và trình bày dữ liệu

- Để xây dựng kho dữ liệu, đề tài này sẽ thực hiện các bước thu thập, làm sạch, chuẩn hóa, tích hợp và lưu trữ dữ liệu trên nền tảng Azure Kết quả đề tài này hướng tới là

có được một kho dữ liệu hoàn chỉnh, an toàn và dễ sử dụng giúp cho việc đánh giá, cải thiện hệ thống quản lý cửa hàng quần áo trở nên dễ dàng và chính xác hơn

2 Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu: Dữ liệu này sử dụng ngôn ngữ lập trình python tạo ra các dữ liệu giả lập của cửa hàng quần áo như khách hàng, nhân viên, chi nhánh và một vài

dữ liệu thực tế như sản phẩm được lấy từ website yody.vn

Đề tài nghiên cứu về các hoạt động của hệ thống quản lý cửa hàng quần áo, đặc biệt

là các cửa hàng quần áo có nhu cầu quản lý hoạt động kinh doanh một cách hiệu quả và tiết kiệm chi phí

- Phạm vi nghiên cứu: Nghiên cứu hoạt động của hệ thống quản lý cửa hàng quần áo

3 Kết cấu của đề tài

Đề tài được tổ chức gồm phần mở đầu, 3 chương nội dung và phần kết luận

- Mở đầu

- Chương 1: Giới thiệu về đơn vị thực tập TMA Bình Định và đề tài

- Chương 2: Cơ sở lý thuyết hỗ trợ xây dựng kho dữ liệu trên nền tảng Azure

- Chương 3: Ứng dụng các dịch vụ trên nền tảng Azure để xây dựng kho dữ liệu phục

vụ phân tích hoạt động cho hệ thống quản lý cửa hàng quần áo

- Kết luận và hướng phát triển

Trang 11

CHƯƠNG 1 GIỚI THIỆU VỀ ĐƠN VỊ THỰC TẬP TMA BÌNH ĐỊNH VÀ

ĐỀ TÀI

1.1 Giới thiệu tổng quát về doanh nghiệp thực tập TMA Bình Định

1.1.1 Giới thiệu về công ty TMA Bình Định

- Tên doanh nghiệp: Công ty TNHH Giải pháp Phần mềm Tường Minh Bình Định (TMA Solutions Bình Định)

Hình 1.1.1 Công ty TMA Solutions Bình Định

- Địa chỉ: 12 Đại lộ Khoa học, Khu vực 2, P Ghềnh Ráng, TP Quy Nhơn, Bình Định

- Điện thoại liên hệ: (0256) 389 8979

- Email: contact@tma-binhdinh.vn

- Website: https://www.tma-binhdinh.vn/

Được thành lập vào năm 1997, TMA là tập đoàn công nghệ hàng đầu Việt Nam với

4000 kỹ sư và khách hàng là tập đoàn công nghệ cao hàng đầu thế giới từ 30 quốc gia TMA hiện có 7 chi nhánh tại Việt Nam (6 tại Tp.HCM và 1 tại Tp Quy Nhơn) cùng 6 chi nhánh tại nước ngoài (Mỹ, Úc, Canada, Đức, Nhật, Singapore)

Tầm nhìn: Trở thành một trong những công ty phần mềm hàng đầu thế giới, cung

cấp các giải pháp và dịch vụ chất lượng cao cho khách hàng

Sứ mệnh: Trở thành sứ mệnh trung tâm phần mềm và công nghệ hàng đầu tại miền

Trung, góp phần quan trọng đưa Thung lũng sáng tạo Quy Nhơn trở thành điểm đến của công nghệ 4.0 tại Việt Nam

1.1.2 Lĩnh vực kinh doanh

Trang 12

Đi cùng với vấn đề tận dụng dữ liệu là yêu cầu về thu thập, lưu trữ và xử lý dữ liệu một cách hiệu quả Đây là một trong những vấn đề quan trọng trong ngành dữ liệu, do

đó ngày càng có nhiều công nghệ ra đời nhằm đem lại những giải pháp tối ưu phục vụ cho những nhu cầu khác nhau của doanh nghiệp Một trong những công nghệ phổ biến hiện nay chính là điện toán đám mây Điện toán đám mây mang lại cho doanh nghiệp giải pháp thực hiện các tác vụ với dữ liệu từ quá trình thu thập đến quá trình phân tích một cách an toàn, tối ưu và tiết kiệm chi phí

Lĩnh vực mà đề tài hướng đến là thời trang Sản phẩm thời trang là loại sản phẩm

đa dạng có xu hướng thay đổi theo mùa, theo năm, theo các sự kiện, cũng như bị ảnh hưởng bởi các yếu tố như điện ảnh, người nổi tiếng, xu hướng thời trang,… Việc nắm

Trang 13

bắt xu hướng thị trường và nắm bắt tâm lý khách hàng là hai trong những mục tiêu hàng đầu đối với doanh nghiệp

Với đề tài này, chúng em mong muốn thực hiện đầy đủ quy trình của một dự án phân tích dữ liệu Hệ thống cửa hàng bán quần áo được đề cập trong đề tài là một hệ thống cửa hàng mô phỏng Đây là một chuỗi cửa hàng quần áo lớn, có 10 chi nhánh trên khắp địa bàn thành phố Đà Nẵng Đề tài bắt đầu từ việc xây dựng database trên Microsoft SQL Server để thu thập dữ liệu từ hoạt động kinh doanh của chuỗi cửa hàng

Dữ liệu sẽ được lưu trữ, xử lý trên nền tảng điện toán đám mây Microsoft Azure Cuối cùng, dữ liệu sẽ được phân tích để lấy được những thông tin hữu ích, phục vụ cho hoạt động kinh doanh của doanh nghiệp

Trang 14

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT HỖ TRỢ XÂY DỰNG KHO DỮ LIỆU

2.1.2 Công việc của Data Engineer trong dự án phân tích dữ liệu

Trong quá trình hoạt động, các tổ chức vừa và lớn thường tạo ra nhiều dữ liệu, đặc biệt là các tổ chức về y tế, bán lẻ và tài chính Việc ra quyết định dựa trên dữ liệu mang lại nhiều lợi ích cho tổ chức Tuy nhiên lượng dữ liệu này thường đến từ nhiều nguồn khác nhau, thuộc nhiều loại khác nhau (dữ liệu có cấu trúc, không cấu trúc, bán cấu trúc) và thường chưa sẵn sàng để người Data Scientist hay BI sử dụng (dữ liệu bị dư thừa, chưa đúng định dạng để phân tích, chứa giá trị null,…) Data Engineer đóng vai trò quản lý lượng dữ liệu này, giúp dữ liệu dễ dàng truy cập và tối ưu hóa quá trình sử dụng dữ liệu của tổ chức

Data Engineer xây dựng các data pipeline (đường ống dữ liệu) để tập hợp dữ liệu từ nhiều nguồn khác nhau, tích hợp dữ liệu để lưu trữ tại Data Warehouse hay Data Lake của tổ chức, ngoài ra trong một tổ chức thường có nhiều phòng ban, mỗi phòng có nhu cầu về dữ liệu khác nhau, nên các data pipeline cũng làm nhiệm vụ lấy dữ liệu từ Data Warehouse/Data Lake và đưa bộ dữ liệu phù hợp tới các phòng ban

Trong quá trình dữ liệu đi từ nguồn ban đầu đến đích (nơi sử dụng dữ liệu), dữ liệu trải qua quá trình như: Lọc (loại bỏ các dữ liệu không cần thiết hay không đảm bảo các tiêu chí đã đặt ra), Tích hợp (Kết hợp dữ liệu từ nhiều nguồn lại với nhau), Chuẩn hóa (Đưa dữ liệu về cũng một định dạng thống nhất và nhất quán),…

• Data Engineer làm việc với nhiều loại cơ sở dữ liệu khác nhau, từ cơ sở dữ liệu quan hệ đến cơ sở dữ liệu phi quan hệ, từ cơ sở dữ liệu trên đám mây (như AWS) đến cơ sở dữ liệu trên máy chủ (như Oracle) Công việc của Data

Trang 15

Engineer cần dùng các công cụ và ngôn ngữ lập trình khác nhau như Python, Java, Scala, Spark, Hadoop, Kafka,… để xử lý và biến đổi dữ liệu

2.1.3 Kiến thức, kỹ năng cần có của Data Engineer

Những kiến thức và kỹ năng mà một data engineer cần có bao gồm: Database, data warehouse, SQL, ETL/ELT, kiến thức phát triển phần mềm, kiến thức về hạ tầng máy tính, điện toán đám mây, kỹ năng giao tiếp

2.1.4 Con đường phát triển sự nghiệp Data Engineer

Data engineer trải qua nhiều vị trên con đường sự nghiệp của mình

Junior data engineer: Học hỏi, tích lũy kinh nghiệm, công việc xung quanh quá trình sửa lỗi, thực hiện nhiệm vụ đơn giản cho các dự án

Mid-level data engineer: Đóng vai trò định hướng nhiệm vụ cho nhóm nhân viên cấp độ thấp hơn

Senior data engineer: Xây dựng, duy trì hệ thống, mô hình thu thập dữ liệu

Lead data engineer: Phát triển và triển khai các chiến lược để đảm bảo rằng tổ chức của đang sử dụng dữ liệu một cách hiệu quả, chịu trách nhiệm quản lý mối quan hệ với các nhà cung cấp hoặc bên thứ ba khác cung cấp dịch vụ dữ liệu cho công ty

2.2 Giới thiệu về Database và các kỹ thuật xây dựng Database cho dự án

2.2.1 Giới thiệu về Database

Database hay cơ sở dữ liệu là một tập hợp có tổ chức của thông tin có cấu trúc hoặc thường được lưu trữ dưới dạng điện tử trong một hệ thống máy tính Cơ sở dữ liệu thường được kiểm soát bởi hệ quản trị cơ sở dữ liệu (DBMS)

Dữ liệu trong các loại cơ sở dữ liệu phổ biến nhất thường được mô hình hóa thành các hàng và cột trong một loạt bảng để giúp xử lý và truy vấn dữ liệu hiệu quả Sau đó, người ta có thể dễ dàng truy cập, quản lý, sửa đổi, cập nhật, kiểm soát và tổ chức Hầu hết các Database sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) để thiết lập và truy vấn

dữ liệu

Trang 16

Mặc dù các loại cơ sở dữ liệu khác nhau sẽ khác nhau về lược đồ, cấu trúc dữ liệu

và kiểu dữ liệu, nhưng các Database đều bao gồm năm thành phần cơ bản giống nhau sau:

DBMS là chữ viết tắt của Database Management System – Hệ thống quản trị cơ sở

dữ liệu, là một phần mềm hệ thống phục vụ các hoạt động tạo và quản lý các cơ sở dữ liệu, phần mềm hỗ trợ cho người dùng cuối (End Users) có thể tạo, đọc, cập nhật và xóa các dữ liệu trong cơ sở dữ liệu

Những thao tác có thể thực hiện trên một hệ thống quản lý cơ sở dữ liệu cơ bản bao gồm :

• Xác định tổ chức cơ sở dữ liệu: Hỗ trợ người dùng tạo, thay đổi và xóa các định nghĩa xác định tổ chức cơ sở dữ liệu

• Cập nhật dữ liệu: Phần mềm cung cấp quyền truy cập đến người dùng nhằm mục đích hỗ trợ chèn, sửa đổi và xóa dữ liệu khỏi cơ sở dữ liệu

• Khôi phục dữ liệu: Cho phép người sử dụng khôi phục lại dữ liệu đã xóa từ

cơ sở dữ liệu dựa trên những yêu cầu từ người sử dụng

• Quản trị người dùng: Hỗ trợ việc đăng ký tài khoản và giám sát mọi hoạt động của họ nhằm thực thi bảo mật dữ liệu, duy trì tính toàn vẹn dữ liệu và giám sát hiệu suất

Hiện này có những hệ quản trị cơ sở dữ liệu phổ biến sau:

• Hệ quản trị cơ sở dữ liệu Oracle

• Hệ quản trị cơ sở dữ liệu MySQL

• Hệ quản trị cơ sở dữ liệu SQL Server

• Hệ quản trị cơ sở dữ liệu Access

Trang 17

DBMS là một công cụ vô cùng hữu ích dành cho các cá nhân, cơ quan, doanh nghiệp, công ty để dễ dàng quản lý kho dữ liệu lớn của mình Theo xu hướng và sự phát triển công nghệ 4.0 thì DBMS ngày càng đa dạng Với việc công nghệ thông tin ngày càng phát triển thì những phần mềm quản lý cơ sở dữ liệu đang góp vai trò cực kì quan trọng cho các doanh nghiệp thuộc nhiều lĩnh vực

2.2.3 Các kỹ thuật mô phỏng dữ liệu cho Database

a) Web Scraping

Web scraping, web harvesting hay còn gọi là web data extraction là quá trình cào

dữ liệu được sử dụng để trích xuất dữ liệu từ các website Các phần mềm web scraping truy cập vào website bằng giao thức HTTP hoặc bằng web browser để lấy ra các dữ liệu

mà họ quan tâm Quá trình này có thể được thực hiện thủ công bằng cách sử dụng phần mềm, tuy nhiên phần lớn khi nhắc đến web scraping tương đương với quá trình thu thập

dữ liệu tự động được triển khai bằng bot hoặc các web crawler

Đề tài sử dụng 2 công cụ Selenium và Scrapy để thực hiện trích xuất dữ liệu:

• Selenium là công cụ tự động hóa trình duyệt web ban đầu được thiết kế để tự động hóa các ứng dụng web cho mục đích thử nghiệm (testing) Nó hiện được

sử dụng cho nhiều ứng dụng khác như tự động hóa các tác vụ quản trị dựa trên web, tương tác với các nền tảng không cung cấp API, cũng như để thu thập thông tin web (web crawling)

• Scrapy là một thư viện Python được tạo ra để quét và xây dựng các trình thu thập dữ liệu web Nó nhanh chóng, đơn giản và có thể điều hướng qua nhiều trang web mà không mất nhiều công sức

b) Faking data

Faking data là quá trình tạo ra dữ liệu giả (giả mạo) cho cơ sở dữ liệu Dữ liệu giả được tạo mới mục đích mô phỏng, kiểm thử, đánh giá và phát triển ứng dụng Quá trình tạo ra dữ liệu giả thường được thực hiện thông qua công cụ Faker

Faker là một thư viện rất nổi tiếng để tạo dữ liệu giả, với rất nhiều kiểu dữ liệu cho các vấn đề khác nhau như người dùng, công việc, thẻ ngân hàng, Faker được viết trên

Trang 18

đo suy nghĩ nên viết script tạo dữ liệu giả như thế nào vì phần lớn các thông tin giả cần tạo đều đã có sẵn trong thư viện

2.3 Giới thiệu về Data Lake

Dữ liệu ở khắp mọi nơi được Data Engineer đưa vào Database, ban đầu dữ liệu này

sẽ không đi thẳng vào Data Warehouse mà sẽ đi qua Data Lake Nó sẽ chứa các dữ liệu thô dữ liệu này là gần như lấy từ Database qua Nó sử dụng để report như : Báo cáo doanh thu hàng tháng, Lượt mua hàng của khách hàng trong những ngày lễ,…Và dùng cho nhiều mục đích báo cáo khác, người trực tiếp sử dụng Data Lake là các Data Analytics Họ dùng Data Lake để đưa ra các phân tích cho doanh nghiệp

2.4 Giới thiệu về Data Warehouse

Dữ liệu từ Data Lake được chuyển đến nơi tiếp theo ở đây chúng ta gọi là Data Warehouse, Data Warehouse là nơi tập trung tất cả các nguồn dữ liệu đổ về Nhằm giải quyết các vấn đề sai lệch giữa các báo cáo, đảm bảo mọi dữ liệu đều từ một nguồn mà

ra Và data trong Data Warehouse là data sạch

Data Warehouse là nơi tập trung các dữ liệu nhằm phục vụ mục đích báo cáo phân tích và những dữ liệu đã được xử lý Để đẩy dữ liệu từ Data Lake sang Data Warehouse chúng ta vẫn sử dụng ETL

Từ Data Warehouse mình chọn các dữ liệu cần thiết để tạo ra Data Mart sau khi tạo

ra Data Mart, chúng ta kết nối với các công cụ như Visualization để phân tích Data Mart nhằm tạo ra các mô hình đa chiều sử dụng mô hình OLAP

2.5 Giới thiệu về ETL pipeline

Hình 2.5.1 Các bước để xây dựng ETL pipeline

Trang 19

ETL pipeline là một cơ chế mà các quá trình ETL xảy ra ETL là viết tắt của Extract, Transform và Load Pipeline chủ yếu được sử dụng để trích xuất dữ liệu từ một hệ thống nguồn chuyển đổi nó dựa trên các yêu cầu và tải nó vào Data Warehouse chủ yếu cho mục đích phân tích

2.6 Giới thiệu về điện toán đám mây và nền tảng Azure

2.6.1 Khái niệm

Azure là một nền tảng điện toán đám mây của Microsoft phát triển Nền tảng này được các nhà phát triển và các chuyên gia công nghệ thông tin sử dụng và xây dựng, triển khai, quản lý thông qua mạng lưới trung tâm dữ liệu của họ

2.6.2 Các dịch vụ Azure được sử dụng trong dự án

a) Azure Storage

Azure Storage là nền tảng lưu trữ đám mây của Microsoft cho các nhu cầu lưu trữ

dữ liệu hiện đại Azure Storage cho phép lưu trữ nhiều loại dữ liệu trên đám mây với khả năng cao, có thể mở rộng quy mô lớn, bền vững và bảo mật Các loại dữ liệu Azure Storage có thể được truy cập từ bất kỳ đâu trên thế giới qua giao thức HTTP hoặc HTTPS

Azure Storage bao gồm các loại lưu trữ chính sau:

• Azure Blob Storage

• Azure Files Storage

• Azure Queue Storage

• Azure Table Storage

Azure Data Lake Storage là dịch vụ lưu trữ tệp để lưu trữ và phân tích dữ liệu lớn trong các ứng dụng phân tích dữ liệu

• Azure Data Lake Storage Gen1 là bộ lưu trữ siêu quy mô được tối ưu hóa cho các tác vụ phân tích dữ liệu, cho phép thu thập dữ liệu ở mọi kích thước, loại và tốc độ ở một nơi để thực hiện Phân tích hoạt động và tìm kiếm bằng cách sử dụng các khung khác nhau Azure Data Lake Storage Gen 1 có cấu trúc phân

Trang 20

• Azure Data Lake Storage Gen2 là một nền tảng lưu trữ đám mây cho phân tích

dữ liệu lớn, dựa trên Azure Blob Storage Data Lake Storage Gen2 hợp nhất các tính năng của Azure Data Lake Storage Gen1 và Azure Blob Storage Data Lake Storage Gen2 biến Azure Storage thành nền tảng để tạo các kho dữ liệu trên Azure Data Lake Storage Gen2 giúp bạn quản lý lượng lớn dữ liệu một cách hiệu quả

b) Azure Data Factory

Azure Data Factory là một dịch vụ tích hợp dữ liệu đám mây được sử dụng để tổng hợp các dịch vụ lưu trữ, di chuyển và xử lý dữ liệu thành các đường dẫn dữ liệu tự động Data Factory có thể tích hợp dữ liệu từ nhiều nguồn khác nhau, bao gồm cả dữ liệu lớn,

dữ liệu SaaS, bằng cách sử dụng hơn 90 bộ kết nối được tích hợp sẵn Azure Data Factory là một dịch vụ không máy chủ, thanh toán theo yêu cầu và có thể mở rộng theo nhu cầu

Các thành phần của Azure Data Factory:

• Pipeline là một tập hợp các hoạt động được sử dụng để thu thập và xử lý dữ liệu,

tự động hóa các quy trình công việc liên quan đến dữ liệu và có thể chứa nhiều bước, bao gồm các hoạt động ETL Các quy trình trong Azure Data Factory được xây dựng bằng cách sử dụng các thành phần cơ bản như Dataset, Linked Service

và Activity Nó cho phép quản lý các hoạt động dưới dạng một bộ sưu tập thay

vì từng cái một

• Activity là thành phần xác định một hành động cụ thể để thực hiện trên dữ liệu

Có ba loại hoạt động chính: hoạt động di chuyển dữ liệu, hoạt động chuyển đổi

dữ liệu và hoạt động điều khiển

• Mapping Data Flows cho phép người dùng áp dụng các thao tác trích xuất, chuyển đổi và tải dữ liệu dễ dàng hơn bằng cách sử dụng các thao tác kéo và thả trên giao diện người dùng

• Integration Runtime là dịch vụ tính toán và kết nối cho các hoạt động tích hợp

và chuyển dữ liệu trong Azure Data Factory và Azure Synapse pipelines Integration Runtime có ba loại: Azure, Self-hosted và Azure-SSIS, phục vụ cho các môi trường mạng khác nhau

Trang 21

c) Azure Synapse Analytics

Azure Synapse Analytics là một dịch vụ phân tích doanh nghiệp giúp tăng tốc thời gian để hiểu rõ dữ liệu và hệ thống dữ liệu lớn Azure Synapse tập hợp những công nghệ SQL tốt nhất được sử dụng trong kho dữ liệu doanh nghiệp, công nghệ Spark được

sử dụng cho dữ liệu lớn, Data Explorer để phân tích nhật ký và chuỗi thời gian, Đường ống để tích hợp dữ liệu và ETL/ETL cũng như tích hợp sâu với các dịch vụ Azure khác như Power BI, Cosmos DB và Azure ML

Hình 2.6.1 Các thành phần của Azure Synapse Analytics

d) Dedicated SQL Pool (formerly SQL DW)

Dedicated SQL Pool là dịch vụ cung cấp các tính năng lưu trữ phục vụ nhu cầu phân tích dữ liệu trong Azure Synapse Analytics Đây là dịch vụ bao gồm các tài nguyên phân tích được cung cấp khi sử dụng Synapse SQL

Dedicated SQL Pool lưu trữ dữ liệu trong các bảng quan hệ với định dạng lưu trữ theo cột (một cách thức lưu trữ phục vụ cho mục đích phân tích dữ liệu) Định dạng này giảm đáng kể chi phí lưu trữ dữ liệu và cải thiện hiệu suất truy vấn Sau khi dữ liệu được lưu trữ, người dùng có thể chạy phân tích ở quy mô lớn So với các hệ thống cơ

sở dữ liệu truyền thống, các truy vấn phân tích kéo dài trong vài giây thay vì vài phút hoặc vài giờ thay vì vài ngày

Trang 22

CHƯƠNG 3 ỨNG DỤNG CÁC DỊCH VỤ TRÊN NỀN TẢNG AZURE ĐỂ XÂY DỰNG KHO DỮ LIỆU PHỤC VỤ PHÂN TÍCH HOẠT ĐỘNG CHO

HỆ THỐNG QUẢN LÝ CỬA HÀNG QUẦN ÁO

3.1 Quy trình xây dựng Database

Ngày đăng: 12/12/2023, 19:48

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Glints. (n.d.). Database là gì? Phân loại và chức năng cơ bản. Truy cập từ https://glints.com/vn/blog/database-la-gi/ Link
2. Trần Minh Trọng. (31 tháng 5 năm 2021). Hướng dẫn lấy dữ liệu web, Web Crawling với Selenium - Python - WebDrive. Truy cập từ https://sudo.vn/blog/huong-dan-lay-du-lieu-web-web-crawling-voi-selenium-python-webdrive.html Link
3. DiziBrand. (n.d.). DBMS là gì? Chức năng của DBMS (Hệ thống quản trị cơ sở dữ liệu) [Website]. Truy cập từ https://dizibrand.com/dbms/ Link
4. Tuan. (2022, November 20). Tạo dữ liệu giả (dummy data) để test bằng Faker. [Blog post]. Truy cập từ https://tuananalytic.com/tao-du-lieu-gia-dummy-data-de-test-bang-faker/ Link
5. QuanTriMang.com. (n.d.). Cách tạo trình thu thập dữ liệu web cơ bản với Scrapy. Truy cập từ https://quantrimang.com/cong-nghe/tao-trinh-thu-thap-du-lieu-web-voi-scrapy-169701 Link
6. Vietnix.vn. (n.d.). Web scraping là gì? Cách thức hoạt động của Web scraping. Truy cập từ https://vietnix.vn/web-scraping-la-gi/ Link
7. Microsoft. (nd). Giới thiệu về Azure Data Lake Storage. Tìm hiểu của Microsoft. Truy cập từ https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction Link
8. Phung, T. (2018). Tìm hiểu về Microsoft Azure: Azure Storage phần 1. Truy cập từ: https://viblo.asia/p/tim-hieu-ve-microsoft-azure-azure-storage-phan-1-maGK7j0M5j2 Link
9. Bùi, B. H. (2023, January 18). Databricks là gì? Những điều cơ bản cần biết về Databricks. Meey Land. Retrieved. Truy cập từ: https://meeyland.com/chuyen-doi-so/databricks-la-gi-nhung-dieu-co-ban-can-biet/ Link
10. Microsoft. (2020, ngày 9 tháng 12. Azure SQL Data Warehouse is now Azure Synapse Analytics. Truy xuất từ: https://azure.microsoft.com/en-us/blog/azure-sql-data-warehouse-is-now-azure-synapse-analytics/ Link
11. Keepler. (2019, June 4). Introduction to Azure SQL Data Warehouse. Truy xuất từ https://keepler.io/2019/06/introduction-to-azure-sql-data-warehouse/ Link
12. Microsoft. (2023). What is Azure Synapse Analytics ? Azure Synapse Analytics | Microsoft Learn. Truy xuất từ https://learn.microsoft.com/en-us/azure/synapse-analytics/overview-what-is Link
13. Microsoft. (2023). What is dedicated SQL pool (formerly SQL DW) in Azure Synapse Analytics? Azure Synapse Analytics Microsoft Learn. Retrieved from https://learn.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-overview-what-is Link
14. HRchannels. (2023). Con đường trở thành một Data Engineer giỏi. Truy xuất từ https://hrchannels.com/uptalent/con-duong-tro-thanh-mot-data-engineer-gioi.html15.TopViecIT. (2023). Lộ trình thăng tiến Data Engineer. Truy xuấttừ https://topviecit.vn/blog/lo-trinh-thang-tien-data-engineer/ Link

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