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

Chuyên ngành bigdata xây dựng luồng tích hợp dữ liệu cho ngân hàng tmcp quân đội bằng công cụ oracle data integrator (odi)

83 3 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 luồng tích hợp dữ liệu cho ngân hàng TMCP Quân đội bằng công cụ Oracle Data Integrator (ODI)
Tác giả Lê Trí Thành
Người hướng dẫn Ths. Đỗ Thế Dương
Trường học Học viện Chính sách và Phát triển
Chuyên ngành BigData
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 83
Dung lượng 6,63 MB

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

Cấu trúc

  • 1. Tính cấp thiết của đề tài (9)
  • 2. Mục đích nghiên cứu (9)
  • 3. Đối tượng và phạm vi (10)
  • 4. Phương pháp nghiên cứu (10)
  • 5. Kết cấu khóa luận (10)
  • CHƯƠNG I CƠ SỞ LÝ THUYẾT (11)
    • 1.1 Tổng quan về Kho Dữ liệu (Data Warehouse) (11)
      • 1.1.1 Lịch sử hình thành (11)
      • 1.1.2 Data Warehouse là gì ? (12)
      • 1.1.3 Đặc điểm của kho dữ liệu (13)
      • 1.1.4 Các Lĩnh vực ứng dụng của Data Warehouse (14)
      • 1.1.5 Thành phần của kho dữ liệu Data Warehouse (15)
    • 1.2 ETL Dữ liệu trong xây dựng Kho Dữ liệu (20)
      • 1.2.1 Khái niệm ETL (20)
      • 1.2.2 Quá trình ETL (20)
      • 1.2.3 Vai trò của ETL dữ liệu (21)
      • 1.2.4 Phương pháp ELT Dữ liệu (22)
      • 1.2.5 Phân biệt hai phương pháp tổng hợp dữ liệu ETL và ELT (24)
  • CHƯƠNG II HỆ THỐNG VẬN HÀNH TRONG NGÂN HÀNG VÀ GIỚI THIỆU CÔNG CỤ SỬ DỤNG (27)
    • 2.1 Quy trình vận hành dự án (27)
    • 2.2 Công cụ sử dụng (28)
      • 2.2.1 Công cụ ELT dữ liệu (28)
      • 2.2.2 Công cụ SQL Developer (33)
      • 2.2.3 Ngôn ngữ PL/SQL (34)
  • CHƯƠNG III: XÂY DỰNG BÁO CÁO NGÂN HÀNG NHÀ NƯỚC VÀ TRIỂN KHAI LUỒNG TÍCH HỢP DỮ LIỆU 44 (0)
    • 3.1 Cài đặt công cụ (45)
      • 3.1.1 Cài đặt công cụ SQL Developer (45)
      • 3.1.2 Cài đặt ODI – Oracle Data Integrator (50)
    • 3.2 Mô hình triển khai (59)
      • 3.2.1 Các bảng dữ liệu (60)
      • 3.2.2 Yêu cầu của dự án (60)
    • 3.3 Đề xuất giải pháp thực hiện yêu cầu (60)
    • 3.4 Code PL/SQL (61)
    • 3.5 Xây dựng luồng ETL (63)
      • 3.5.1 Các bước xây dựng luồng ETL dữ liệu (63)
      • 3.5.2 Giải thích luồng ETL (76)
      • 3.5.3 Đóng gói Code bàn giao (78)
  • KẾT LUẬN (82)
  • TÀI LIỆU THAM KHẢO (83)

Nội dung

Để giúp người đọc hay các doanh nghiệp có thể hơn về các khả năng, ứng dụng của công cụ tích hợp dữ liệu mà thuật ngữ gọi là ETL Extract, Tranform, Load, em tiến hành sử dụng công cụ của

Trang 1

BỘ KẾ HOẠCH VÀ ĐẦU TƯ HỌC VIỆN CHÍNH SÁCH VÀ PHÁT TRIỂN

Đơn vị thực tập: Công ty TNHH Giải pháp Phân tích dữ liệu Insight Data

Giảng viên hướng dẫn : Ths Đỗ Thế Dương Sinh viên thực hiện : Lê Trí Thành

Trang 2

đó một cách hiệu quả nhất vào trong công tác của mình

Xin cảm ơn các bạn bè, đồng nghiệp và gia đình đã tạo mọi điều kiện tốt nhất, giúp đỡ, động viên, ủng hộ và cổ vũ em trong suốt quá trình học tập và nghiên cứu để hoàn thành tốt bài khóa luận tốt nghiệp này

Sinh viên (đã ký)

Lê Trí Thành

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

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

DANH MỤC HÌNH ẢNH 4

DANH MỤC BẢNG BIỂU 7

1 Tính cấp thiết của đề tài 8

2 Mục đích nghiên cứu 8

3 Đối tượng và phạm vi 9

4 Phương pháp nghiên cứu 9

5 Kết cấu khóa luận 9

CHƯƠNG I : CƠ SỞ LÝ THUYẾT 10

1.1 Tổng quan về Kho Dữ liệu (Data Warehouse) 10

1.1.1 Lịch sử hình thành 10

1.1.2 Data Warehouse là gì ? 11

1.1.3 Đặc điểm của kho dữ liệu 12

1.1.4 Các Lĩnh vực ứng dụng của Data Warehouse 13

1.1.5 Thành phần của kho dữ liệu Data Warehouse 14

1.2 ETL Dữ liệu trong xây dựng Kho Dữ liệu 19

1.2.1 Khái niệm ETL 19

1.2.2 Quá trình ETL 19

1.2.3 Vai trò của ETL dữ liệu 20

1.2.4 Phương pháp ELT Dữ liệu 21

1.2.5 Phân biệt hai phương pháp tổng hợp dữ liệu ETL và ELT 23

CHƯƠNG II : HỆ THỐNG VẬN HÀNH TRONG NGÂN HÀNG VÀ GIỚI THIỆU CÔNG CỤ SỬ DỤNG 26

2.1 Quy trình vận hành dự án 26

2.2 Công cụ sử dụng 27

2.2.1 Công cụ ELT dữ liệu 27

2.2.2 Công cụ SQL Developer 32

2.2.3 Ngôn ngữ PL/SQL 33

CHƯƠNG III: XÂY DỰNG BÁO CÁO NGÂN HÀNG NHÀ NƯỚC VÀ TRIỂN KHAI LUỒNG TÍCH HỢP DỮ LIỆU 44 3.1 Cài đặt công cụ 44

3.1.1 Cài đặt công cụ SQL Developer 44

3.1.2 Cài đặt ODI – Oracle Data Integrator 49

3.2 Mô hình triển khai 58

3.2.1 Các bảng dữ liệu 59

3.2.2 Yêu cầu của dự án 59

3.3 Đề xuất giải pháp thực hiện yêu cầu 59

3.4 Code PL/SQL 60

3.5 Xây dựng luồng ETL 62

3.5.1 Các bước xây dựng luồng ETL dữ liệu 62

3.5.2 Giải thích luồng ETL 75

3.5.3 Đóng gói Code bàn giao 77

KẾT LUẬN 81

TÀI LIỆU THAM KHẢO 82

Trang 4

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

5 ETL Extract, Tranform, Loading Trích xuất, chuẩn hóa, tải

6 OLAP Online Analytical Processing Xử lý phân tích trực tuyến

7 OLTP Online Transaction Processing Xử lý tác nghiệp trực tuyến

8 SQL Structured Query Language Ngôn ngữ truy vấn cấu trúc

9 PL/SQL Procedural Language extensions for

SQL

Ngôn ngữ lập trình hướng

thủ tục

10 BRD Business Requirement Document Tài liệu yêu cầu nghiệp vụ

11 SRS Systems Requirement specification Tài liệu đặc điểm yêu cầu kỹ

thuật của hệ thống

12 UAT User Acceptance Testing Kiểm thử chấp nhận người

dùng

13 SIT System Integration Test Kiểm tra tích hợp hệ thống

14 DDL Data Definition Language Ngôn ngữ định nghĩa dữ liệu

15 DML Data Manipulation Language Ngôn ngữ thao tác dữ liệu

16 SLA Service Level Agreement thỏa thuận mức độ dịch vụ

17 QA/Tester Quality Assurance Tester Người chịu trách nghiệm

kiểm thử phần mềm

doanh

19 SOA Service Oriented Architecture kiến trúc định hướng dich vụ

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.1 Data Warehouse 11

Hình 1.2 Lĩnh vực ứng dựng Kho Dữ Liệu 13

Hình 1.3 Thành phần của Kho Dữ liệu – Data Warehouse 14

Hình 1.4 ETL dữ liệu trong Data Warehouse 15

Hình 1.5 ETL Dữ Liệu trong Data WareHouse 19

Hình 1.6 Phương pháp ETL 23

Hình 1.7 Phương pháp ELT 23

Hình 2.1 Quy trình vận hành dự án trong Ngân Hàng 26

Hình 2.2 Công cụ ODI 27

Hình 2.3 Kiến Trúc của ODI 29

Hình 2.4 Các thành phần của ODI Studio 30

Hình 2.5 Công cụ Oracle SQL Developer 32

Hình 2.6 Cấu tạo của ngôn ngữ PL/SQL 33

Hình 2.7 Môi trường thực thi PL/SQL 34

Hình 2.8 Lợi ích của PL/SQL 34

