NỘI DUNG HỌC PHẦN Chương 1: Tổng quan về lưu trữ và phân tích dữ liệu Chương 2: Cấu trúc dữ liệu hướng đối tượng Chương 3: Khai phá và xử lý dữ liệu thô Chương 4: Kiến trúc cơ sở dữ liệu lớn Chương 5: Phân tích dữ liệu truyền thống Chương 6: Phân tích dữ liệu thông minh
Trang 1LƯU TRỮ PHÂN TÍCH DỮ
LIỆU
Trang 2Tên học phần:
Lưu trữ và phân tích dữ liệu
Tổng lượng kiến thức/ Số tín chỉ: 45 tiết/ 03 tín chỉ
Thi kết thúc học phần (Thi tự luận): 60%
Trang 3 Tiểu luận/ Bài tập lớn:
Nhóm tối đa 5 sinh viên
Đăng ký bài tập lớn trong 04 tuần đầu tiên
Thời gian làm bài tập lớn trong 06 tuần tiếp theo
Hình thức báo cáo: nộp quyển bài tập lớn và thuyết trình
Khuyến khích sinh viên báo cáo bài tập lớn sớm, trong thời gian 10 tuần đầu tiên.
Thi giữa kỳ, cuối kỳ:
Hình thức thi: viết
Trang 4Chương 1: Tổng quan về lưu trữ và phân tích dữ liệu Chương 2: Cấu trúc dữ liệu hướng đối tượng
Chương 3: Khai phá và xử lý dữ liệu thô
Chương 4: Kiến trúc cơ sở dữ liệu lớn
Chương 5: Phân tích dữ liệu truyền thống
Chương 6: Phân tích dữ liệu thông minh
Trang 5Chương 1: Tổng quan về lưu trữ và phân tích dữ liệu
5
1.1
Các hệ thống lưu trữ dữ liệu hiện nay
.2
Khái niệm về phân tích dữ liệu
Tiến hóa của hệ thống lưu trữ dữ liệu
1.2
1.3
Trang 66
Trang 71.1 Tiến hóa của hệ thống lưu trữ dữ liệu
7
Các mạng xã hội phổ biến nhất trên toàn thế giới tính đến tháng 1 năm 2022, được xếp hạng theo số lượng người dùng hoạt động hàng tháng (đơn vị tính bằng triệu người)
Trang 8Số lượng người dùng Internet tháng 7/2022
Trang 91.1 Tiến hóa của hệ thống lưu trữ dữ liệu
9
• Dữ liệu là thông tin, đặc biệt là các dữ kiện hoặc con số, được thu thập để kiểm tra và xem xét và sử dụng để giúp ra quyết định hoặc thông tin ở dạng điện tử có thể được lưu trữ
Trang 10• Các loại dữ liệu
Trang 111.1 Tiến hóa của hệ thống lưu trữ dữ liệu
11
Đặc tính của dữ liệu lớn
Trang 12 Cấu trúc dữ liệu có thể được phân thành như sau:
• Dữ liệu có cấu trúc: Dữ liệu có định dạng và cấu trúc xác
định, chẳng hạn như tệp CSV, bảng tính, cơ sở dữ liệu quan hệtruyền thống và khối dữ liệu OLAP
• Dữ liệu bán cấu trúc: Các tệp dữ liệu dạng văn bản có cấu
trúc linh hoạt có thể được phân tích cú pháp Ví dụ phổ biến vềloại dữ liệu này là tệp dữ liệu Ngôn ngữ đánh dấu mở rộng(XML) với thông tin tự mô tả của nó
• Dữ liệu phi cấu trúc: Dữ liệu không có cấu trúc vốn có như tài
liệu văn bản, hình ảnh, tệp PDF và video
Trang 131.1 Tiến hóa của hệ thống lưu trữ dữ liệu
13
• Sự phát triển của dữ liệu phi cấu trúc Dữ liệu phi cấu
trúc chiếm 95% tổng số thông tin số.
Trang 1414
Trang 151.1 Tiến hóa của hệ thống lưu trữ dữ liệu
15
Trang 16 Dữ liệu bán cấu trúc
• Hầu hết dữ liệu đều có cấu trúc
− Văn bản: câu, đoạn, mục,
− Sách: chương
− Các trang web: HTML
• Ý tưởng về dữ liệu bán cấu trúc: Thực thi dữ liệu “được định
dạng tốt” => Luôn biết cách đọc/phân tích/thao tác nó Tùychọn, cũng thực thi dữ liệu “có cấu trúc tốt” => Tuân theo lược
đồ ít nghiêm ngặt hơn
• Ưu điểm: tính di động cao
• Nhược điểm: dài dòng/dư thừa
Trang 171.1 Tiến hóa của hệ thống lưu trữ dữ liệu
17
Dữ liệu bán cấu trúc: JSON
Trang 18 Dữ liệu bán cấu trúc: XML
Trang 19Chương 1: Tổng quan về lưu trữ và phân tích dữ liệu
19
1.1 Tiến hóa của hệ thống lưu trữ dữ liệu
2011s (Data Lake)
Trang 20Data warehouse
Trang 211.2 Các hệ thống lưu trữ dữ liệu hiện nay
Data warehouse
Trang 22Data lake
Trang 231.2 Các hệ thống lưu trữ dữ liệu hiện nay
23
xử lý và bảo mật một lượng lớn dữ liệu có cấu trúc, bán cấu trúc và phi cấu trúc Nó
có thể lưu trữ dữ liệu ở định dạng gốc và xử lý mọi loại dữ liệu khác nhau, bỏ qua các giới hạn về kích thước Nó cung cấp số lượng dữ liệu cao để tăng hiệu suất phân tích và tích hợp gốc.
Trang 24NoSQL
Trang 251.2 Các hệ thống lưu trữ dữ liệu hiện nay
• Có thể mở rộng theo chiều ngang
Mục đích ban đầu là cơ sở dữ liệu quy mô web hiện đại Phong trào bắt đầu từ đầu năm 2009 và đang phát triển nhanh chóng Thông thường, nhiều đặc điểm hơn được áp dụng như:
• Lược đồ miễn phí,
• Hỗ trợ sao chép dễ dàng,
• API đơn giản,
• Cuối cùng là nhất quán, lượng dữ liệu khổng lồ,
Cơ sở dữ liệu No SQL
Trang 26Động lực để phát triển cơ sở dữ liệu NoSQL là để tránh các hạnchế của RDBMS/SQL
• Khó mở rộng quy mô hơn - đắt tiền
• Tham gia trên nhiều nút – khó
• RDBMS xử lý tăng trưởng dữ liệu như thế nào – khó
• Thiết kế lược đồ cứng nhắc - không quản lý được
• Cần một DBA (Database Administrator)- tốn kém
Cơ sở dữ liệu No SQL
Trang 271.2 Các hệ thống lưu trữ dữ liệu hiện nay
27
Đặc điểm phân biệt NoSQL
• Có thể xử lý khối lượng dữ liệu lớn
• Nhân bản và phân phối có thể mở rộng
– Hàng nghìn máy được phân phối khắp thế giới
− “Truy vấn” có thể trả về câu trả lời nhanh chóng
• Schema-less (lược đồ đọc và lược đồ ghi)
• Thuộc tính Transactions- ACID không cần thiết thay vào đó làcác thuộc tính BASE (Basically, Available, Soft-state,Eventually consistent)
• CAP Theorem
Cơ sở dữ liệu No SQL
Trang 28 Tính khả dụng: Mọi yêu cầu đều nhận được phản hồi (không
có lỗi) – không đảm bảo rằng yêu cầu đó chứa lần ghi gần đây nhất
Dung sai phân vùng: Hệ thống tiếp tục hoạt động mặc dù số
lượng tin nhắn tùy ý bị loại bỏ (hoặc bị trì hoãn) bởi mạng giữa các nút
Cơ sở dữ liệu No SQL
Trang 291.2 Các hệ thống lưu trữ dữ liệu hiện nay
29
CAP Theorem và ví dụ về lưu trữ dữ liệu
Trang 3030
Trang 311.2 Các hệ thống lưu trữ dữ liệu hiện nay
31
Relational (Transaction– Thuộc
tính ACID)
NoSQL (BASE Transaction)
• Atomic: tất cả công việc trong
một giao dịch đã hoàn thành (cam
kết) hoặc không cái nào hoàn thành
• Consistent (Nhất quán): một giao
dịch biến đổi cơ sở dữ liệu từ trạng
thái nhất quán này sang trạng thái
nhất quán khác; tính nhất quán
được xác định theo các ràng buộc
• Isolated (Bị cô lập): kết quả của
bất kỳ thay đổi nào được thực hiện
trong quá trình giao dịch không
hiển thị cho đến khi giao dịch có
cam kết
• Durable kết quả của một giao
dịch đã cam kết tồn tại thất bại
• Basically Available (Khả dụng về
cơ bản): hệ thống dường như luôn hoạt động - một số phần của hệ thống vẫn khả dụng khi bị lỗi
• Soft state (Trạng thái mềm): không phải lúc nào cũng nhất quán
• Eventually Consistent (Cuối cùng nhất quán): khi dữ liệu được ghi, phiên bản mới nhất có trên ít nhất một nút Dữ liệu sau đó được phiên bản/sao chép sang các nút khác trong
hệ thống Cuối cùng, cùng một phiên bản trên tất cả các nút.
Trang 32Ưu điểm của NoSQL
• Giá rẻ, dễ thực hiện (mã nguồn mở)
• Dữ liệu được sao chép sang nhiều nút (do đó giống hệt nhau và
chịu lỗi) và có thể được phân vùng
- Các nút xuống dễ dàng thay thế
- Không có điểm thất bại duy nhất
• Có thể tăng giảm quy mô
• Không yêu cầu lược đồ
Cơ sở dữ liệu No SQ L
Trang 331.2 Các hệ thống lưu trữ dữ liệu hiện nay
33
Cơ sở dữ liệu No SQL
Trang 34 Cơ sở dữ liệu No SQL
Ví dụ: data models: a)key-value, b) column-oriented, d)graph
Trang 351.2 Các hệ thống lưu trữ dữ liệu hiện nay
35
NewSQL
Trang 36 Cơ sở dữ liệu New SQL
Cơ sở dữ liệu NewSQL là một dạng cơ sở dữ liệu quan hệ hiện đạinhằm mục đích có khả năng mở rộng tương đương với cơ sở dữliệu NoSQL trong khi vẫn duy trì các đảm bảo giao dịch được thựchiện bởi các hệ thống cơ sở dữ liệu truyền thống NewSQL cónhững đặc điểm sau:
• SQL là cơ chế chính để tương tác ứng dụng
• Hỗ trợ ACID cho các giao dịch
• Cơ chế kiểm soát đồng thời không khóa
• Một kiến trúc cung cấp hiệu suất trên mỗi nút cao hơn nhiều
• Một kiến trúc mở rộng quy mô, không chia sẻ, có khả năng
chạy trên một số lượng lớn các nút mà không bị tắc nghẽn
Trang 371.2 Các hệ thống lưu trữ dữ liệu hiện nay
37
Nền tảng truy vấn dữ liệu
Trang 38 Nền tảng truy vấn dữ liệu lớn
• Hive cung cấp phần trừu tượng trên Hệ thống tệp phân tán Hadoop
(HDFS) cho phép các tệp có cấu trúc được truy vấn bằng ngôn ngữ truy vấn giống SQL Hive thực hiện các truy vấn bằng cách dịch các truy vấn trong công việc MapReduce Do đó, các truy vấn Hive có
độ trễ cao ngay cả đối với các tập dữ liệu nhỏ Lợi ích của Hive bao gồm giao diện truy vấn giống SQL và tính linh hoạt để dễ dàng phát triển các lược đồ
Hive process
Trang 391.2 Các hệ thống lưu trữ dữ liệu hiện nay
39
Nền tảng truy vấn dữ liệu lớn
• Impala được thiết kế để thực thi các
truy vấn có độ trễ thấp Nó sử dụng
lại siêu dữ liệu và giao diện người
dùng giống SQL như Hive nhưng sử
dụng công cụ truy vấn phân tán của
riêng nó có thể đạt được độ trễ thấp
hơn Nó cũng hỗ trợ HDFS và HBase
làm kho lưu trữ dữ liệu cơ bản
Trang 40 Nền tảng truy vấn dữ liệu lớn
• Spark SQL là một giao diện truy vấn có
độ trễ thấp khác hỗ trợ giao diện Hive.
Dự án tuyên bố rằng “nó có thể thực
hiện các truy vấn Hive QL nhanh hơn
gấp 100 lần so với Hive mà không cần
bất kỳ sửa đổi nào đối với dữ liệu hoặc
truy vấn hiện có” Điều này đạt được
bằng cách thực hiện các truy vấn bằng
khung Spark chứ không phải là khung
MapReduce của Hadoop
Trang 411.2 Các hệ thống lưu trữ dữ liệu hiện nay
41
Nền tảng truy vấn dữ liệu lớn
• Drill là một triển khai mã nguồn mở của Google’s Dremel
tương tự như Impala, được thiết kế như một hệ thống truyvấn đặc biệt tương tác, có thể mở rộng cho dữ liệu lồngnhau Drill cung cấp ngôn ngữ truy vấn giống SQL củariêng DrQL tương thích với Dremel, nhưng được thiết kế
để hỗ trợ các ngôn ngữ truy vấn khác như Ngôn ngữ truyvấn Mongo Trái ngược với Hive và Impala, nó hỗ trợ mộtloạt các nguồn dữ liệu không có lược đồ, chẳng hạn như cơ
sở dữ liệu HDFS, HBase, Cassandra, MongoDB và SQL
Trang 42Lưu trữ đám mây
Trang 431.2 Các hệ thống lưu trữ dữ liệu hiện nay
43
1.2.4 Lưu trữ đám mây
• Lưu trữ đám mây hay Cloud storage để chỉ các hành động lưu giữ, sắp xếp, quản lý, chia sẻ, và sao lưu dữ liệu của cá thể sở hữu nó trên một hệ thống lưu trữ bên ngoài ổ cứng được duy trì bởi các nhà cung cấp (hay bên thứ ba).
• Dịch vụ này cho phép khách hàng hay người dùng có thể truy cập được tất cả các tệp tin của họ từ xa tại bất kỳ vị trí địa lý nào.
Trang 44 Kiểm tra, thử nghiệm và triển khai phần mềm
Chia sẻ và di chuyển dữ liệu trong đám mây
Trang 451.2 Các hệ thống lưu trữ dữ liệu hiện nay
45
Lưu trữ đám mây
• Các loại lưu trữ đám mây phổ biến
Public Cloud storage được dùng cho các tác vụ như chia sẻ tệp
hoặc phát triển và thử nghiệm một ứng dụng Nhà cung cấp dịch vụ Public Cloud Storage có quyền kiểm soát hoàn toàn
bộ nhớ, phần cứng, phần mềm và cơ sở hạ tầng của họ.
Private cloud storage còn được gọi là lưu trữ đám mây doanh
nghiệp hoặc nội bộ, trong đó dữ liệu được bảo vệ bởi tường lửa riêng Private cloud storage cung cấp toàn quyền kiểm soát cho doanh nghiệp.
Hybrid Cloud Storage kết hợp các yếu tố của cả giải pháp
public và private cloud storage.
Trang 46 Phân tích dữ liệu
• Phân tích dữ liệu là một quá trình kiểm tra, làm sạch,
chuyển đổi và mô hình hóa dữ liệu với mục tiêu khám phá thông tin hữu ích, thông báo kết luận và hỗ trợ ra quyết định.
• Phân tích dữ liệu có nhiều khía cạnh và cách tiếp cận, bao
gồm các kỹ thuật đa dạng dưới nhiều tên khác nhau và được sử dụng trong các lĩnh vực kinh doanh, khoa học và khoa học xã hội khác nhau
Trang 48 Quy trình trong phân tích dữ liệu
• Thu thập và nhập dữ liệu
• Phân loại dữ liệu
• Quản lý dữ liệu, thường là trong cơ sở dữ liệu, hồ dữ liệu
và/hoặc kho dữ liệu
• Lưu trữ dữ liệu
• Phân tích dữ liệu để trích xuất các mẫu, xu hướng và thông
tin chi tiết
• Chia sẻ dữ liệu cho người dùng
Trang 491.3 Phân tích dữ liệu
49
Trang 5050
Trang 511.3 Phân tích dữ liệu
51
Trang 52 Khái niệm
• Dữ liệu lớn: Quá trình thu thập và phân tích khối lượng lớn
dữ liệu để tạo ra thông tin và hiểu biết sâu sắc.
• Data Analysis: Một quy trình đánh giá dữ liệu để xác định
các xu hướng và mẫu có thể cung cấp thông tin và hiểu biết hữu ích về kinh doanh.
• Data Analytics: Quá trình áp dụng các kỹ thuật toán học,
thống kê và học máy khác nhau để khám phá và phân tích các tập dữ liệu nhằm cung cấp thông tin chi tiết hữu ích.
Trang 531.3 Phân tích dữ liệu
53
Khái niệm
• Khai phá dữ liệu: Một quy trình khám phá các mẫu và mối
quan hệ trong các tập dữ liệu lớn bằng cách sử dụng các kỹ thuật phân tích nâng cao như trí tuệ nhân tạo, xử lý ngôn ngữ tự nhiên và khai thác cơ sở dữ liệu.
Trang 54 Khoa học dữ liệu – Data Science
Trang 551.3 Phân tích dữ liệu
55
Data analytics và Data analysis
• Data analysis và Data analytics thường có thể được coi là
giống nhau, nhưng chúng hơi khác nhau về quy mô Data analysis rộng hơn, với phân tích dữ liệu là một trong những thành phần phụ của nó.
• Data analysis là quá trình phân tích và sắp xếp một tập dữ
liệu để kiểm tra nó sâu hơn và trích xuất thông tin hữu ích.
• Data analytics là các kỹ thuật mà nhà khoa học dữ liệu sử
dụng khi thực hiện phân tích dữ liệu.
Trang 56 Khai phá dữ liệu - Data mining và Data analytics
• Khai phá dữ liệu chủ yếu được sử dụng cho quá trình trích
xuất, lọc, khám phá các xu hướng trong quá khứ và dự đoán từ một tập dữ liệu Nó chủ yếu được thực hiện bởi các nhà khoa học máy tính và kỹ sư dữ liệu.
• Phân tích dữ liệu là nhiều hơn để phân tích và hiểu dữ liệu
đã thu thập và yêu cầu triển khai trực quan hóa này Nó chủ yếu được thực hiện bởi các nhà khoa học dữ liệu.
Trang 571.3 Phân tích dữ liệu
57
Các loại phân tích dữ liệu
Trang 58 Các loại phân tích dữ liệu: 4 loại
• Phân tích mô tả: báo cáo lịch sử, chỉ quan sát quá khứ, nêu rõ cách hoạt động của sản phẩm và những điều đã xảy ra.
• Phân tích chẩn đoán: vẫn xem xét dữ liệu trước đây, nhưng sử dụng các phương pháp phân tích giải thích và khám phá để hiểu hành vi.
• Phân tích dự đoán: điều gì sẽ xảy ra tiếp theo nếu chúng ta tiếp tục với những gì chúng ta có.
• Phân tích đề xuất: cách có thể làm cho sản phẩm hoạt động theo cách chúng ta muốn.
Trang 591.3 Phân tích dữ liệu
59
Ứng dụng của phân tích dữ liệu
Trang 60 Một Big Data Project cần có quy trình sau
Trang 611.3 Phân tích dữ liệu
61
Những kĩ năng cần có trong ngành dữ liệu
Trang 6262
Trang 63LƯU TRỮ PHÂN TÍCH DỮ
LIỆU Khoa Viễn thông 1
GV:TS Nguyễn Minh Tuấn Email: nmtuan@ptit.edu.vn
Trang 64Tên học phần:
Lưu trữ và phân tích dữ liệu
Tổng lượng kiến thức/ Số tín chỉ: 45 tiết/ 03 tín chỉ
Thi kết thúc học phần (Thi tự luận): 60%
Trang 65NỘI DUNG HỌC PHẦN
Chương 1: Tổng quan về lưu trữ và phân tích dữ liệu Chương 2: Cấu trúc dữ liệu hướng đối tượng
Chương 3: Khai phá và xử lý dữ liệu thô
Chương 4: Kiến trúc cơ sở dữ liệu lớn
Chương 5: Phân tích dữ liệu truyền thống
Chương 6: Phân tích dữ liệu thông minh
Trang 672.1 Giới thiệu
5
Cơ bản để xử lý dữ liệu và giải quyết vấn đề với máy tính là
sự cần thiết của:
Một cấu trúc dữ liệu cơ bản để đại diện cho dữ liệu
Một phương pháp hoặc thuật toán để xử lý
Trang 68 Theo Forbes, có 2,5 nghìn tỷ byte dữ liệu được tạo ra hàng ngày Thế
giới đã tạo ra hơn 90% dữ liệu hiện có vào năm 2018 trong hai năm trước đó Internet of Things (IoT) tạo ra một phần đáng kể của sự bùng nổ dữ liệu.
Cấu trúc dữ liệu là cần
thiết để quản lý lượng
lớn dữ liệu được tạo ra
và là yếu tố quan
trọng trong việc tăng
cường hiệu quả của
thuật toán.
Trang 692.1 Giới thiệu
7
Cấu trúc dữ liệu là một kho lưu trữ được sử dụng để lưu trữ và tổ
chức dữ liệu Nó là một cách sắp xếp dữ liệu trên máy tính để nó
có thể được truy cập và cập nhật một cách hiệu quả.
Cấu trúc dữ liệu không chỉ được sử dụng để tổ chức dữ liệu Nó
cũng được sử dụng để xử lý, truy xuất và lưu trữ dữ liệu
Cấu trúc dữ liệu là công cụ tổ chức mà các nhà khoa học dữ liệu
sử dụng để cập nhật, quản lý và lập chỉ mục các dịch vụ internet một cách hiệu quả Cấu trúc dữ liệu cũng được sử dụng làm cơ sở cho nhiều thuật toán, do cách chúng có thể lọc và sắp xếp số lượng lớn dữ liệu
Trang 70Có ba phần chính trong cấu trúc dữ liệu giúp nó hoạt động:
Địa chỉ bộ nhớ: Phần tử dữ liệu thô cố định của bất kỳ tính
năng hoặc chức năng mong muốn nào
Con trỏ: Một công cụ tham chiếu đại diện cho vị trí của địa
chỉ bộ nhớ
Thủ tục: Một đoạn mã được viết ra để thao tác hoặc tạo ra
các chức năng khác nhau bên trong cấu trúc, tự động hoặcthủ công
Trang 712.1 Giới thiệu
9
Phân loại cấu trúc dữ liệu:
Trang 72 Thuật ngữ kiểu dữ liệu đề cập đến các loại dữ liệu cơ bản
mà các biến có thể chứa, như được chỉ định bởi ngôn ngữlập trình đã chọn
Để phù hợp với quan điểm rằng các kiểu dữ liệu có thể bao
gồm các kiểu không có cấu trúc và có cấu trúc, thì kiểu dữliệu là các đối tượng dữ liệu Định nghĩa cơ bản về một cấutrúc dữ liệu được trình bày lại dưới dạng tóm tắt đơn giảnsau
Cấu trúc dữ liệu là một tập hợp các thứ tự các đối tượng dữ
liệu và một tập hợp các thao tác trên các đối tượng này