Hình 2.9 Các khối lệnh của PL/SQL 36

Hình 2.10 Tạo Function 40

Hình 2.11 Biên dịch chương trình 40

Hình 2.12 Chạy và kiểm thử chương trình 40

Hình 2.13 Nơi lưu trữ các Subprogram 41

Hình 2.14 Sửa lỗi 41

Hình 2.15 Kiểu dữ liệu số 42

Hình 2.16 Kiểu dữ liệu Text 42

Hình 2.17 Kiểu Date/time 42

Hình 2.18 Kiểu dữ liệu 1 cột (%TYPE) 42

Hình 2.19 Ví dụ khai báo kiểu dữ liệu 1 cột 42

Hình 2.20 Kiểu dữ liệu 1 dòng (%rowtype) 43

Hình 2.21 Ví dụ khai báo kiểu dữ liệu %ROWTYPE 43

Trang 6

Hình 2.22 Câu lệnh DBMS_OUTPUT.PUT_LINE()” 43

Hình 3.1 Truy cập trang web để tải công cụ 44

Hình 3.2 Download SQL Developer 45

Hình 3.3 Đăng nhập tài khoản Oracle 45

Hình 3.4 Khởi chạy Oracle SQL Developer 46

Hình 3.5 Màn hình khởi chạy 46

Hình 3.6 Giao diện Oracle SQL Developer 46

Hình 3.7 Mô hình kết nối với Oracle Database 47

Hình 3.8 Tạo kết nối với Oracle 47

Hình 3.9 Nhập thông tin kết nối 48

Hình 3.10 Link tải Oracle ODI 12c 49

Hình 3.11 Giải nén file JDK 49

Hình 3.12 Cài Java 50

Hình 3.13 Chọn môi trường Developments Tools 50

Hình 3.14 Môi trường đang được cài đặt 51

Hình 3.15 Java đang được cài đặt 51

Hình 3.16 Cài đặt thành công Java 8 52

Hình 3.17 Giải nén file 52

Hình 3.18 Copy đường dẫn 52

Hình 3.19 Command 52

Hình 3.20 Nhập lệnh Cd và dán đường dẫn vừa sao chép 53

Hình 3.21 Tải Java vào ODI 53

Hình 3.22 Chương trình Java trong ODI đang khởi chạy 53

Hình 3.23 Cửa sổ cài đặt ODI 53

Hình 3.24 Bắt đầu cài đặt Oracle Data Integrator - ODI 54

Hình 3.25 Chọn Next để tiếp tục 54

Hình 3.26 Kiểm tra thủ tục cài thành công 55

Hình 3.27 Bắt đầu cài ODI 55

Hình 3.28 Các tính năng và file lưu trữ đã được cài đặt 56

Trang 7

Hình 3.29 Hoàn tất cài đặt ODI 56

Hình 3.30 Copy file msvcr100.dll vào thư mục bin 57

Hình 3.31 Mở ODI 57

Hình 3.32 ODI đã cài đặt thành công 57

Hình 3.33 Báo cáo phân loại tài sản - Mapping 61

Hình 3.34 Bảng nguồn sử dụng làm báo cáo 61

Hình 3.35 Thông tin bảng đích 61

Hình 3.36 Code PL/SQL 62

Hình 3.37 Biến V_SYS_DATE 63

Hình 3.38 Thực hiện tạo biến V_JOB_NAME 63

Hình 3.39 Biến V_JOB_NAME 63

Hình 3.40 Tạo biến V_BUSINESS_DATE 64

Hình 3.41 Biến V_BUSINESS_DATE 64

Hình 3.42 Tạo biến V_CHECK_RUN_JOB 65

Hình 3.43 Biến V_CHECK_RUN_JOB 65

Hình 3.44 Tạo biến so sánh V_CHECK_RUN_JOB 66

Hình 3.45 Biến So sánh với V_CHECK_RUN_JOB 66

Hình 3.46 Biến khởi tạo vòng lặp 67

Hình 3.47 Biến khởi tạo vòng lặp 67

Hình 3.48 Câu query trong biến 67

Hình 3.49 PRC_INSERT_LOG 68

Hình 3.50 PRC_UPDATE_SOURCE_FAIL 68

Hình 3.51 PRC_UPDATE_LOG_FAIL 69

Hình 3.52 PRC_ UPDATE_LOG_SUCCESS 69

Hình 3.53 Vị trí các Procedure trong luồng ETL 69

Hình 3.54 Function F_CHECK_SOURCE_FLAG 70

Hình 3.55 F_CHECK_SOURCE_FLAG 70

Hình 3.56 Biến F_CHECK_SOURCE_FLAG 70

Hình 3.57 Công cụ OdiSleep – cơ chế delay vòng lặp 71

Hình 3.58 Điều chỉnh thời gian sleep 71

Hình 3.59 Manage your Google Account 72

Trang 8

Hình 3.60 App passwords 72

Hình 3.61 App passwords 72

Hình 3.62 OdiSendMail -Gửi mail tự động 73

Hình 3.63 Cấu hình OdiSendMail 73

Hình 3.64 odi.conf 74

Hình 3.65 Edit with Notepad++ 74

Hình 3.66 Thêm config của Starter TLS 74

Hình 3.67 odi.conf 75

Hình 3.68 odi -clean -initialize 75

Hình 3.69 Toàn bộ luông ETL dữ liệu cho BC NHNN được xây trong ODI 75

Hình 3.70 Các khối trong luồng ETL 76

Hình 3.71 Export 78

Hình 3.72 Smart Export 78

Hình 3.73 Kết quả thu được sau khi phân tích 79

Hình 3.74 Kéo và thả project mong muốn export 79

Hình 3.75 Đợi kết quả 79

Hình 3.76 Kết quả hoàn thành Export 80

DANH MỤC BẢNG BIỂU

Bảng 1.1 So Sánh Kho Dữ Liệu và Cơ Sở Dữ Liệu 18

Bảng 1.2 Phân biệt ETL và ELT 23

Bảng 3.1 Các bảng dữ liệu nguồn 59

Bảng 3.2 Bảng Dữ Liệu Đích 59

Trang 9

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Sự bùng nổ của dữ liệu đang khiến nhiều doanh nghiệp trong nước phải đối mặt với hàng loạt hạn chế trong việc xử lý thông tin, dẫn đến khả năng đưa ra các quyết định

bị chậm trễ hoặc trì hoãn Điều này về lâu dài chắc chắn sẽ ảnh hưởng không nhỏ đến hiệu quả của các doanh nghiệp Dữ liệu được lưu trữ từ nhiều nguồn, nhiều định dạng khác nhau và dữ liệu tăng lên theo tích tắc, một doanh nghiệp muốn tồn tại được trong thời đại này thì sẽ cần phải quản lý được nguồn dữ liệu mình đang có và phát triển xử lý

nó một cách hiệu quả Nhận thấy được tầm quan trọng đó các tập đoàn công nghệ hàng đầu thế giới đã tạo ra các công cụ hỗ trợ giúp các doanh nghiệp tổng hợp, xử lý từ nhiều nguồn; nhiều định dạng khác nhau như Oracle, Microsolf, Google, IBM, … để từ đó giúp họ khai thác được tiềm năng của Dữ liệu thứ mà đã được ví như “ Mỏ dầu của thế

kỷ 21” Để giúp người đọc hay các doanh nghiệp có thể hơn về các khả năng, ứng dụng của công cụ tích hợp dữ liệu mà thuật ngữ gọi là ETL (Extract, Tranform, Load), em tiến hành sử dụng công cụ của nhà Oracle đó là Oracle Data Integrator viết tắt ODI kết hợp cùng ngôn ngữ PL/SQL cũng được phát triển bởi Oracle để xây dựng báo cáo Ngân Hàng Nhà Nước cho Ngân Hàng Thương Mại Cổ Phần Quân Đội

2 Mục đích nghiên cứu

Mục tiêu của bài báo cáo là ứng dụng phần mềm Oracle Data Integrator (ODI) để xây dựng luồng ETL dữ liệu kết hợp cùng Code PL/SQL để xây dựng báo cáo phân loại tài sản có và cam kết ngoại bảng tại Ngân hàng TMCP Quân Đội nhằm đề xuất các giải pháp cần thiết để nâng cao năng lực quản trị dữ liệu và cải thiện hiệu suất làm việc của ngân hàng Từ mục tiêu cơ bản đó, các nhiệm vụ nghiên cứu được xác định là:

- Tìm hiểu (phân tích) kết quả nghiệp vụ tại Ngân hàng thương mại cổ phần Quân Đội – MB

- Đưa ra biện pháp để nâng cao năng lực quản trị dữ liệu và cải thiện tốc độ đưa

ra báo cáo của ngân hàng

Trang 10

3 Đối tượng và phạm vi

Đối tượng nghiên cứu

- Báo Cáo Phân Loại Tài Sản Có và Cam Kết Ngoại Bảng

- Công cụ Oracle Data Integrator (ODI)

- Ngôn ngữ PL/SQL

Phạm vi nghiên cứu

- Phân tích dữ liệu tại Ngân hàng thương mại cổ phần Quân Đội

- Dữ liệu báo cáo từ năm 2021-2022

4 Phương pháp nghiên cứu

Phương pháp thu thập, tổng hợp, phân tích và so sánh dữ liệu nhằm làm rõ vấn đề nghiên cứu, kết hợp tham khảo kết quả nghiên cứu của các công trình liên quan

5 Kết cấu khóa luận

Ngoài phần mở đầu, kết luận, mục lục, phụ lục và danh mục tài liệu tham khảo, nội dung nghiên cứu của khóa luận gồm 3 chương:

Chương 1 Cơ sở lý thuyết

Nội dung của chương này là trình bày tổng quan về Data Warehouse và ETL trong kho dữ liệu dữ liệu gồm định nghĩa, các đặc tính, mô hình dữ liệu của kho dữ liệu, lợi ích, ứng dụng và quá trình ETL dữ liệu

Chương 2 Hệ thống vận hành trong ngân hàng và giới thiệu công cụ sử dụng

Nội dung chương này là trình bày về cách vận hành một dự án thực tế tại ngân hàng và công cụ được sử dụng của dự án bao gồm quy trình vận hành, các tài liệu nội

bộ, công cụ tích hợp dữ liệu, ngôn ngữ lập trình PL/SQL

Chương 3 Xây dựng báo cáo Ngân hàng Nhà nước và triển khai luồng tích hợp dữ liệu

Nội dung chương này trình bày cách thức triển khai xây dựng luồng tích hợp dữ liệu bao gồm các bước thực hiện như Code, tạo biến, đóng gói và bàn giao dự án

Trang 11

CHƯƠNG I : CƠ SỞ LÝ THUYẾT

1.1 Tổng quan về Kho Dữ liệu (Data Warehouse)

1.1.1 Lịch sử hình thành

Khái niệm Data Warehouse được xuất hiện vào những năm 80, khi mà các

hê ̣thống quản lý cở sở dữ liệu quan hê ̣nổi lên như những sản phẩm thương mại

Năm 1988, có một bài báo mô tả định nghĩa đầu tiên về kiến trúc kho dữ liệu Bài báo mô tả những công việc đã thực hiện để thiết kế kho dữ liệu phục vụ chi nhánh IBM taị châu Âu

Đầu thập niên 90, cuộc cách mạng về xử lý dữ liệu không chỉ là phổ cập kho dữ liệu mà còn tạo điều kiện để mở rộng khái niệm kho dữ liệu

Thế kỷ 20 – kỷ nguyên của quản lý dựa trên thông tin

Ngày nay, chúng ta chờ đợi và dự đoán tương lai dựa trên những phác thảo quá khứ Nhu cầu về lợi thế cạnh tranh tăng ca khiến nền tảng để hỗ trợ việc ra quyết điṇh chuyển từ dữ liệu dạng số sang thông tin và việc này có thể đươc̣ mô tả bởi thuâṭ ngữ quản lý dựa trên thông tin

Kho dữ liệu là tuyển tập các cơ sở dữ liệu tích hợp, hướng chủ đề, được thiết kế

để hỗ trợ cho chức năng trợ giúp quyết định

Theo John Ladley, Công nghệ kho dữ liệu (Data Warehouse Technology) là tập

các phương pháp, kỹ thuật và các công cụ có thể kết hợp, hỗ trợ nhau để cung cấp thông tin cho người sử dụng trên cơ sở tích hợp từ nhiều nguồn dữ liệu, nhiều môi trường khác nhau

Kho dữ liệu thường rất lớn tới hàng trăm GB hay thậm chí hàng Terabyte Kho dữ liệu được xây dựng để tiện lợi cho việc truy cập theo nhiều nguồn, nhiều kiểu dữ liệu khác nhau sao cho có thể kết hợp được cả những ứng dụng của các công nghệ hiện đại

và kế thừa được từ những hệ thống đã có sẵn từ trước

Trang 12

1.1.2 Data Warehouse là gì ?

Data Warehouse là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) được

xây dựng để đáp ứng yêu cầu của hệ thống xử lý giao dịch Nó có thể được mô tả một cách lỏng lẻo như bất kỳ kho lưu trữ dữ liệu tập trung nào có thể được truy vấn vì lợi ích kinh doanh Nó là một cơ sở dữ liệu lưu trữ thông tin được định hướng để đáp ứng các yêu cầu ra quyết định Đây là một nhóm các công nghệ hỗ trợ quyết định, mục tiêu cho phép nhân viên tri thức (điều hành, quản lý và nhà phân tích) đưa ra các quyết định cấp trên và cao hơn Vì vậy, Data warehouse hỗ trợ kiến trúc và công cụ cho các nhà quản trị doanh nghiệp để tổ chức, hiểu và sử dụng thông tin của họ một cách có hệ thống để đưa ra các quyết định chiến lược

Hình 1.1 Data Warehouse

Kho dữ liệu là kho lưu trữ điện tử của một lượng lớn thông tin của một doanh nghiệp hoặc tổ chức Đây là một thành phần quan trọng của phân tích kinh doanh, sử dụng các kĩ thuật phân tích trên dữ liệu doanh nghiệp

Data WareHouse (DW) là một cơ sở dữ liệu quan hệ được thiết kế để truy vấn và

phân tích Không được sử dụng nhưng nó như là một nền tảng cho hệ thống hỗ trợ ra

quyết định Nó gắn liền với khái niệm Kinh doanh thông minh (Business Inteligence)

Nó được dùng để giải quyết các vấn đề gặp phải khi một tổ chức cố gắng phân tích

chiến lược từ số liệu trong một hệ thống database Data Warehouse bao gồm dữ liệu lịch

sử thu được từ nhiều giao dịch từ một và nhiều nguồn

Trang 13

Data Warehouse là một hệ thống dữ liệu với các thuộc tính:

- Là cơ sở dữ liệu được thiết kế cho các nhiệm vụ điều tra, phân tích, nghiệp vụ

và dữ liệu được hệ thống từ các ứng dụng, phần mềm khác nhau

- Hỗ trợ một số lượng tương đối nhỏ khách hàng với các tương tác tương đối dài

- Việc sử dụng nó là đọc chuyên sâu

- Chứa một vài bảng lớn

Data Warehouse là một kho lưu trữ thông tin theo hướng chủ đề, tích hợp và biến

thể theo thời gian để hỗ trợ các quyết định của ban quản lý.”

Data Warehouse chứa giải pháp khai thác, vận chuyển và tải (ETL), công cụ xử lý

phân tích trực tuyến (OLAP), các công cụ phân tích khách hàng và các ứng dụng khác

xử lý quá trình thu thập thông tin và cung cấp cho người dùng doanh nghiệp

1.1.3 Đặc điểm của kho dữ liệu

Data Warehouse sở hữu các tính năng cơ bản phù hợp để xác định dữ liệu trong kho bao gồm định hướng chủ đề, tích hợp dữ liệu, biến đổi thời gian và không biến đổi cùng độ chi tiết của dữ liệu:

Định hướng theo chủ đề: không như các hệ thống khác, Data Warehouse giúp

chuẩn hóa cơ sở dữ liệu xoay quanh các đối tượng của doanh nghiệp Định hướng chủ

đề rất hữu ích, giúp doanh nghiệp ra quyết định sáng suốt, hướng đối tượng là tập hợp các đối tượng cần thiết trong chủ đề

Tích hợp dữ liệu: dữ liệu được thu từ nhiều nguồn khác nhau, không tránh khỏi

việc bị trùng lặp dữ liệu, do đó các mâu thuẫn trong dữ liệu sẽ được hệ thống loại bỏ

Hệ thống sẽ căn cứ trên tính nhất quán bao gồm quy ước đặt tên, đo lường biến, cấu trúc

mã hóa thông tin và đặc điểm vật lý của dữ liệu

Biến đổi theo thời gian: Data Warehouse thu thập dữ liệu hiện tại khi hỗ trợ các

hoạt động hàng ngày của doanh nghiệp Những dữ liệu có thể được tích lũy trong khoảng thời gian dài thậm chí lên đến 10 năm Khối dữ liệu to lớn này có thể dùng để

dự báo hành vi khách hàng và giúp người dùng xem các giao dịch hiện tại và quá khứ

Trang 14

Dữ liệu không biến đổi: dữ liệu trong kho đang được để ở trạng thái chỉ đọc,

không thể xóa hay thao tác cập nhật, tạo mới

1.1.4 Các Lĩnh vực ứng dụng của Data Warehouse

Hình 1.2 Lĩnh vực ứng dựng Kho Dữ Liệu

Hầu như mọi doanh nghiệp kinh doanh bất kể dịch vụ, sản phẩm nào cũng đều cần đến Data Warehouse do tính đa dụng, thiết thực cao của nền tảng này, các lĩnh vực cần ứng dụng kho dữ liệu cao như:

Ngân hàng: quản lý các nguồn quỹ đầu tư, quỹ dự trữ, vay vốn, lãi suất và thời

hạn thanh toán của từng cá nhân, tổ chức

Hàng không: tạo ra hệ thống quản lý tất cả công việc liên quan hàng không từ

quản lý lịch trình bay, số hiệu máy bay trong thời gian vận hành đến phân công phi hành đoàn, quản lý các chương trình ưu đãi cho khách hàng

Bảo hiểm: phân tích xu hướng khách hàng dựa trên khối dữ liệu thu thập, theo dõi

biến động thị trường một cách nhanh chóng để đề ra các biện pháp đối phó

Y dược: quản lý thông tin bệnh nhân, bệnh án, phác đồ điều trị, thời gian trị bệnh

dự kiến, thuốc kê theo đơn

Bán lẻ: quản lý các mặt hàng nhập xuất, quản lý chuỗi cung ứng, nhà cung cấp

sản phẩm Dựa trên thông tin thu thập để lên chiến lược bán hàng hiệu quả, lên các chiến dịch quảng cáo đánh trúng tâm lý khách hàng

Giáo dục: quản lý thông tin của giáo viên , sinh viên, và nhân công tại trường,

quản lý quá trình học tập của học sinh, giáo án và bài giảng của giáo viên Từ đó đưa ra

Trang 15

các chiến lược dạy học hiệu quả Ngoài ra Data Warehouse cũng là nền tảng của các phần mềm dạy học hiện nay

Thương mại điện tử: lĩnh vực dễ nhận thấy sự ứng dụng nhất của kho dữ liệu

doanh nghiệp Hệ thống giúp quản lý thông tin hàng hóa, người bán, người mua, tình trạng đơn hàng và các chương trình khuyến mãi đang và sắp diễn ra

1.1.5 Thành phần của kho dữ liệu Data Warehouse

Kiến trúc là sự sắp xếp hợp lý của các yếu tố Data warehouse được xây dựng với các thành phần phần mềm và phần cứng Để phù hợp với yêu cầu của từng cơ quan, tổ chức và có thể dễ dàng tăng cường một phần khác với công và dịch vụ bổ sung tùy từng doanh nghiệp, tổ chức sẽ có những cách xây dựng khác nhau và tùy thuộc hoàn cảnh

Hình 1.3 Thành phần của Kho Dữ liệu – Data Warehouse

Hình thể hiện các yếu tố cần thiết của một nhà kho điển hình Thành phần Dữ liệu nguồn hiển thị ở bên trái Phần tử dàn dữ liệu đóng vai trò là khối xây dựng tiếp theo Ở giữa, chúng ta thấy thành phần Data Storage xử lý dữ liệu của các Data Warehouse Yếu

tố này không chỉ lưu trữ và quản lý dữ liệu; nó cũng theo dõi dữ liệu bằng cách sử dụng kho siêu dữ liệu Thành phần Cung cấp thông tin hiển thị ở bên phải bao gồm tất cả các cách khác nhau để cung cấp thông tin từ Data warehouse cho người dùng

Trang 16

1 Thành phần dữ liệu nguồn ( Source Data)

Dữ liệu nguồn đi vào Data warehouse có thể được nhóm thành bốn loại lớn:

Production Data: Loại dữ liệu này đến từ các hệ điều hành khác nhau của doanh

nghiệp Dựa trên các yêu cầu về dữ liệu trong Data Warehouse mà phải chọn các phân đoạn dữ liệu từ các chế độ hoạt động khác nhau

Internal Data: Trong mỗi tổ chức, khách hàng lưu giữ các bảng tính, báo cáo, hồ

sơ khách hàng và đôi khi thậm chí cả cơ sở dữ liệu bộ phận “riêng tư” của họ Đây là dữ liệu nội bộ, một phần có thể hữu ích trong Data warehouse

Archived Data: Các hệ thống hoạt động chủ yếu nhằm mục đích điều hành công

việc kinh doanh hiện tại Trong mọi hệ thống hoạt động thì dữ liệu cũ sẽ được lấy định

kỳ và lưu trữ trong các tệp đã đạt được

External Data: Hầu hết các giám đốc điều hành phụ thuộc vào thông tin từ các

nguồn bên ngoài cho một tỷ lệ lớn thông tin họ sử dụng Họ sử dụng số liệu thống kê liên quan đến ngành của họ do bộ phận bên ngoài cung cấp

2 Thành phần cấu trúc dữ liệu

Hình 1.4 ETL dữ liệu trong Data Warehouse

Sau khi đã được trích xuất dữ liệu từ các hệ thống hoạt động khác nhau và các nguồn bên ngoài, sẽ phải chuẩn bị các tệp để lưu trữ trong Data Warehouse Dữ liệu được trích xuất từ một số nguồn khác nhau cần được thay đổi, chuyển đổi và sẵn sàng ở định dạng phù hợp để lưu lại cho việc truy vấn và phân tích

Trích xuất dữ liệu: Phương pháp này phải xử lý nhiều nguồn dữ liệu Ta phải sử

dụng các kỹ thuật thích hợp cho từng nguồn dữ liệu

Trang 17

Chuyển đổi dữ liệu: Như chúng ta đã biết, dữ liệu cho một Data warehouse đến từ

nhiều nguồn khác nhau Nếu việc trích xuất dữ liệu cho một Data warehouse là thách thức lớn, thì việc chuyển đổi dữ liệu thậm chí còn có những thách thức đáng kể Trong quá trình chuyển đổi dữ liệu phải thực hiện thêm một số tác vụ riêng lẻ và nó cũng được coi một phần của quá trình chuyển đổi dữ liệu

Đầu tiên là phải làm sạch dữ liệu được trích xuất từ mỗi nguồn Làm sạch có thể

là sửa lỗi chính tả hoặc có thể giải quyết việc cung cấp giá trị mặc định cho các phần tử

dữ liệu bị thiếu hoặc loại bỏ các bản sao khi đưa cùng một dữ liệu từ các hệ thống nguồn khác nhau vào

Tiêu chuẩn hóa các thành phần dữ liệu tạo thành một phần lớn của quá trình chuyển đổi dữ liệu Chuyển đổi dữ liệu chứa nhiều hình thức kết hợp các phần dữ liệu

từ các nguồn khác nhau Kết hợp dữ liệu từ bản ghi nguồn duy nhất hoặc các phần dữ liệu liên quan từ nhiều bản ghi nguồn

Mặt khác, chuyển đổi dữ liệu cũng chứa dữ liệu nguồn không hữu ích và tách các bản ghi bên ngoài thành các tổ hợp mới Việc sắp xếp và hợp nhất dữ liệu diễn ra trên quy mô lớn trong vùng dữ liệu Khi chức năng chuyển đổi dữ liệu kết thúc, chúng ta có một tập hợp dữ liệu tích hợp được làm sạch, chuẩn hóa và tóm tắt

Tải dữ liệu: Hai loại nhiệm vụ riêng biệt tạo thành các chức năng tải dữ liệu Khi

đã hoàn thành cấu trúc và xây dựng Data warehouse và đi vào hoạt động lần đầu tiên, phải thực hiện tải thông tin ban đầu vào kho lưu trữ dữ liệu Tải ban đầu di chuyển khối lượng lớn dữ liệu sử dụng một lượng thời gian đáng kể

3 Thành phần lưu trữ dữ liệu (Data Storage)

Lưu trữ dữ liệu cho Data warehouse là một kho lưu trữ chia nhỏ Data warehouse cho các hệ thống hoạt động thường chỉ bao gồm dữ liệu hiện tại Ngoài ra, các Data warehouse này bao gồm dữ liệu có cấu trúc được chuẩn hóa cao để xử lý nhanh chóng

và hiệu quả

Trang 18

4 Thành phần cung cấp thông tin (Information delivery)

Phần tử cung cấp thông tin được sử dụng để cho phép quá trình đăng ký tệp Data warehouse và chuyển nó đến một hoặc nhiều điểm đến theo một số thuật toán lập lịch

do khách hàng chỉ định

5 Thành phần siêu dữ liệu (MetaData)

Siêu dữ liệu trong Data warehouse giống như từ điển dữ liệu hoặc danh mục dữ liệu trong hệ quản trị cơ sở dữ liệu Trong từ điển dữ liệu, gi dữ liệu về cấu trúc dữ liệu logic, dữ liệu về bản ghi và địa chỉ, thông tin về chỉ mục, v.v

Nó bao gồm một tập hợp con dữ liệu toàn công ty có giá trị đối với một nhóm người dùng cụ thể Dữ liệu trong Data warehouse phải khá hiện tại, nhưng không chủ yếu đến từng phút, mặc dù sự phát triển trong ngành Data warehouse đã làm cho việc lưu trữ dữ liệu tiêu chuẩn và gia tăng trở nên khả thi hơn Các Data warehouse thấp hơn các Data warehouse và thường chứa tổ chức Xu hướng hiện tại trong Data warehouse là phát triển một Data warehouse với một số Data warehouse liên quan nhỏ hơn cho các loại truy vấn và báo cáo cụ thể

6 Thành phần quản lý và kiểm soát (Management and Control)

Các yếu tố quản lý và kiểm soát điều phối các dịch vụ và chức năng trong Data warehouse Các thành phần này kiểm soát việc chuyển đổi dữ liệu và chuyển dữ liệu vào Data warehouse lưu trữ Mặt khác, nó kiểm duyệt việc cung cấp dữ liệu cho khách hàng Nó hoạt động với hệ thống quản lý cơ sở dữ liệu và cho phép dữ liệu được lưu một cách chính xác vào kho lưu trữ Nó giám sát sự di chuyển của thông tin vào phương thức dàn dựng và từ đó vào chính các Data warehouse lưu trữ

Trang 19

1.1.6 Sự khác biệt giữa Data Warehouse và Database

Bảng 1.1 So Sánh Kho Dữ Liệu và Cơ Sở Dữ Liệu

( Data WareHouse)

Cơ Sở Dữ liệu (Database)

- Kho Dữ Liệu sử dụng

Xử lý phân tích trực tuyến (OLAP)

- Để ghi và truy vấn

- Hỗ trợ công việc hằng ngày

- Cơ Sở Dữ Liệu sử dụng Xử lý giao dịch trực tuyến (OLTP)

Các bảng và phép nối

Bảng và phép nối rất dễ dàng trong kho dữ liệu vì chúng không được chuẩn hóa

Có độ phức tạp cao vì chúng được chuẩn hóa (cho RDBMS)

để giảm dữ liệu thừa, tối ưu hóa dung lượng lưu trữ

Lưu trữ Dữ liệu

Phương pháp tiếp cận đa chiều và chuẩn hóa, nhiều nguồn dữ liệu khác nhau được tích hợp và định dạng lại

Phương pháp tiếp cận quan hệ phẳng, nhiều dữ liệu khác nhau được tích hợp vào một nguồn

Sử dụng

Trong những trường hợp

Loại Truy vấn

Những truy vấn phức tạp được áp dụng cho mục đích phân tích

Những truy vấn giao dich đơn giản được sử dụng

Hiệu suất truy vấn và

Trang 20

Có thể hiểu, kho dữ liệu có kích thước lớn hơn nhiều so với cơ sở dữ liệu, thậm chí nó có thể bao gồm cả cơ sở dữ liệu trong đó, hay nói cách khác kho dữ liệu là một loại cơ sở dữ liệu khổng lồ được thiết kế để tối ưu hóa quy trình phân tích và báo cáo

Cơ sở dữ liệu thường là một ứng dụng, chương trình hoặc hệ thống để chứa các thông tin trong một nguồn

1.2 ETL Dữ liệu trong xây dựng Kho Dữ liệu

Hình 1.5 ETL Dữ Liệu trong Data WareHouse

1.2.1 Khái niệm ETL

Cơ chế trích xuất thông tin từ hệ thống nguồn và đưa vào kho dữ liệu thường

được gọi là ETL, viết tắt của Extraction, Transformation và Loading

Quy trình ETL yêu cầu đầu vào tích cực từ các bên liên quan khác nhau, bao gồm nhà phát triển, nhà phân tích, người kiểm tra, giám đốc điều hành hàng đầu và có nhiều thách thức về mặt kỹ thuật

Để duy trì giá trị của nó như một công cụ cho những người ra quyết định, Kỹ thuật kho dữ liệu cần phải thay đổi cùng với những thay đổi của doanh nghiệp ETL là một phương pháp định kỳ (hàng ngày, hàng tuần, hàng tháng) của hệ thống Kho dữ liệu

và cần phải nhanh nhẹn, tự động và được ghi chép đầy đủ

1.2.2 Quá trình ETL

Extract: Đây là bước đầu tiên trong quá trình ETL, nơi dữ liệu được lấy ra từ

nguồn (như hệ thống khách hàng, máy chủ web, cơ sở dữ liệu khác, tệp cục bộ) và được đưa vào bộ nhớ tạm để tiếp tục các bước tiếp theo Dữ liệu được lấy ra có thể là dữ liệu

ở dạng cấu trúc hoặc không cấu trúc và phải được chuyển đổi sang một định dạng có thể

sử dụng được cho các bước tiếp theo

Trang 21

Transform: Trong bước này, dữ liệu được xử lý, định dạng và tối ưu hóa để có thể

dễ dàng truy xuất và phân tích Các bước xử lý dữ liệu bao gồm:

- Thay đổi định dạng dữ liệu để chuyển đổi sang định dạng phù hợp để có thể sử dụng cho các mục đích phân tích

- Loại bỏ các giá trị trùng lặp và các giá trị không hợp lệ

- Thêm thông tin bổ sung, như thông tin dữ liệu thời gian hoặc thông tin địa lý, để giúp quản trị viên dễ dàng tìm kiếm và phân tích

Load: Cuối cùng, dữ liệu được đưa vào Data Warehouse để sử dụng cho các mục

đích phân tích và truy xuất sau này Các bước load dữ liệu bao gồm:

- Kiểm tra tính hợp lệ của dữ liệu và đảm bảo rằng không có lỗi khi đưa dữ liệu vào hệ thống

- Lưu dữ liệu vào các bảng, tệp hoặc cơ sở dữ liệu tương ứng

- Tổng hợp các thông tin về tình trạng load dữ liệu để giúp quản trị viên hiểu được quá trình và tình trạng của dữ liệu

Quá trình ETL rất quan trọng trong việc xây dựng một hệ thống Data Warehouse hiệu quả Nó sẽ giúp cho người dùng dễ dàng truy xuất và phân tích dữ liệu một cách nhanh chóng và dễ dàng hơn mà không phải lo lắng về tính toàn vẹn hoặc chính xác của

dữ liệu

1.2.3 Vai trò của ETL dữ liệu

ETL (Extract, Transform, Load) là một quá trình cần thiết trong việc xây dựng và duy trì data warehouse ETL giúp quản lý việc di chuyển dữ liệu từ các nguồn khác nhau, thực hiện các biến đổi và tập hợp dữ liệu vào data warehouse, nơi dữ liệu được sử dụng để phân tích và tạo ra báo cáo

Vai trò của quá trình ETL là rất quan trọng trong việc xử lý và quản lý dữ liệu trong data warehouse Dưới đây là một số vai trò của quá trình ETL:

Đảm bảo tính toàn vẹn và chính xác của dữ liệu: Quá trình ETL đảm bảo rằng các nguồn dữ liệu được chuyển đổi thành dữ liệu có cấu trúc phù hợp, được xác định và hợp

Trang 22

lệ Việc thực hiện các bước ETL cẩn thận và chính xác giúp đảm bảo tính toàn vẹn và chính xác của dữ liệu được lưu trữ trong data warehouse

Tăng tốc độ truy vấn dữ liệu: Quá trình ETL chuyển đổi dữ liệu để phù hợp với cấu trúc và nhu cầu truy vấn của data warehouse Những bước biến đổi dữ liệu như tổng hợp, loại bỏ dữ liệu trùng lặp và hợp nhất giúp tối ưu hóa dữ liệu và tăng tốc độ truy vấn

dữ liệu

Giảm bớt thời gian và chi phí: Quá trình ETL giúp giảm thiểu thời gian và chi phí được đầu tư trong việc làm sạch, chuyển đổi và tải dữ liệu vào data warehouse Nếu không có quá trình ETL, các nguồn dữ liệu phải được chuyển đến data warehouse một cách thủ công, điều này sẽ tốn thời gian và cần nguồn lực để thực hiện

Khả năng thích ứng với thay đổi: Quá trình ETL cho phép thích ứng với các thay đổi trong nguồn dữ liệu, cấu trúc dữ liệu và các yêu cầu phân tích Nếu có sự thay đổi, các bước ETL được thực hiện lại để đảm bảo tính liên tục và đúng đắn của dữ liệu

Với vai trò của mình trong việc xử lý dữ liệu, quá trình ETL trở thành một yếu tố quan trọng trong việc tạo ra một hệ thống data warehouse hiệu quả và thực hiện phân tích dữ liệu

1.2.4 Phương pháp ELT Dữ liệu

ELT (Extract, Load, Transform) là một phương pháp xử lý dữ liệu tương tự như ETL (Extract, Transform, Load) nhưng với quá trình chuyển đổi dữ liệu được thực hiện sau giai đoạn tải dữ liệu vào data warehouse Thông thường, đối với phương pháp ETL, việc chuyển đổi và xử lý dữ liệu được thực hiện trước khi tải dữ liệu vào data warehouse, trong khi đó với phương pháp ELT, các bước chuyển đổi và xử lý dữ liệu được thực hiện sau khi dữ liệu được tải vào trong data warehouse

Các bước trong phương pháp ELT:

Extract: Trong bước này, dữ liệu được trích xuất (hoặc gộp lại từ nhiều nguồn) và

được đưa vào kho lưu trữ Bất kỳ định dạng nào được sử dụng cho dữ liệu trong kho lưu trữ đều có thể được chấp nhận

Trang 23

Load: Dữ liệu được tải vào kho lưu trữ, và lưu trữ vào trong cơ sở dữ liệu mà

không thông qua quá trình xử lý trung gian nào Dữ liệu này có thể được phân chia thành các phần để tối ưu hóa các hoạt động tăng tốc độ

Transform: Các bước xử lý và chuyển đổi dữ liệu được thực hiện sau khi dữ liệu

đã được tải vào kho lưu trữ Trong bước này, các biểu thức và phép tính có thể được áp dụng cho dữ liệu để giải quyết vấn đề và trả về kết quả

Các ưu điểm của phương pháp ELT bao gồm:

Tính linh hoạt: Phương pháp ELT cho phép người dùng giữ nguyên định dạng

ban đầu của dữ liệu để có thể sử dụng lại sau này Điều này có ý nghĩa là các bước chuyển đổi và xử lý sẽ chịu ảnh hưởng ít hơn đến dữ liệu ban đầu và giữ nguyên tính toàn vẹn của dữ liệu

Giảm chi phí: Phương pháp ELT giảm chi phí vì không cần sử dụng các công cụ

trung gian để chuyển đổi và xử lý dữ liệu

Hiệu quả: Phương pháp ELT thực hiện các bước xử lý trực tiếp trên kho lưu trữ,

làm tăng hiệu quả của quá trình xử lý dữ liệu

Kinh tế: Phương pháp ELT giúp người dùng tối ưu hóa các hoạt động xử lý dữ

liệu, giảm chi phí và tăng hiệu quả trong việc quản lý Data Warehouse

ELT thường được sử dụng khi lưu trữ dữ liệu đã được xác định trước và cần được

xử lý một cách linh hoạt, được kết hợp với các công cụ phân tích dữ liệu như BI (Business Intelligence) hoặc các ứng dụng Big Data khác Phương pháp này cũng phù hợp với các quy trình tự động hóa hoặc các quy trình tiền xử lý dữ liệu mà yêu cầu thao tác dữ liệu hiệu quả hơn

Tuy nhiên, phương pháp ELT yêu cầu phải có hệ thống lưu trữ dữ liệu mạnh mẽ,

có khả năng xử lý các tính toán phức tạp để đảm bảo tính hiệu quả và độ chính xác của việc xử lý dữ liệu

Các công cụ ELT phổ biến bao gồm ODI – Oracle Data Integrator, Google

Dataflow, AWS Glue, Talend, Apache NiFi, Microsoft Azure Data Factory… và một

trong số các công cụ được đánh giá cao và được các tập đoàn lớn sử dụng đó là công cụ

Trang 24

của nhà Oracle chính là ODI – Oracle Data Integrator ODI cũng chính là công cụ được

em sử dụng trong bài báo cáo khóa luận tốt nghiệp của mình

1.2.5 Phân biệt hai phương pháp tổng hợp dữ liệu ETL và ELT

ETL và ELT là hai phương pháp khác nhau để tổng hợp, chuyển đổi và xử lý dữ liệu Các phương pháp này phù hợp cho những tình huống khác nhau Dưới đây là sự khác hai phương pháp này:

Bảng 1.2 Phân biệt ETL và ELT

Được sử dụng cho lượng data rất lớn

3.Biến đổi dữ

liệu

Các biến đổi được thực hiện trong Cơ sơ dữ liệu hoặc vùng chứa tạm

Các biến đổi được thực hiện bên trong “hệ thống đích”

4.Thời gian load

Dữ liệu trước tiên được tải vào vùng chứa tạm sau đó mới tải vào “đích” Vì vậy, cần nhiều thời gian

Dữ liệu được tải vào “đích” chỉ một lần sau đó mới biến đổi Vì vậy, phương pháp này nhanh hơn

5.Thời gian biến

đổi

Quá trình ETL bắt buộc cần quá trình chuẩn hóa hay còn gọi là

“Tranform” hoàn tất Khi kích

Trong quá trình ELT, tốc độ không bao giờ phụ thuộc vào kích thước của dữ liệu

Trang 25

thước dữ liệu tăng lên, thời gian chuyển đổi cũng tăng theo

6.Thời gian bảo

trì

Nhu cầu bảo trì là rất cao vì cần phải chọn dữ liệu để tải và biến đổi

Nhu cầu bảo trì là rất thấp vì dữ liệu luôn có sẵn

8.Hỗ trợ Data

warehouse

Mô hình ETL được sử dụng cho

dữ liệu tại chỗ (on-premise),

quan hệ và có cấu trúc

Được sử dụng cho cơ sở hạ

tầng lưu trữ đám mây (Cloud)

Quá trình ETL chỉ load những

dữ liệu quan trọng, như đã được xác định trước từ thời điểm design

Quá trình này bao gồm tất cả quá trình phát triển từ output-backward và load những dữ liệu liên quan

11.Chi phí Chi phí rất cao cho các doanh

Tất cả dữ liệu đều sẽ có sẵn vì Trích xuất và Tải được thực hiện chỉ trong một hành động

13 Aggregations Độ phức tạp tăng lên với dữ

liệu thêm vào trong tập dữ liệu -

Sức mạnh của target platform

có thể xử lí một lượng dữ liệu

Trang 26

Dataset đáng kể 1 cách nhanh chóng

14.Tính toán Ghi đè lên cột đang có hoặc cần

cắm cờ và đẩy sang “đích”

Dễ dàng thêm cột đã được tính toán vào bảng hiện có

Chi phí cho phần cứng hệ thống điện toán đám mây không phải

sự lựa chọn giữa ETL và ELT sẽ phụ thuộc vào tính linh hoạt, độ phức tạp và tốc độ xử

lý dữ liệu của kho lưu trữ

Trang 27

CHƯƠNG II : HỆ THỐNG VẬN HÀNH TRONG NGÂN HÀNG VÀ GIỚI

THIỆU CÔNG CỤ SỬ DỤNG

2.1 Quy trình vận hành dự án

Hình 2.1 Quy trình vận hành dự án trong Ngân Hàng

(1) Các yêu cầu từ nghiệp vụ sẽ được Business Analyst (BA) – Chuyên gia phân tích nghiệp vụ ghi vào file BRD (Business Requirement Document) – là file tài liệu chứa các yêu cầu về nghiệp vụ kinh doanh của ngân hàng và các yêu cầu khác từ các bên liên quan

(2) Sau khi tiếp nhận file BRD, các chuyên gia phân tích nghiệp vụ sẽ phân tích các yêu cầu trong đó và bắt đầu viết file SRS (Systems Requirement specification) – Yêu cầu kỹ thuật hệ thống Trong file SRS sẽ chứa mọi thông tin cần thiết để phát triển Job (Job là là tên chung của sản phẩm do Dev làm ra): tính Logic, Database nguồn và đích, các trường nào và các bảng nào được sử dụng và các điều kiện cần phải thêm, công cụ sử dụng,… File SRS sẽ được BA chuyển tới phía DEV (Deverloper) là các lập trình viên để họ thực hiện yêu cầu trong file SRS do BA đã phân tích và tổng hợp

(3) Các lập trình viên (DEV) sẽ thực hiện các nhiệm vụ có trong file SRS và đó được gọi là các Job Sau khi lập trình viên đọc và hiểu rõ file SRS thì sẽ thực hiện Code

để chạy các Job Trước khi chạy Job thì DEV sẽ tiến hành bước Unit Test là bước kiểm thử và báo với bên QA/Tester ( Quality Assurance Tester) để học thực hiện Test SIT

(4) Đội ngũ team QA sẽ thực hiện quá trình Test SIT Test SIT là giai đoạn mà QA/Tester sẽ phải thực hiện trước khi bàn giao cho đội Test – đảm bảo tính đúng đắn, tính logic của dữ liệu, yêu cầu nghiệp vụ mong muốn Giai đoạn này sẽ phải thực hiện

Trang 28

các nhiệm vụ kiểm thử để đảm bảo tính đúng đắn của dữ liệu ( Số lượng bản ghi của bảng, bảng có bị trùng lặp dữ liệu không và có bị sai lệch không) Quá trình này sẽ được ghi lại vào file SIT Report – là file chứa thông tin sai lệch của dữ liệu, các đoạn Code sai của lập trình viên,… cần phải thay đổi và sửa chữa

(5) File SIT hoàn thành thì sẽ được bàn giao và báo cáo với BA để họ thông báo cho các bên nghiệp vụ (người đưa ra yêu cầu) bắt đầu thực hiện test UAT – bên nghiệp

vụ sẽ cùng tiến hành kiểm tra Nếu có lỗi trong quá trình UAT thì nghiệp vụ sẽ gửi lỗi cho QA để QA thực hiện kiểm tra lại những trường hợp gặp lỗi xảy ra

(6) Khi có biên bản UAT tức là nghiệp vụ đã test thành công thì DEV – Lập trình viên sẽ đóng gói code và làm tài liệu Golive để bàn giao

Oracle Data Integrator được tích hợp đầy đủ với Oracle Cloud, Oracle Autonomous Data Warehouse, Oracle Autonomous Transaction Processing, Oracle ERP

Trang 29

Cloud, Oracle Fusion Middleware, Oracle GoldenGate, Oracle Enterprise Data Quality, Oracle Database, Oracle Big Data Appliance và Oracle Exadata trong số các công nghệ khác để đưa dữ liệu vào trung tâm doanh nghiệp của bạn Oracle Data Integrator là mở

và dựa trên tiêu chuẩn để làm việc với các ứng dụng của bên thứ 3 cũng như các ứng dụng của Oracle Kiến trúc E-LT của Oracle Data Integrator tạo mã gốc cho các RDBMS hoặc công cụ dữ liệu lớn khác nhau Kiến trúc E-LT trích xuất dữ liệu từ các nguồn khác nhau, tải nó vào mục tiêu và thực hiện các phép biến đổi bằng cách sử dụng sức mạnh của cơ sở dữ liệu hoặc công nghệ Dữ liệu lớn Bằng cách tận dụng cơ sở dữ liệu hiện có và cơ sở hạ tầng dữ liệu lớn, Oracle Data Integrator cung cấp hiệu quả vô song bằng cách giảm lưu lượng mạng và chuyển đổi dữ liệu trong máy chủ có chứa dữ liệu đích, kiến trúc E-LT mang lại hiệu suất cao nhất có thể

Oracle Data Integrator cũng mang lại khả năng tích hợp dữ liệu lớn quan trọng cho các doanh nghiệp Nó cung cấp tính không đồng nhất cho Big Data bằng cách mở rộng hỗ trợ cho các tiêu chuẩn Hadoop được sử dụng phổ biến nhất Thông qua các nguyên tắc thiết kế và triển khai tách rời của nó, ánh xạ Oracle Data Integrator liền mạch có thể chuyển đổi giữa các công nghệ Big Data cơ bản Cách tiếp cận này cung cấp việc thực hiện nhanh hơn và làm cho việc phát triển dữ liệu lớn hiệu quả hơn, loại

bỏ nhu cầu mã hóa tay, giảm yêu cầu về kỹ năng chuyên môn và đầu tư Dữ liệu lớn trong tương lai

Oracle Data Integrator là nền tảng tích hợp dữ liệu chiến lược cho Oracle Phiên bản 12c của Oracle Data Integrator đẩy công nghệ tiên tiến này trong tích hợp dữ liệu vượt xa phần còn lại của ngành công nghiệp

Trang 30

2 Kiến trúc của ODI

Hình 2.3 Kiến Trúc của ODI ODI bao gồm 2 phần chính là Oracle Data Integrator Studio và Oracle Data

Integrator Agent:

Oracle Data Integrator Studio: Là môi trường thực hiện để thiết kế, phát triển các

nhiệm vụ tích hợp dữ liệu thông qua các giao diện đồ họa với nhiều tính năng như:

- Thiết kế các bước xử lý, quy trình làm việc tích hợp dữ liệu

- Thực hiện quản lý metadata cho toàn bộ hệ thống

- Được tích hợp với các công cụ phục vụ việc phân tích dữ liệu như BI Publisher hay BI Analytics

Oracle Data Integrator Agent: Là môi trường thực thi các nhiệm vụ tích hợp dữ

liệu Agent được cài đặt tại máy chủ, nơi thực hiện cơ sở dữ liệu và các chương trình được đính kèm vào ODI Các tính năng chính của Agent:

- Thực hiện các nhiệm vụ ETL tự động

- Giám sát, quản lý các hoạt động của Data Integration

- Hỗ trợ khả năng tiền xử lý đưa dữ liệu vào hệ thống rất mạnh mẽ

Một số khái niệm cơ bản trong kiến trúc của ODI:

- Project: Dự án tích hợp dữ liệu, ở đây, cả thiết kế và quản lý nhiệm vụ tích hợp

dữ liệu được đưa vào một dự án

- Interface: Định nghĩa của các nhiệm vụ tích hợp dữ liệu

Trang 31

- Package: Tập hợp của các Interface, được tổ chức vào các công việc chuyển

đổi, quy trình tích hợp dữ liệu

- Load Plan: Kế hoạch tải dữ liệu thực thi Được thiết kế thông qua UI hướng tới

việc đạt được các mục tiêu xử lý dữ liệu trong một lịch trình được xác định

- Topology: Mô tả toàn bộ thông tin về cơ sở dữ liệu và resource truy cập vào

chúng

3 Các thành phần của ODI studio

Hình 2.4 Các thành phần của ODI Studio

Oracle Data Integrator Studio là thành phần chính của ODI, được sử dụng để thiết

kế, phát triển các nhiệm vụ tích hợp dữ liệu và quản lý metadata trong hệ thống Các thành phần chính trong Oracle Data Integrator Studio bao gồm:

Designer: Là giao diện thiết kế đồ họa cho phép người dùng thiết kế, tạo ra các

nhiệm vụ tích hợp dữ liệu bằng cách kết hợp các bước xử lý dữ liệu theo đúng trình tự Một số chức năng của Designer bao gồm:

- Thiết lập các kết nối với các nguồn và đích dữ liệu

- Thiết kế các bước xử lý dữ liệu đơn giản hoặc phức tạp

- Tạo ra các gói theo đúng quy trình tích hợp dữ liệu được đưa ra

Security: Cung cấp các tính năng quản lý an ninh cho hệ thống ODI Chức năng

của Security bao gồm:

- Quản lý tài khoản người dùng, phân quyền truy cập vào các tài nguyên trong hệ thống ODI

Trang 32

- Tiếp cận với các hệ thống bảo mật của Oracle và thực hiện xác thực khi sử dụng các tài nguyên của hệ thống

Operator: Cung cấp tính năng quản lý và giám sát các nhiệm vụ tích hợp dữ liệu

Người dùng có thể theo dõi quá trình thực hiện của các nhiệm vụ tích hợp dữ liệu, giám sát lỗi và sửa đổi các nhiệm vụ điều khiển

Topology Navigator: Cung cấp tất cả các thông tin về Topology được lưu trữ, cho

phép người dùng xem thông tin theo dạng cây và đồ thị

Execution Reporter: Hỗ trợ người dùng theo dõi và báo cáo về quá trình thực

hiện của các nhiệm vụ tích hợp dữ liệu, giúp người dùng nắm bắt được các văn bản tạo

ra trong quá trình xử lý

Oracle Data Integrator Studio là một công cụ tích hợp dữ liệu mạnh mẽ và đa

chức năng, cung cấp khả năng thiết kế, phát triển, quản lý và giám sát các nhiệm vụ tích hợp dữ liệu Các thành phần của Oracle Data Integrator Studio là rất đa dạng và cung cấp cho người dùng các tính năng đầy đủ để quản lý và thực hiện các tác vụ tích hợp dữ liệu một cách hiệu quả

4 Ưu điểm và nhược điểm của công cụ ODI

Ưu điểm

Kiến trúc hiệu quả: Oracle Data Integrator có cấu trúc đơn giản, sử dụng nguồn

và máy chủ đích để thực hiện các chuyển đổi phức tạp, trở thành một giải pháp hiệu quả

Hỗ trợ tất cả các nền tảng: ODI mang lại cho bạn nền tảng độc lập bằng cách hỗ

trợ tất cả các nền tảng, phần cứng và hệ điều hành trong cùng một phần mềm

Tiết kiệm chi phí: Oracle Data Integrator giảm chi phí liên quan đến việc phần

cứng ban đầu và mua lại phần mềm, đồng thời cũng giảm chi phí bảo trì vì nó loại bỏ nhu cầu về server và phương tiện ETL

Tự động phát hiện dữ liệu bị lỗi: Bằng cách sử dụng ODI, dữ liệu bị lỗi sẽ được

“tái chế” trước khi chèn vào ứng dụng đích, cung cấp cho bạn tường lửa chất lượng dữ liệu

Trang 33

Dễ dàng phát triển và bảo trì: Với đường cong học tập thấp, Oracle Data

Integrator tăng năng suất của nhà phát triển đồng thời tạo điều kiện cho việc bảo trì được diễn ra liên tục

Tích hợp phong phú: ODI bao gồm tất cả các loại tích hợp dữ liệu như dựa trên

dữ liệu, dựa trên sự kiện và dựa trên dịch vụ

Nhược điểm

Việc cài đặt cài đặt khá khó khăn

Chi phí sử dụng cao hơn so với các công cụ khác

Giao diện của ODI có thể được cải thiện ODI có nhiều tính năng, đặt tất cả chúng lại với nhau, và đôi khi thao tác gặp chút bối rối về việc sử dụng cái nào, cái nào không sử dụng Nó hơi phức tạp so với các công cụ khác ODI không có giao diện người dùng trực quan Để có thể sử dụng nó một cách hiệu quả cần phải biết tất cả các phần khác phù hợp về các khía cạnh logic và vật lý

Không thể xử lý tích hợp dữ liệu thời gian thực

Mọi công cụ đều có những ưu và nhược điểm và công cụ tích hợp dữ liệu Oracle Data Integrator của Tập đoàn Oracle cũng vậy, họ luôn luôn ghi nhận những đánh giá của khách hàng để có thể cải thiện sản phẩm của mình Vì vậy ở phiên bản ODI này cũng đã có nhiều cải tiển so với phiên bản trước Điều này cho thấy Tập đoàn Oracle luôn biết lắng nghe khách hàng để phát triển sản phẩm của mình phù hợp với người dùng và để thể hiện rằng Oracle là một trong những thương hiệu dẫn đầu về công nghệ trong thời đại mới

2.2.2 Công cụ SQL Developer

Hình 2.5 Công cụ Oracle SQL Developer

SQL Developer là một môi trường phát triển tích hợp để làm việc với SQL trong

cơ sở dữ liệu Oracle

Trang 34

Oracle SQL Developer là một công cụ miễn phí giúp nâng cao năng suất và đơn

giản hóa các tác vụ phát triển cơ sở dữ liệu Oracle SQL Developer là một phiên bản của

SQL * Plus cung cấp cho các nhà phát triển cơ sở dữ liệu một cách thuận tiện để thực hiện các tác vụ cơ bản

Với SQL Developer sẽ giúp duyệt, tạo, chỉnh sửa và xóa các đối tượng cơ sở dữ

liệu, chạy các câu lệnh SQL và tập lệnh SQL, chỉnh sửa và gỡ lỗi các câu lệnh PL/SQL, thao tác và xuất dữ liệu, xem và tạo báo cáo

Có thể kết nối với cơ sở dữ liệu Oracle và kết nối với cơ sở dữ liệu của bên thứ ba (không phải Oracle) đã chọn, xem siêu dữ liệu và dữ liệu cũng như di chuyển các cơ sở

dữ liệu này sang Oracle

SQL Developer cũng tích hợp giao diện vào một số công nghệ liên quan, bao gồm Oracle Data Miner, Oracle OLAP, Oracle TimesTen In-Memory Database và SQL Developer Data Modeler

2.2.3 Ngôn ngữ PL/SQL

1 PL/SQL là gì ?

PL/SQL (PL : Procedural Language – Ngôn ngữ Thủ tục) là một mở rộng của SQL, kết hợp vào trong đó rất nhiều đặc tính của các ngôn ngữ lập trình gần đây Nó cho phép các thao tác dữ liệu và các câu lệnh query SQL bao gồm các đoạn mã có cầu trúc khối và tính thủ tục (block-structure and procedural unit of code), làm cho PL/SQL thành một ngôn ngữ xử lý giao dịch mạnh mẽ

Hiểu đơn giản hơn thì PL/SQL là ngôn ngữ được cải tiến từ ngôn ngữ SQL của nhà Oracle cũng giống như Microsoft sáng tạo ra ngôn ngữ T-SQL nhằm tăng tiến độ và cải thiện hiệu suất xử lý và truy xuất dữ liệu

Trang 35

Trong PL/SQL, các câu lệnh thao tác dữ liệu được đặt trong một đơn vị thủ tục code hay một block PL/SQL

Cũng giống ngôn ngữ lập trình PL/SQL cho phép:

- Có thể đặt các biến, kiểu dữ liệu, hằng số

- Sử dụng cấu trúc vòng lặp rẽ nhánh

- Chương trình viết có thể tái xử dụng nhiều lần

Hình 2.7 Môi trường thực thi PL/SQL

2 Lợi ích của PL/SQL

- PL/SQL giúp tối ưu hóa hiệu năng của ứng dụng

+ Tốc độ tương tác với dữ liệu rất nhanh do các công việc tính toán phức tạp với tập dữ liệu lớn đều do PL/SQL xử lý

+ PL/SQL tập hợp các câu lệnh SQL thành từng Unit và gửi toàn bộ chúng xuống DB thay vì lần lượt từng câu lệnh

Hình 2.8 Lợi ích của PL/SQL

- Phát triển chương trình theo hướng modul hóa

Trang 36

- Tương thích với nhiều công cụ Oracle như: Oracle Forms, Oracle Reports

- PL/SQL giúp bảo mật, đóng gói các xử lý chi tiết

- PL/SQL cung cấp nhiều tính năng mạnh mẽ như ngôn ngữ lập trình ứng dụng như: cấu trúc lập trình: rẽ nhánh, lặp , kiểu dữ liệu đối tượng, cursor, Array

- Giúp code rõ ràng mạch lạch và dễ bảo trì (maintenace) qua việc tạo hàm, thủ tục

- Cung cấp cơ chế kiểm soát ngoại lệ

3 Cấu trúc của PL/SQL

PL/SQL được tổ chức theo từng khối lệnh, gồm 3 phần Một khối lệnh

có thể có các khối lệnh con bên trong nó

- Phần khai báo - Declare (tùy chọn)

- Phần thực thi - Execution (bắt buộc)

- Xử lý ngoại lệ - Exception (Hoặc báo lỗi) (tùy chọn)

Trang 37

4 Các khối lệnh PL/SQL – Chương trình con (subprogram)

Hình 2.9 Các khối lệnh của PL/SQL

a) Anonymous – Khối Ẩn danh

- Là các unnamed block - khối ẩn danh Một khối ẩn danh không được lưu trong máy chủ Cơ sở dữ liệu Oracle, vì vậy nó chỉ được sử dụng một lần

- Có thể được lồng trong các khối khác

- Nếu muốn thực thi lại block thì cần viết lại

- Các khối ẩn danh PL/SQL có thể hữu ích cho mục đích thử nghiệm

b) Function - Hàm

Function cũng là một PL/SQL chương trình con Giống như procedure PL/SQL, các chức năng có một tên duy nhất mà nó có thể được gọi Chúng được lưu trữ như các đối tượng cơ sở dữ liệu PL/SQL Dưới đây là một số đặc điểm của các Function

- Function là một khối độc lập mà chủ yếu được sử dụng cho mục đích tính toán

- Function sử dụng RETURN để trả về giá trị, và các kiểu dữ liệu trong số này được xác định tại thời điểm tạo ra

- Function không có báo cáo DML có thể gọi trực tiếp trong truy vấn SELECT trong khi chức năng với hoạt động DML chỉ có thể được gọi là từ khối PL/SQL khác

- Function có thể có khối lồng nhau, hoặc nó có thể được xác định và lồng vào bên trong các khối hoặc các gói khác

- Nó chứa phần khai báo (tùy chọn), phần thực thi, phần xử lý ngoại lệ (tùy chọn)

Trang 38

- Function này cũng có thể trả về giá trị thông qua các tham số OUT hoặc RETURN

- [ (parameter [,parameter]) là các tham số (IN, OUT, INT OUT)

- RETURN return_datatype là kiểu dữ liệu sẽ trả về của function

- [declaration_section] là các biến định nghĩa dùng trong hàm

Một số Built-in Functions:

Conversion Functions – Chuyển đổi

- TO_CHAR(string) chuyển đổi datatype

- TO_DATE (string, format) chuyển đổi chuỗi date, string đưa vào phải đúng format

Trang 39

- TO_NUMBER (text, format) chuyển đổi sang dạng number theo format

String Functions – Xử lý Chuỗi

- UPPER (text) trả về chữ hoa

- LOWER (text) trả về chữ thường

- LENGTH (text) độ dài của văn bản

- SUBSTR(text,i,j): lấy ra 1 chuỗi từ Text, cắt từ vị trí thứ I đến vị trí thứ j

Date Functions – Xử lý Thời Gian

- ADD_MONTHS (date, no.of months) thêm tháng

- SYSDATE thời gian hiện tại của system

c) Procedure – Thủ tục

Procedure là một kiểu chương trình con, nó bao gồm một nhóm các lệnh PL/SQL Mỗi thủ tục trong Oracle có tên riêng của nó mà nó có thể được gọi Là các named block, được gọi thực thi từ các block khác Đơn vị chương trình con này được lưu trữ như là một đối tượng cơ sở dữ liệu Dưới đây là những đặc điểm của dạng chương trình con này

- Procedure là một khối độc lập của một chương trình được lưu trữ trong cơ sở dữ liệu

- Gọi đến các Procedure này có thể được thực hiện bằng cách đề cập đến tên của chúng

- Nó chủ yếu được sử dụng để thực hiện một quá trình bên trong PL/SQL

- Nó có thể có khối lồng nhau, hoặc nó có thể được xác định và lồng vào bên trong các khối hoặc các gói khác

- Các giá trị có thể được thông qua vào các thủ tục hoặc lấy từ các thủ tục thông qua các tham số

- Những thông số cần được đưa vào khai báo để sử dụng

Trang 40

- Procedure có thể có RETURN để trả lại quyền kiểm soát vào khối gọi nó, nhưng

nó không thể trả lại bất kỳ giá trị thông qua RETURN

- Thủ tục không thể được gọi trực tiếp từ câu lệnh SELECT, chúng có thể được gọi là từ khối khác hoặc thông qua từ khóa EXECEPTION Có thể gọi bất cứ khi nào chúng ta muốn

- procedure_name là tên của procedure

- [OR REPLACE]: Khai báo tham số này thì nó sẽ xóa procedure có tên

trùng với tên của procedure đang chạy

- [(parameter [,parameter])] là các tham số truyền vào procedure (IN, OUT,

IN OUT)

d) Quy trình làm việc với Subprogram

Có 4 bước làm việc với Subprogram :

- Bước 1: Tạo một subprogram (Function, Procedure)

Ví dụ: Tạo function có tên welcome_msgJune

Ngày đăng: 16/06/2023, 09:39

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Oracle SQL Developer User's Guide, 2006-2022, Oracle Corporation Sách, tạp chí
Tiêu đề: Oracle SQL Developer User's Guide
Nhà XB: Oracle Corporation
Năm: 2006-2022
[2] Oracle Data Integrator 12c New Features Overview, 2018, Oracle Corporation [3] Oracle Data Integrator Best Practices for a Data Warehouse, 2010, An Oracle White Paper Sách, tạp chí
Tiêu đề: Oracle Data Integrator 12c New Features Overview
Nhà XB: Oracle Corporation
Năm: 2018
[4] Oracle Data Integrator Best Practices for a Data Warehouse, 2008, ODI Product Management Sách, tạp chí
Tiêu đề: Oracle Data Integrator Best Practices for a Data Warehouse
Nhà XB: ODI Product Management
Năm: 2008
[5] Oracle Documention Online [Online] URL: https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj29026.html Sách, tạp chí
Tiêu đề: Oracle Documentation Online
[6] Oracle PL/SQL Stored Procedure & Functions with Examples [Online] URL: https://www.guru99.com/subprograms-procedures-functions-pl-sql.html Sách, tạp chí
Tiêu đề: Oracle PL/SQL Stored Procedure & Functions with Examples
Tác giả: Fiona Brown
Năm: 2024
[8] VinBigData, “Đường dẫn dữ liệu ETL và ELT: Đâu là khác biệt cơ bản?”,ngày đăng: 9/11/2021- ngày cập nhật: 13/01/2022. [Online]URL: https://vinbigdata.com/duong-dan-du-lieu-etl-va-elt-dau-la-khac-biet-co-ban/ Sách, tạp chí
Tiêu đề: Đường dẫn dữ liệu ETL và ELT: Đâu là khác biệt cơ bản
Tác giả: VinBigData
Năm: 2021

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