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

Xây dựng và khai thác kho dữ liệu cước khách hàng tại Công ty Thông tin Viễn thông Điện lực

65 889 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

Định dạng
Số trang 65
Dung lượng 2,41 MB

Nội dung

Và mặc dù các hệ thống máy tính đã cố gắng lưu trữ một khối lượng dữ liệu cực lớn, rất nhiều trường hợp con ngừời vẫn không khai thác được hết tiềm năng của chúng, có nghĩa là không thể

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

PHẠM THỊ ĐÀO

XÂY DỰNG VÀ KHAI THÁC KHO DỮ LIỆU CƯỚC KHÁCH HÀNG

TẠI CÔNG TY THÔNG TIN VIỄN THÔNG ĐIỆN LỰC

LUẬN VĂN THẠC SĨ

Hà Nội - 2011

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

PHẠM THỊ ĐÀO

XÂY DỰNG VÀ KHAI THÁC KHO DỮ LIỆU CƯỚC KHÁCH HÀNG TẠI CÔNG TY THÔNG TIN

VIỄN THÔNG ĐIỆN LỰC

Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin

Mã số: 60.48.05

LUẬN VĂN THẠC SĨ

Cán bộ hướng dẫn khoa học: TS Nguyễn Trí Thành

Hà Nội - 2011

Trang 3

MỤC LỤC

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

DANH MỤC HÌNH VẼ 6

DANH MỤC BẢNG 7

MỞ ĐẦU 8

CHƯƠNG 1 TỔNG QUAN VỀ KHO DỮ LIỆU 9

1.1 Giới thiệu bài toán xây dựng kho dữ liệu 9

1.2 Khái niệm chung về kho dữ liệu 10

1.2.1 Định nghĩa kho dữ liệu 10

1.2.2 Sự khác nhau giữa kho dữ liệu và CSDL tác nghiệp 11

1.3 Lịch sử ra đời và vai trò của kho dữ liệu 12

1.3.1 Lịch sử ra đời 12

1.3.2 Vai trò của kho dữ liệu 12

1.4 Kiến trúc tổng thể kho dữ liệu 13

1.5 Kho dữ liệu chủ đề (Datamart) 15

1.6 Các bước cơ bản xây dựng kho dữ liệu 15

1.6.1 Định dạng nguồn dữ liệu 16

1.6.2 Trích chọn dữ liệu 16

1.6.3 Làm sạch và chuyển dạng 16

1.6.4 Nạp, tích hợp vào kho dữ liệu 17

1.6.5 Xây dựng mô hình dữ liệu đa chiều 18

1.7 Ví trí của làm sạch dữ liệu trong quá trình xây dựng kho dữ liệu 22

CHƯƠNG 2 LÀM SẠCH DỮ LIỆU VÀ CÁC GIẢI PHÁP KỸ THUẬT 24

2.1 Khái niệm về làm sạch dữ liệu 24

2.2 Vai trò của quá trình làm sạch dữ liệu 24

2.3 Các vấn đề chất lượng dữ liệu 25

2.3.1 Làm sạch dữ liệu mức đơn nguồn 26

2.3.2 Làm sạch dữ liệu mức đa nguồn 28

2.3.3 Các giải pháp làm sạch dữ liệu 30

CHƯƠNG 3 XÂY DỰNG VÀ KHAI THÁC KHO DỮ LIỆU CƯỚC KHÁCH HÀNG TẠI CÔNG TY THÔNG TIN VIỄN THÔNG ĐIỆN LỰC 31

3.1 Hiện trạng và yêu cầu 31

3.1.1 Giới thiệu về Công ty Thông tin Viễn thông Điện lực 31

3.1.2 Hiện trạng tổ chức thông tin 31

3.1.3 Hạn chế của các tổ chức thông tin hiện tại 33

3.1.4 Yêu cầu bài toán 33

3.2 Xây dựng kho dữ liệu 34

3.2.1 Giới thiệu công cụ Oracle Warehouse Builder 34

3.2.2 Tạo dữ liệu nguồn 41

3.2.3 Tạo dữ liệu đích 42

3.2.4 Trích chọn, làm sạch, tích hợp, nạp dữ liệu 43

3.2.5 Lược đồ quan hệ giữa các bảng trong kho dữ liệu 52

3.2.6 Xây dựng kho dữ liệu chủ đề 52

3.2.7 Xây dựng khối dữ liệu nhiều chiều 53

Trang 4

3.3 Khai thác kho dữ liệu 60 KẾT LUẬN 64 TÀI LIỆU THAM KHẢO 65

Trang 5

4 ETL Extraction, Transformation, Loading

5 KDD Knowledge Discovery and Data Mining

7 LSDL Làm Sạch Dữ Liệu

8 OWB Oracle Warehouse Builder

9 OLAP Online Analyst Processing

10 OLTP OnlineTransaction Processing

11 WB Warehouse Builder

Trang 6

DANH MỤC HÌNH VẼ

Hình 1 Đặc trưng của kho dữ liệu 10

Hình 2 Kiến trúc 3 tầng kho dữ liệu 14

Hình 3 Ví dụ lược đồ hình sao 19

Hình 4 Ví dụ lược đồ hình bông tuyết 21

Hình 5 Ví dụ lược đồ chòm sự kiện 21

Hình 6 Ví trí của làm sạch dữ liệu trong quá trình xây dựng kho dữ liệu 22

Hình 7 Phân loại vấn đề chất lượng dữ liệu 26

Hình 8 Ví dụ đa nguồn mức lược đồ và mức thể hiện 29

Hình 9 Mô hình tổ chức EVNTelecom 31

Hình 10 Hiện trạng tổ chức thông tin tại EVNTelecom 32

Hình 11 Quy trình báo cáo hiện nay tại EVNTelecom 33

Hình 12 Mô hình kho dữ liệu cước khách hàng 34

Hình 13 Các thành phần của OWB 35

Hình 14 Chu kỳ xử lý đảm bảo chất lượng dữ liệu 37

Hình 15 Phân loại quá trình hồ sơ dữ liệu trong Warehouse Builder 39

Hình 16 Các loại hồ sơ dữ liệu 40

Hình 17 Tạo module nguồn 42

Hình 18 Tạo module đích 43

Hình 19 Quy trình xây dựng kho dữ liệu 43

Hình 20 Hồ sơ hóa bảng KHACH_HANG_MB 48

Hình 21 Phân tích thuộc tính CMT, GIOI_TINH 49

Hình 22 Lược đồ quan hệ giữa các bảng trong kho dữ liệu 52

Hình 23 Cấu trúc các kho dữ liệu chủ đề 53

Hình 24 Tạo đối tượng chiều 54

Hình 25 Tạo đối tượng chiều KIEUTHANHTOAN 55

Hình 26 Chọn kiểu lưu trữ 55

Hình 27 Khai báo thuộc tính cho đối tượng chiều 56

Hình 28 Hoàn thành bước tạo đối tượng chiều 56

Hình 29 Tạo các khối dữ liệu 57

Hình 30 Lược đồ hình sao khối phattrien_thuebao 58

Hình 31 Lược đồ hình sao khối doanhthu 58

Hình 32 Lược đồ hình sao khối congno 59

Hình 33 Lược đồ hình sao khối thanhkhoan 59

Hình 34 Giao diện chương trình 60

Hình 35 Báo cáo tăng trưởng thuê bao CDMA 61

Hình 36 Báo cáo tăng trưởng doanh thu CDMA 61

Hình 37 Báo cáo tăng trưởng thuê bao 3G 62

Hình 38 Báo cáo tăng trưởng doanh thu 3G 62

Hình 39 Báo cáo so sánh doanh thu giữa các tháng 63

Hình 40 Báo cáo tình hình thu nợ 63

Trang 7

DANH MỤC BẢNG

Bảng 1 Ví dụ về bài toán đơn nguồn - mức lược đồ 27

Bảng 2 Ví dụ về bài toán đơn nguồn - mức thể hiện 28

Bảng 3 Danh sách các bảng trong CSDL 46

Bảng 4 Danh sách các bảng dữ liệu trong được tích hợp 51

Trang 8

MỞ ĐẦU

Trong thời đại ngày nay, sự bùng nổ của công nghệ thông tin đã khiến cho nhu cầu tiếp nhận và xử lý thông tin trở nên cực kỳ bức thiết Thông tin là vấn đề quan trọng hàng đầu của các công ty, tổ chức doanh nghiệp Các hệ thống thông tin được duy trì tốt sẽ cho phép các công ty có được những quyết định mang tính nghiệp vụ thành công Thông tin lại nằm dưới dạng dữ liệu Bùng nổ thông tin kéo theo tình trạng bùng

nổ dữ liệu Và mặc dù các hệ thống máy tính đã cố gắng lưu trữ một khối lượng dữ liệu cực lớn, rất nhiều trường hợp con ngừời vẫn không khai thác được hết tiềm năng của chúng, có nghĩa là không thể chiết xuất được các thông tin cần thiết ; chỉ có thể thu được thông tin sau khi tổng kết các dữ liệu theo những hình thức khác nhau Thông tin càng sâu thì mức độ và hình thức tổng kết càng phức tạp, nhất là thực hiện trên một tập dữ liệu lớn

Một trong những giải pháp tối ưu cho vấn đề này chính là Data Warehouse – Kho

dữ liệu, một hệ thống tích hợp nhiều chức năng giúp đưa ra thông tin cần thiết và hợp

lý cho người dùng Tuy nhiên, để khai thác được thông tin có hiệu quả, có nghĩa là để

có được thông tin tốt thì điều cần thiết là phải có, duy trì và đảm bảo được chất lượng

dữ liệu Dữ liệu sạch sẽ là đầu vào lý tưởng cho các hệ thống Kho dữ liệu phục vụ cho các mục đích khai thác dữ liệu và phát hiện tri thức Quá trình làm sạch dữ liệu được coi là giai đoạn tiền xử lý để có được nguồn dữ liệu đảm bảo chất lượng trước khi nạp vào trong Kho dữ liệu

Công ty Thông tin Viễn thông Điện lực (EVNTelecom) không nằm ngoài xu hướng của sự bùng nổ thông tin trên EVNTelecom kinh doanh các dịch vụ viễn thông bao gồm dịch vụ cố định, di động, internet…với gần 3 triệu khách hàng và gần 3tr thuê bao; mỗi tháng phát sinh xấp xỉ 3 triệu hoá đơn cước…Ngoài ra còn các thông tin về công nợ của khách hàng, thông tin về đối soát và thanh toán cước giữa EVNTelecom

và các nhà cung cấp viễn thông khác Đây là nguồn dữ liệu phong phú, rất hữu ích cho việc ra quyết định chiến lược kinh doanh Tuy nhiên với cách tổ chức hỗn tạp và rời rạc như hiện nay thì việc khai thác nguồn dữ liệu trên còn nhiều hạn chế

Xuất phát từ thực tế trên tại EVNTelecom, em quyết định chọn đề tài “Xây dựng

và khai thác khai thác kho dữ liệu cước khách hàng tại Công ty Thông tin Viễn thông Điện lực”

Trang 9

CHƯƠNG 1 TỔNG QUAN VỀ KHO DỮ LIỆU

1.1 Giới thiệu bài toán xây dựng kho dữ liệu

Ngày nay, phần lớn các công ty đều hiểu rằng việc tập hợp và lưu trữ các nguồn dữ liệu giao dịch là vô cùng có ích Thực tế cho thấy hầu hết các công ty đều ghi lại các giao dịch của họ Dữ liệu được tập hợp trong nhiều năm từ các nguồn khác nhau Một vài trong số chúng được lưu trữ trong các máy tính lớn, một vài được lưu trữ trong các

hệ thống cá nhân và một vài trong các ứng dụng client- server Hơn nữa, mỗi hệ thống

này hầu như là đều được xây dựng và duy trì bởi nhiều người khác nhau Qua thời

gian lượng dữ liệu trở nên khổng lồ, phân tán và không nhất quán…

Giải pháp tối ưu trong trường hợp này chính là xây dựng kho dữ liệu (KDL)

KDL không chỉ lưu trữ dữ liệu có tính lịch sử mà nó còn là một nền tảng để tích hợp

dữ liệu cực kỳ tốt KDL giúp các công ty dễ dàng và nhanh chóng tìm kiếm các dữ liệu lịch sử của họ Đặc biệt, các công cụ xử lý phân tích trực tuyến (OLAP) trong KDL cho phép người dùng đưa ra các báo cáo chỉ với các thao tác kích chuột và tìm kiếm các quá trình thực thi của công ty ở những góc cạnh khác nhau, trong các khoảng thời gian khác nhau

Kho dữ liệu đóng vai trò cải thiện tốc độ truy vấn dữ liệu, hỗ trợ việc phân tích, báo cáo; hỗ trợ phát hiện tri thức và ra quyết định; giúp tăng hiệu suất thực thi

Mặc dù kho dữ liệu ra đời từ rất lâu (những năm 90 của thế kỷ trước) và có một vai trò to lớn đối với hoạt động của doanh nghiệp, nhưng tại Việt Nam việc xây dựng kho

dữ liệu mới chỉ được áp dụng tại một số công ty lớn trong một số lĩnh vực (ngân hàng, viễn thông…)

Công ty thông tin Viễn thông Điện lực (EVNTelecom) là một công ty kinh

doanh các dịch vụ viễn thông bao gồm dịch vụ điện thoại cố đinh, di động, internet, voip trong nước và quốc tế…EVNTelecom có gần 3 triệu khách hàng và 3 triệu thuê bao Mỗi tháng EVNTelecom có xấp xỉ 3 triệu hoá đơn cước và hàng trăm triệu cuộc gọi chi tiết của khách hàng…Ngoài ra, EVNTelecom còn lưu trữ các thông tin về công

nợ của khách hàng, thông tin về đối soát và thanh toán cước giữa EVNTelecom và các nhà cung cấp viễn thông khác Đây là nguồn dữ liệu phong phú, rất hữu ích cho việc ra quyết định chiến lược kinh doanh Tuy nhiên với cách tổ chức hỗn tạp và rời rạc như hiện nay thì việc khai thác nguồn dữ liệu trên còn nhiều hạn chế

Chính vì vậy, nhu cầu xây dựng và khai thác kho dữ liệu cước khách hàng tại EVNTelecom rất cấp thiết Đây chính là bài toán sẽ được nghiên cứu trong luận văn và triển khai thực tế tại EVNTelecom

Trang 10

1.2 Khái niệm chung về kho dữ liệu

1.2.1 Định nghĩa kho dữ liệu

Định nghĩa do W.H Inman đề xướng: DATA WAREHOUSE (DWH) được hiểu

là một tập hợp các dữ liệu tương đối ổn định (không hay thay đổi), cập nhật theo thời gian, được tích hợp theo hướng chủ đề nhằm hỗ trợ quá trình tạo quyết định về mặt quản lý

Hình 1 Đặc trưng của kho dữ liệu

Hướng chủ đề (Subject - Oriented) : Một KDL được tổ chức theo những chủ đề

chính như khách hàng (customer), sản phẩm (product), bán hàng (sale) Thay vì chú trọng vào các hoạt động và xử lý giao tác hàng ngày của tổ chức, một KDL tập trung vào việc mô hình hóa và phân tích dữ liệu hỗ trợ ra quyết định Do đó, KDL thường cung cấp một khung nhìn đơn giản và chính xác về một chủ đề cụ thể bằng cách loại trừ những dữ liệu không có ích trong quá trình ra quyết định

Tích hợp (Integrated): Một trong những đặc trưng quan trọng nhất của KDL là dữ

liệu chứa trong nó phải được tích hợp thành một thể thống nhất Có nghĩa là một KDL thường được xây dựng bằng cách tích hợp những nguồn dữ liệu khác nhau như: CSDL quan hệ, các file không cấu trúc (flat files), những bản ghi giao tác trực tuyến

Các kỹ thuật làm sạch và tích hợp dữ liệu được áp dụng nhằm đảm bảo sự nhất quán trong việc đặt tên, mã hóa cấu trúc, đánh giá thuộc tính, Khi các nhà phân tích

Trang 11

hệ hỗ trợ quyết định (DSS) tiếp cận KDL , sự quan tâm của họ là sử dụng KDL mà không còn băn khoăn về độ tin cậy cũng như tính nhất quán của dữ liệu

Gắn với thời gian (Time Variant) : Tất cả dữ liệu trong một KDL là chính xác tại

một thời điểm nào đó Đặc trưng cơ bản này của dữ liệu trong KDL rất quan trọng so với trong môi trường tác nghiệp Yêu cầu của một KDL là phạm vi về thời gian dài hơn so với các hệ thống tác nghiệp Với CSDL tác nghiệp , dữ liệu có giá trị hiện thời, trong khoảng 60-90 ngày Trong KDL, dữ liệu cung cấp thông tin lịch sử ( khoảng từ 5-10 năm trước)

Mặt khác, dữ liệu trong KDL một khi đã được sửa lỗi thì không thể cập nhật được Xét về mặt mục đích thực tế, chúng là một chuỗi dài các snapshot Nếu một snapshot được tạo ra chưa chính xác thì sau đó nó sẽ được cập nhật lại , bằng cách thêm một snapshot khác Do đó, ta giả sử rằng nó là chính xác và một khi đã được tạo ra , nó sẽ không bị thay đổi nữa Bởi vì nếu sửa đổi, trong một vài trường hợp sẽ dẫn đến sự trái quy tắc thậm chí dẫn đến sai sót Ngược lại, dữ liệu tương tác phản ánh sự chính xác tại thời điểm truy cập có thể được cập nhật nếu cần thiết

Ổn định (Non- Volative): KDL là một kho chứa dữ liệu , lưu trữ kiểu vật lý các

dữ liệu chuyển đổi từ môi trường tác nghiệp Do đó, việc cập nhật tác nghiệp dữ liệu là không tồn tại trong KDL Trong KDL, không yêu cầu các cơ chế xử lý giao dịch, phục hồi và điều khiển tương tranh Nó chỉ yêu cầu hai thao tác trong quá trình truy cập dữ liệu, đó là nạp dữ liều ban đầu vào KDL và truy cập dữ liệu đó

1.2.2 Sự khác nhau giữa kho dữ liệu và CSDL tác nghiệp

DWH về bản chất cũng là một database bình thường, các hệ quản trị cơ sở dữ liệu quản lý và lưu trữ nó như các database thông thường (tuy nhiên có hỗ trợ thêm về quản

lý dữ liệu lớn và truy vấn) Thực ra nét khác biệt của DWH so với database là ở quan niệm, cách nhìn vấn đề:

 Trước tiên DWH là database rất lớn (very large database-VLDB)

 Database hướng về xử lý thời gian thực, DWH hướng về tính ổn định

 Database phục vụ xử lý transaction, cập nhật Datawarehouse thường chỉ đọc, phục vụ cho những nhu cầu báo cáo VD: Chúng ta sẽ yêu cầu hãy cho biết trong 5 năm, bộ phận phần mềm đã làm được những dự án nào từ đó chúng ta

sẽ có quyết định về hiệu năng của nhóm này

 DWH sẽ lấy thông tin có thể từ nhiều nguồn khác nhau: DB2, Oracle, SQLserver thậm chí cả File thông thưởng rồi làm sạch chúng và đưa vào cấu trúc của nó-đó là VLDB(very large database) DWH rất lớn nên muốn cho từng

bộ phận chuyên biệt người sử dụng cuối cùng có thể khai thác thông dễ dàng thì

Trang 12

bản thân DWH phải được chuyên hoá, phân ra thành những chủ đề, do đó những chủ đề chuyên môn hóa đó tạo thành một Database chuyên biệt-đó là Data mart VD: DWH của Microsoft là rất lớn, trong một núi thông tin đó làm sao khai thác? Vì thế có rất nhiều Data mart về kinh doanh, tiếp thị, kỹ thuật, testing,… Có một điểm lưu ý ở đây là có một công cụ hay đúng hơn là một chuẩn công cụ mà mọi hệ quản trị Database hỗ trợ cho việc truy vấn thông tin trong Datamart rồi đưa ra những quyết định, nhận dịnh những thông tin trong Datamart - Đó là OLAP, bộ phân tích trực tuyến

 Một điểm quan trọng là Database thường được chuẩn hóa (Dạng chuẩn 1, 2, 3, BCK) để khai thác DWH phải phi chuẩn hoá rồi sau đó có thể chuẩn hoá theo start chema trong Data mart, điều này đồng nghĩa vớI việc DWH sẽ trùng lắp thông tin Thật ra điều này là hiển nhiên vì việc chuẩn hoá nhằm tránh sự trùng lắp thông tin, do đó sẽ nhất quán trong việc cập nhật, thêm, xoá, sửa, tuy nhiên DWH là Database rất lớn phục vụ cho báo cáo, truy vấn chỉ đọc nên việc trùng lắp thông tin sẽ giúp thao tác tìm kiếm sẽ nhanh hơn Đây cũng là một quy luật: Càng trùng lắp thông tin thì tìm kiếm càng dễ dàng và ngược lại

1.3 Lịch sử ra đời và vai trò của kho dữ liệu

1.3.1 Lịch sử ra đời

KDL ra đời vào những năm 90 của thế kỷ trước, được đề xướng bởi B.Inmon, là một cách tiếp cận khác được so với hệ thống OLTP(Online Transaction Processing) KDL là sự kết hợp của một số giải pháp kỹ thuật và được đặt tên là Data Warehoushing - kỹ thuật xây dựng các KDL

Những người đầu tiên đưa ra ý tưởng về KDL xác định rằng tiến hành phân tích trực tiếp trên dữ liệu của các hệ xử lý giao dịch là không hiệu quả Dữ liệu từ các hệ thống OLTP được biến đổi và sau đó đưa vào một nguồn dữ liệu duy nhất là KDL

1.3.2 Vai trò của kho dữ liệu

 KDL cải thiện tốc độ truy vấn dữ liệu, hỗ trợ việc phân tích, báo cáo

KDL được thiết kế đặc trưng hỗ trợ cho các thao tác phân tích, báo cáo và truy vấn

dữ liệu

Mô hình dữ liệu được “làm phẳng” và được cấu trúc theo các vùng chủ đề giúp người dùng dễ dàng hơn trong việc lấy thông tin phức tạp chỉ bằng việc thực hiện phân tích đa chiều và truy vấn tương đối đơn giản Nó hỗ trợ quá trình phân tích đa mức và thực hiện quyền cho người dùng cuối

Trang 13

Mô hình dữ liệu được “làm phẳng” (flattened) giúp người dùng dễ dàng hơn trong việc hiểu và viết các câu truy vấn có thể liên quan tới vài trăm bảng và viết các câu truy vấn với các phép “Join” giữa các bảng và các mệnh đề phức tạp

 KDL hỗ trợ phát hiện tri thức và ra quyết định (Knowledge Discovery and

 KDL giúp tăng hiệu suất thực thi (performance)

Cuối cùng, So sánh hiệu suất thực thi của các hệ thống giao dịch và thời gian đáp ứng truy vấn với một KDL.Các hệ thống giao dịch với chức năng chính chỉ đảm bảo thực thi các giao dịch hiệu quả Do đó, chúng được thiết kế để tối ưu thường xuyên việc đọc và ghi CSDL Ngược lại, KDL được thiết kế để tối ưu các quá trình truy vấn

và phân tích phức tạp Với một vài câu truy vấn chuyên biệt và các phép phân tích tương tác có thể chỉ mất vài giây đến vài phút trong KDL Nhưng với các hệ thống giao dịch, nó có thể là gánh nặng lớn và kéo cả quá trình thực thi đi xuống Trong các

hệ thống tác nghiệp, nếu lưu giữ dữ liệu lịch sử trong một thời gian dài có thể gây cản trở đến hiệu suất thực thi của hệ thống Do đó, KDL trở thành nơi thích hợp và đảm bảo cho dữ liệu mang tính lịch sử

1.4 Kiến trúc tổng thể kho dữ liệu

Kiến trúc 3 tầng của kho dữ liệu như hình 2:

Trang 14

Hình 2 Kiến trúc 3 tầng kho dữ liệu

Lớp dưới cùng là một máy chủ chứa cơ sở dữ liệu, thông thường là một hệ thống

cơ sở dữ liệu quan hệ Các công cụ và tiện ích được sử dụng để tích hợp dữ liệu từ các

cơ sở dữ liệu tác nghiệp hoặc các nguồn dữ liệu bên ngoài (ví dụ như thông tin về tiểu

sử khách hàng được cung cấp hởi các chuyên gia bên ngoài) vào kho dữ liệu Các công

cụ và tiện ích này thực hiện trích chọn dữ liệu, làm sạch dữ liệu, chuyển dạng, nạp dữ liệu và làm mới dữ liệu để cập nhật vào kho dữ liệu

Lớp giữa là một máy chủ OLAP, thường được cài đặt sử dụng môt trong các mô hình ROLAP (Relational OLAP), MOLAP (Multidimensional OLAP) và HOLAP (Hybrid OLAP)

Lớp trên cùng một lớp client phía người sử dụng, nó chứa các công cụ báo cáo, truy vấn, các công cụ phân tích, các công cụ khai phá dữ liệu…

Trang 15

1.5 Kho dữ liệu chủ đề (Datamart)

Kho dữ liệu chủ đề (Datamart-DM) là cơ sở dữ liệu có những đặc điểm giống với kho dữ liệu nhưng với quy mô nhỏ hơn và lưu trữ dữ liệu về một lĩnh vực, một chuyên ngành Các Datamart có thể được hình thành từ một tập con dữ liệu của kho dữ liệu hoặc cũng có thể được xây dựng độc lập và sau khi xây dựng xong các Datamart có thể được kết nối, tích hợp lại với nhau tạo thành kho dữ liệu

Datamart là một kho dữ liệu thứ cấp gồm các dữ liệu tích hợp của kho dữ liệu Datamart được hướng tới một phần của dữ liệu, thường được gọi là một vùng chủ đề (SA) được ta ra danh cho một nhóm người sử dụng Dữ liệu trong Datamart cho thong tin về một chủ đề xác định, không phải về toàn bộ các hoạt động nghiệp vụ đang diễn

ra trong một tổ chức Thể hiện thường xuyên nhất của Datamart là một kho dữ liệu riêng rẽ theo phương diện vật lý, thường được lưu trữ trên một Server riêng trong một mạng cục bộ phục vụ cho một nhóm người nhất định Đôi khi Datamart với công nghệ OLAP tạo ra các quan hệ theo dạng hình sao đặc biệt hoặc những siêu khối (Hypercube) dữ liệu chọ việc phân tích của một nhóm người có cùng mối quan tâm trên một phạm vi dữ liệu Có thể chia Datamart thành hai loại: Datamart độc lập và Datamart phụ thuộc

Data mart phụ thuộc (Dependent Data Mart): Chứa những dữ liệu được lấy từ

DW và những dữ liệu này sẽ được trích lọc và tinh chế, tích hợp lại ở mức cao hơn để phục vụ một chủ đề nhất định của Datamart

Data mart độc lập ( Independent Data Marts) không giống như Data Mart phụ

thuộc, Data mart độc lập được xây dựng trước kho dữ liệu và dữ liệu được trực tiếp lấy từ các nguồn dữ liệu tác nghiệp Phương pháp này đơn giản hơn và chi phí thấp hơn nhưng đổi lại có những điểm yếu Một Datamart độc lập có cách tích hợp riêng do

đó dữ liệu từ nhiều Datamart khó đồng nhất với nhau

Datamart thể hiện hai vấn đề: tính ổn định khi một Datamart nhỏ ban đầu lớn lên nhanh chống theo nhiều chiều và sự tích hợp dữ liệu giữa các Datamart Vì vậy khi thiết kế Datamart phải chú ý đến tính ổn định của hệ thống, sự đồng nhất dữ liệu và vấn đề về khả năng quản lý

1.6 Các bước cơ bản xây dựng kho dữ liệu

Phần này mô tả các bước chính trong quá trình phát triển một KDL, đặc biệt là các quá trình: trích chiết dữ liệu (Extracting), chuyển đổi dữ liệu (Transforming) và nạp dữ liệu vào trong KDL (Loading) – ETL Mất khá nhiều thời gian cho các thao tác này tùy thuộc vào độ phức tạp của các nguồn dữ liệu.Quy trình nạp dữ liệu từ ngoài vào

Trang 16

kho dữ liệu thông qua các bước: trích lọc, làm sạch và chuyển dạng, nạp hay tích hợp

dữ liệu

1.6.1 Định dạng nguồn dữ liệu

Đây là bước đầu tiên nhất trước khi bắt đầu xây dựng một KDL.Nguồn dữ liệu sẽ cần được định dạng Chúng cần được tính toán những yếu tố cần thiết để được cho vào một KDL

1.6.2 Trích chọn dữ liệu

Một phần công việc rất lớn của quá trình xây dựng KDL là lấy dữ liệu từ các nguồn khác nhau và đặt chúng vào khu vực lưu trữ trung tâm Ta cần phải tính toán hệ CSDL dùng cho vùng lưu trữ (staging area) và cách thức để lấy dữ liệu từ các nguồn khác nhau chuyển vào trong vùng đó

Đây là quá trình đọc dữ liệu từ dữ liệu nguồn, bao gồm các thao tác truy cập, giữ

và chọn lọc Quá trình này làm việc trên các hệ thống nguồn và các nguồn dữ liệu ngoài Có thể là CSDL gốc (original), CSDL ảnh (image) hay các hệ thống băng đĩa

từ Đối với các nguồn dữ liệu lớn thì việc truy cập vào băng đĩa từ sẽ hiệu quả hơn so với xử lý trong các file nguồn

Sau đó là phải lập ra kế hoạch và tần suất tiến trình trích dữ liệu Điều này nhằm tối thiểu hoá các tác động lên các hệ thống và thi hành các tác vụ này trong một cửa sổ xứ

lý theo lô (batch window) Đối với các bảng dữ liệu khác nhau thì tần suất trích dữ liệu

sẽ khác nhau Việc trích dữ liệu còn phụ thuộc vào sự ảnh hưởng từ hệ thống nguồn và loại dữ liệu sẽ được trích Ví dụ : Đối với dữ liệu bán hàng thì nên trích dữ liệu hàng ngày nhưng với dữ liệu sản phẩm thì chỉ cần trích hàng tuần

Thực tế thì đây chính là giai đoạn khó nhất Có thể xảy ra trường hợp những người

đã từng làm việc trên các hệ thống đã được chuyển đến công việc khác Hoặc họ đã rời công ty hoặc họ đã chuyển sang bộ phận khác

1.6.3 Làm sạch và chuyển dạng

Làm sạch dữ liệu là quá trình

 xác định tính không chính xác, không đầy đủ/tính bất hợp lý của dữ liệu

 chỉnh sửa các sai sót và thiếu sót được phát hiện

 nâng cao chất lượng dữ liệu

Quá trình bao gồm

Trang 17

 kiểm tra định dạng, tính đầy đủ, tính hợp lý, miền giới hạn,

 xem xét dữ liệu để xác định ngoại lai (địa lý, thống kê, thời gian hay môi

trường) hoặc các lỗi khác,

 đánh giá dữ liệu của các chuyên gia miền chủ đề

Quá trình thường dẫn đến

 loại bỏ, lập tài liệu và kiểm tra liên tiếp và hiệu chỉnh đúng bản ghi nghi ngờ

 Kiểm tra xác nhận có thể được tiến hành nhằm đạt tính phù hợp với các chuẩn

áp dụng, các quy luật, và quy tắc

Cách thực hiện:

 Tìm và loại trừ các bộ trùng nhau Ví dụ Jane Doe, Jane Q.Doe

 Kiểm tra tính nhất quán, khám phá dữ liệu sai, không nhất quán Ví dụ số phone không đúng, có ngòai vùng xác định không…

 Sửa hoàn chỉnh dữ liệu thiếu, không đọc được, hay giá trị rỗng NULL Chỉ ra các lỗi và có thể chèn giá trị mặc định…

 Cảnh báo cho các nguồn các kho dữ liệu về các lỗi tìm được

1.6.4 Nạp, tích hợp vào kho dữ liệu

Quá trình tích hợp bao gồm :

 Sắp xếp và hợp lại khi một bảng dữ liệu đích được tạo ra từ nhiều nguồn Khi

đó, dữ liệu được sắp xếp lại và loại bỏ đi các bản ghi giống nhau và chúng được hợp lại thành một file dữ liệu duy nhất

 Chia cắt dữ liệu nếu như từ một dữ liệu nguồn cần tạo ra nhiều dữ liệu đích, hoặc một thuộc tính lại nhiều trường chứa dữ liệu cho nó Trong trường hợp này, file hoặc trường đó phải được cắt tới mức thấp nhất

 Tạo ra các khoá tổng hợp (nhân tạo) có khă năng tách biệt và bảo vệ khỏi các biên động trong hệ thống nguồn

Sau tiến trình trích chiết, chuyển đổi làm sạch và sau khi xây dựng xong mô hình chiều, dữ liệu được nạp vào trong KDL

Có thể phân thành 2 loại hình nạp : nạp dữ liệu mang tính hiện thời đối với CSDL tác nghiệp và nạp cập nhật với CSDL tác nghiệp đã có thay đổi Cần đảm bảo việc làm tươi dữ liệu Đã có nhiều vấn đề xảy ra trong quá trình nạp cập nhật dữ liệu cho KDL Trong khi nạp cập nhật, cần chắc chắn là không xảy ra mất dữ liệu Cần lập kế hoạch cho việc nạp dữ liệu, thời gian và thứ tự của các bảng trong KDL

Trang 18

1.6.5 Xây dựng mô hình dữ liệu đa chiều

Phần lớn các hệ thống giao dịch hiện đại đều được xây dựng sử dụng các mô hình quan hệ CSDL quan hệ được chuẩn hóa ở mức cao Khi thiết kế hệ thống, cố gắng loại bỏ các cột trùng lặp và đảm bảo tất cả các cột đều phụ thuộc vào khóa chính của mỗi bảng Các hệ thống quan hệ hiệu quả tốt trong môi trường xử lý giao dịch trực tuyến (OLTP) Tuy nhiên chúng lại kém hơn khi thực thi trong môi trường có tích chất báo cáo (đặc biệt là KDL), việc kết nối giữa một số lượng bảng cực lớn không phải là một ý tưởng tốt nhất

Định dạng quan hệ tỏ ra không hiệu quả khi tiến hành xây dựng các báo cáo với các giá trị mang tính tổng quan và kết tập Ngược lại, phương pháp chiều (dimensional approach) giúp cải thiện quá trình truy vấn dữ liệu mà không ảnh hưởng đến việc tích hợp dữ liệu Một vấn đề nảy sinh là không gian lưu trữ CSDL chiều thì cần không gian lưu trữ lớn hơn CSDL quan hệ Ngày nay, không gian lưu trữ trở nên khá rẻ và hầu hết các công ty có thể đáp ứng được dung lượng lớn các ổ đĩa cứng

Mô hình chiều (Dimensional Model) bao gồm các bảng chiều (dimensions) và bảng

sự kiện (fact) Bảng sự kiện chứa khóa ngoài của mỗi bảng chiều và các phép đo Các phép đo (measures) cho phép xác định mức độ tốt hay tồi mà doanh nghiệp của bạn đang có.(vidu : số lượng bộ phận được sản xuất trong một giờ hay số lượng ô tô cho thuê trong một giờ…) Còn các chiều thể hiện cho cái mà nhà doanh nghiệp mong đợi trong các báo cáo – chi tiết về các phép đo (Vidu : chiều thời gian cho người dùng biết

có 2000 bộ phận đã được sản xuất trong khoảng từ 7h sáng đến 7h tối)

Các lược đồ cho lưu trữ dữ liệu đa chiều:

 Lược đồ hình sao (star schema)

 Lược đồ hình bông tuyết (Snowflake schema)

 Lược đồ chòm sao sự kiện (Fact constellations schema)

1.6.5.1 Lược đồ hình sao

Giản đồ hình sao được đưa ra lần đầu tiên bởi Raph Kimball như là một lựa chọn thiết kế CSDL cho kho dữ liệu Trong giản đồ hình sao, dữ liệu được xác định và phân loại theo 2 kiểu: sự kiện (bảng Fact: đối tượng trung tâm) và phạm vi (các bảng Dimension: các bảng liên kết) Trong giản đồ hình sao chỉ có một bảng liên quan trực tiếp tới hầu hết các bảng còn lại đó là bảng Fact và là bảng chứa yếu tố cốt lõi cần được phân tích Nó được gọi là giản đồ hình sao bởi vì các sự kiện nằm ở trung tâm của mô hình và được bao quanh bởi các phạm vi liên quan, rất giống với các điểm của một ngôi sao Các sự kiện là các đại lượng số của công việc Các phạm vi là các bộ lọc

Trang 19

hoặc các ràng buộc của những sự kiện này Ví dụ: thông tin về khách hàng như tên, địa chỉ là một phạm vi, trong khi đó thông tin bán hàng cho khách hàng đó là một sự kiện

Với giản đồ hình sao, người thiết kế có thể dễ dàng mô phỏng những chức năng của CSDL đa chiều Sự phi chuẩn hóa có thể coi là sự tiền kết nối (Pre-joining) các bảng để cho các ứng dụng không phải thực hiện công việc kết nối, làm giảm thời gian thực hiện

Giản đồ hình sao được thiết kế là để khắc phục những hạn chế của mô hình quan hệ hai chiều Với cơ sở dữ liệu được thiết kế theo giản đồ hình sao, những truy vấn với những câu hỏi phức tạp liên quan tới nhiều bảng và số liệu tổng cộng trở nên đơn giản hơn và số lượng công việc cần thực hiện để đưa được ra câu trả lời là ít nhất so với một mô hình quan hệ chuẩn Giản đồ hình sao cải thiện đáng kể thời gian truy vấn và cho phép thực hiện một số tính năng đa phạm vi Giản đồ này rất trực quan, dễ sử dụng, thể hiện khung nhìn đa chiều của dữ liệu dùng ngữ nghĩa của CSDL quan hệ Khóa của bảng Fact được tạo bởi những khóa của các bảng chứa thông tin theo từng phạm vi (bảng Dimension) Tất cả các khóa đều được xác định với cùng một chuẩn đặt tên

city state_or_province country

location

Sales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_sales Measures

item_key item_name brand type supplier_type

Trang 20

branch_key (khóa ngòai của bảng Branch), location_key (khóa ngòai của bảng location); và các giá trị đo units_sold, dollars_sold, avg_sales

Một giản đồ hình sao đơn giản chỉ gồm một bảng Fact và một vài bảng Dimension Một giản đồ hình sao phức tạp bao gồm hàng trăm bảng Fact và bảng Dimension Một vài kỹ thuật để cải thiện hiệu suất của các truy vấn trong giản đồ hình sao bao gồm:

 Xác định sự kết hợp các bảng Fact đang tồn tại hay tạo ra một sự kết hợp mới các bảng Fact

 Phân chia bảng Fact đến mức mà hầu hết các truy vấn chỉ truy nhập tới phần đó

 Tạo ra các bảng Fact riêng rẽ

 Tạo ra những tệp chỉ số đơn duy nhất hoặc các kỹ thuật khác để cải thiện năng suất kết hợp

1.6.5.2 Lược đồ hình bông tuyết

Giản đồ hình tuyết rơi là một sự mở rộng của giản đồ hình sao, tại đó mỗi cánh sao không phải là một bảng Dimension mà là nhiều bảng Trong dạng giản đồ này, mỗi bảng theo chiều của giản đồ hình sao được chuẩn hóa hơn Giản đồ hình tuyết rơi cải thiện năng suất truy vấn, tối thiểu không gian đĩa cần thiết để lưu trữ dữ liệu và cải thiện năng suất nhờ việc chỉ phải kết hợp những bảng có kích thước nhỏ hơn thay vì phải kết hợp những bảng có kích thước lớn lại không chuẩn hóa Nó cũng làm tăng tính linh hoạt của các ứng dụng bởi sự chuẩn hóa và ít mang bản chất theo chiều hơn

Nó làm tăng số lượng các bảng và làm tăng tính phức tạp của một vài truy vấn cần có

sự tham chiếu tới nhiều bảng Một vài công cụ đã che giấu người sử dụng giản đồ CSDL vật lý và cho phép họ có thể làm việc ở mức khái niệm Những công cụ này đã ánh xạ những truy vấn của người sử dụng tới sơ đồ vật lý Họ cần một bộ quản trị CSDL để thực hiện công việc này một lần đầu tiên khi công cụ này được cài đặt Hình

4 đưa ra một ví dụ về lược đồ hình bông tuyết

Trang 21

Hình 4 Ví dụ lược đồ hình bông tuyết

1.6.5.3 Lược đồ chòm sao sự kiện

Các ứng dụng phức tạp có thể đòi hỏi nhiều bảng sự kiện cùng chia sẻ các bảng

chiều Loại lược đồ này có thể được xét như một tập hợp các lược đồ hình sao Và vì

thế nó được gọi là lược đồ chòm sự kiện Ví dụ một lược đồ chòm sự kiện như hình 5:

location

Sales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_sales Measures

item_key item_name brand type supplier_type item

city_key location

Sales Fact Table

time_key item_key branch_key

branch_key location_key

units_sold dollars_sold avg_sales Measures

item_key item_name brand type supplier_key item

city_key city state_or_province country

city

Trang 22

1.7 Ví trí của làm sạch dữ liệu trong quá trình xây dựng kho dữ liệu

Quá trình xây dựng KDL ở trên đã cho thấy điều kiện đầu tiên để có thể tiến hành xây dựng một KDL chính là nguồn dữ liệu nạp vào kho

Để có được dữ liệu đảm bảo chất lượng trước khi nạp vào kho, dữ liệu phải qua giai đoạn trích chiết, chuyển đổi và tích hợp

Quan sát hình vẽ dưới đây, ta có một cái nhìn tổng quan về nhiệm vụ của mỗi giai đoạn trong mô hình KDL

Hình 6 Ví trí của làm sạch dữ liệu trong quá trình xây dựng kho dữ liệu

Giai đoạn đầu Pre-Data Warehouse làm nhiệm vụ cung cấp nguồn dữ liệu cho quá trình xây dựng KDL Có hai luồng dữ liệu chính

 CSDL OLTP: đây chính là các nguồn CSDL tác nghiệp (operational data) Chúng tồn tại trong các ứng dụng phần mềm giao dịch, Ví dụ như các hệ thống ERP (Enterprise Resource Planning ), phần mềm dịch vụ khách hàng (Custormer Serving Software) OLTP được thiết kế đảm bảo tốc độ và sự chính xác cho các giao dịch

 Metadata : Metadata đảm bảo các ràng buộc và sự chính xác khi nguồn dữ liệu được đưa vào trong chu trình xử lý

Trang 23

Làm sạch dữ liệu (Data Cleaning) được tích hợp vào giai đoạn ETL của kỹ thuật xây dựng kho Đây có thể coi là giai đoạn tiền xử lý đảm bảo chất lượng dữ liệu trước khi chúng được đưa vào trong KDL

Các giai đoạn sau là quá trình xử lý dữ liệu khi dữ liệu đã có trong KDL Áp dụng các ký thuật OLAP và Data mining để phát hiện tri thức, hỗ trợ cho các hệ trợ giúp quyết định

Trang 24

CHƯƠNG 2 LÀM SẠCH DỮ LIỆU VÀ CÁC GIẢI PHÁP KỸ THUẬT

Trong chương trước đã đưa ra một cái nhìn tổng quan về KDL và các kỹ thuật xây dựng Đồng thời qua đó thấy được vị trí của công đoạn làm sạch dữ liệu trong quá trình xây dựng KDL Chương này sẽ giới thiệu một cái nhìn đầy đủ hơn về làm sạch

dữ liệu

2.1 Khái niệm về làm sạch dữ liệu

Làm sạch dữ liệu (LSDL) - Data Cleaning còn được gọi là Data Cleasing hay Scrubbing là quá trình phát hiện và loại bỏ lỗi và tính ko nhất quán trong dữ liệu; nhờ

đó mà cải thiện chất lượng dữ liệu

Nói theo một cách khác thì dữ liệu trong thế giới thực thường không đầy đủ, nhiễu

và không nhất quán Quá trình LSDL sẽ cố gắng lấp đầy những giá trị bị thiếu, làm mịn các dữ liệu nhiễu, xác định và loại bỏ những dữ liệu nằm lệch khoảng giá trị kì vọng và giải quyết vấn đề không nhất quán của dữ liệu

2.2 Vai trò của quá trình làm sạch dữ liệu

Thực tế cho thấy, dữ liệu trong thế giới thực là không “sạch” hay còn gọi khác đi là

dữ liệu “bẩn” (dirty data)

Vậy dữ liệu bẩn là gì ? Hiểu đơn giản đó là nguồn dữ liệu có chứa lỗi Nó thường

là nguồn dữ liệu không hoàn chỉnh , bị nhiễu và không nhất quán…

 Không hoàn chỉnh (incomplete) : thiếu giá trị thuộc tính, thiếu những thuộc tính quan trọng, chỉ chứa những dữ liệu gộp chung…

 Nhiễu (noisy) : Có thể là dữ liệu nằm ngoài miền giá trị Ví dụ salary = -10…

 Không nhất quán (Inconsistent) : Không nhất quán thể hiện ở nhiều khía cạnh

Dữ liệu có thể được tập hợp từ nhiều nguồn khác nhau Có thể là không nhất quán trong cách đặt tên Vidu : thuộc tính Custormer identification có thể là customer_id trong CSDL này nhưng lại là cust_id trong CSDL khác Hay trường hợp định dạng dữ liệu không giống nhau Vidu : Giới tính lúc là M hoặc

F , lúc là 1 hoặc 0 …

Dữ liệu bẩn làm giảm chất lượng nguồn dữ liệu Dẫn đến hiệu suất kém trong quá trình khai phá dữ liệu và phát hiện tri thức phục vụ cho các mục đích của doanh nghiệp

Trang 25

Ngày nay, thông tin là vấn đề quan trọng hàng đầu của các công ty, tổ chức doanh nghiệp Các hệ thống thông tin được duy trì tốt sẽ cho phép các công ty có được những quyết định mang tính nghiệp vụ thành công Ngược lại, nếu thiếu thông tin hoặc thông tin có chứa lỗi, điều đó có thể khiến các công ty rơi vào tình trạng thua lỗ hoặc có những quyết định mang tính chiến lược thiếu đúng đắn

LSDL sẽ từng bước giải quyết vấn đề LSDL duy trì, đảm bảo và cải thiện chất lượng dữ liệu trong các hệ thống thông tin

2.3 Các vấn đề chất lượng dữ liệu

Thông tin được định nghĩa là dữ liệu và phương thức thể hiện chúng Thông tin nằm ẩn trong dữ liệu Do đó, để có thông tin tốt thì điều cơ bản là phải duy trì được chất lượng dữ liệu – Data Quality Chất lượng dữ liệu ở mức cao có nghĩa là nó phải phù hợp cho sử dụng, đủ tốt và thỏa mãn các ứng dụng nghiệp vụ có liên quan Một số tiêu chuẩn sau đây cho phép đánh giá mức độ của chất lượng dữ liệu :

 Hoàn thiện (completeness) : Tất cả các thuộc tính cho mỗi bản ghi phải đầy đủ

 Hợp lệ (validity) : tất cả các thuộc tính cho mỗi bản ghi phải đảm bảo giá trị trong phạm vi cho phép

 Nhất quán (consistency) : các thuộc tính của mỗi bản ghi không được phép mâu thuẫn với bản ghi khác

 Hợp thời (timeliness): Các bản ghi phải được cập nhật ở thời điểm gần nhất Thông tin về một đối tượng bất kì cần được cập nhật ngay khi có sự thay đổi về

Trang 26

(single-Hình 7 Phân loại vấn đề chất lượng dữ liệu

2.3.1 Làm sạch dữ liệu mức đơn nguồn

2.3.1.1 2.3.1.1 Đơn nguồn – mức lược đồ (Schema level)

Chất lượng nguồn dữ liệu phụ thuộc rất lớn vào mức độ được tổ chức bởi lược đồ (schema) và các ràng buộc toàn vẹn Với những nguồn không có lược đồ (vd: các files), có rất ít ràng buộc cho các dữ liệu được đưa vào lưu trữ Do đó mà khả năng xuất hiện lỗi và sự thiếu nhất quán ở mức cao

Các vấn đề ở mức lược đồ chủ yếu là do thiếu sự hợp lý về các ràng buộc toàn vẹn Loại này hầu như là xảy ra do những thiếu sót trong khi thiết kế CSDL nguồn Nếu bảng nguồn không có ràng buộc khóa chính mà chỉ có đinh danh bản ghi duy nhất khi

đó có thể xảy ra trường hợp mà 2 bản ghi tham chiếu đến hai đối tượng trong thế giới thực mà chúng lại có cùng một định danh Nếu thiếu ràng buộc Check, một cột có thể chứa giá trị ngoài dải cho phép (vd : nhiều hơn 2 giá trị về giới tình) Nếu ràng buộc Not-Null không tồn tại, một bản ghi có thể bị thiếu giá trị với thuộc tính mà bất buộc phải có Nếu lược đồ nguồn không có ràng buộc tham chiếu (reference), ta có thể có các bản ghi trong một bảng mà tham chiếu đến các bản ghi không tồn tại trong một bảng khác

Age =21,bdate

=12.02.86

Có thể xác định tuồi : Age=(ngày hiện tại - ngày sinh)

Data Quality (chất lượng dữ liệu)

Schema Level (mức lược đồ)

Instance Level (mức thể hiện)

Trang 27

Giữa các

bản ghi

Vi phạm tính duy nhất

Emp1=(name=“John Smith”,SNN=“123456”) Emp1=(name =“Perter Miller”,SNN=“123456”)

Tính duy nhất của SNN(Social Security Number) bị vi phạm

Nguồn Vi phạm tính toàn

vẹn tham chiếu

Emp=(name =“John Smith”,deptno=127)

Phòng được tham chiếu đến (127) không được định nghĩa trước

đó

Bảng 1 Ví dụ về bài toán đơn nguồn - mức lược đồ

2.3.1.2 Đơn nguồn – mức thể hiện hay mức bản ghi (Instance level hay

record level)

Loại này liên quan đến các lỗi và sự không nhất quán xảy ra tại thời điểm nhập dữ liệu vào hệ thống nguồn Các lỗi này không thể ngăn được ở mức lược đồ Điển hình như :

 Lỗi chính tả : gây nên bởi sự thiếu hoàn hảo của phần mềm nhận dạng kí tự ( OCR - Optical Character Recognition ) hoặc có thể do các lỗi in ấn, lỗi ngữ âm

 Các giá trị mặc định cho các thuộc tính bắt buộc có

Name = “J.Smith 12.02.70 New York”

Nhiều giá trị cùng được đưa vào trong một trường có định dạng tự

do của một bản ghi Các giá trị sai

trường City = “England”

Giá trị đúng nhưng đặt nhầm trường trong một bản ghi

Trang 28

Một bản

ghi

Sự phụ thuộc giữa các thuộc tính bị

vi phạm

City = “Redmond” , Zip = 77777

City và mã Zip phải phù hợp nhau

Trùng lặp bản ghi

Emp1= (“John Smith”,…), Emp2=(“J.Smith”,…)

Cùng một đối tượng nhưng được thể hiện 2 lần do nhập dữ liệu bị lỗi

Các bản ghi mâu thuẫn nhau

Emp1=(name =“John Smith”,bdate=12.02.70) Emp1=(name =“John Smith”,bdate=12.12.70)

Cùng một thực thể trong thế giới thực nhưng được thể hiện bởi các giá trị khác nhau

Nguồn Lỗi tham chiếu Emp=(name =“John

Smith”,deptno=17)

Phòng tham chiếu đến (17) đã được định nghĩa trước nhưng giá trị sai

Bảng 2 Ví dụ về bài toán đơn nguồn – mức thể hiện

2.3.2 Làm sạch dữ liệu mức đa nguồn

Các vấn đề trong mức đơn nguồn càng trở nên trầm trọng khi có nhiều nguồn được tích hợp Mỗi nguồn có thể chứa dữ liệu bẩn và dữ liệu trong các nguồn có thể được thể hiên khác nhau, chúng chồng chéo hoặc mâu thuẫn nhau Đó là do các nguồn được phát triển , triển khai và duy trì độc lập để phục vụ cho các nhu cầu riêng biệt Đây là kết quả của sự không đồng nhất ở mức cao trong các hệ thống quản lý dữ liệu, các mô hình dữ liệu, các bản thiết kế lược đồ và các nguồn dữ liệu thực

2.3.2.1 Đa nguồn – mức lược đồ

Ở mức lược đồ, sự khác nhau về mô hình dữ liệu và thiết kế lược đồ là do bước dịch và tích hợp lược đồ Những vấn đề chính xuất hiện khi thiết kế lược đồ là xung đột tên và xung đột cấu trúc

Xung đột tên trong các trường hợp như : Đồng âm – nghĩa là tên giống nhau dùng cho các đối tượng khác nhau (hymonyms) Đồng nghĩa – câc tên khác nhau nhưng cùng chỉ một đối tượng (synonyms)

Trang 29

Xung đột cấu trúc xảy ra trong nhiều trường hợp khác nhau Chúng là những thể hiện khác nhau của cùng một đối tượng trong các nguồn khác nhau.Thể hiện trong thuộc tính, cấu trúc các thành phần, kiểu dữ liệu, các ràng buộc toàn vẹn khác nhau…

2.3.2.2 Đa nguồn – mức thể hiện hay mức bản ghi

Ở mức thể hiện, có nhiều xung đột xảy ra Chúng bao gồm tất cả những vấn đề xảy

ra trong đơn nguồn Và lại có thể xảy ra ở đa nguồn do các thể hiện khác nhau trong các nguồn khác nhau (ví dụ : trùng lặp bản ghi, mâu thuẫn giữa các bản ghi…) Ngoài

ra có một số vấn đề khác như :

 Các thể hiện khác nhau kiểu dữ liệu đối với cùng một thuộc tính (Tiền tệ có thể

là Dollar hoặc Euro)

 Các ràng buộc khác nhau : vidu : Sex= {M, F}, Sex= {0,1}…

 Các mức kết tập khác nhau ( vidu : thống kê bán hàng theo một sản phẩm hoặc theo một nhóm sản phấm) Hoặc các điểm thời gian khác nhau, có thể là theo ngày, theo tháng hoặc theo năm ( vidu : thống kê bán hàng của ngày hôm qua cho nguồn 1 so với thống kê bán hàng của tuần trước cho nguồn 2)…

 Dư thừa dữ liệu, trùng lặp bản ghi

Hình 8 Ví dụ đa nguồn mức lược đồ và mức thể hiện

Trang 30

2.3.3 Các giải pháp làm sạch dữ liệu

2.3.3.1 Đối sánh trùng lặp

Trong trường hợp nhiều nguồn tích hợp, thường hay xảy ra trường hợp trùng lặp bản ghi, có nghĩa là các bản ghi khác nhau tham chiếu đến cùng một đối tượng trong thế giới thực Giải pháp cho bài toán LSDL ở đây là :

 Số lượng các phép đối sánh đúng cao và số lượng các phép đối sánh sai thấp

 Khả năng hoàn thành tiến độ Có nghĩa là thời gian thực hiện trong giới hạn cho phép của hệ thống

2.3.3.2 Sửa đổi và chuẩn hóa dữ liệu

Vẫn là vấn đề đa nguồn, khi mà nhiều khu vực khác nhau sử dụng các hệ thống nguồn khác nhau Giải pháp cho bài toán LSDL ở đây là chuyển đổi tất cả các giá trị trong các hệ nguồn đó thành một tập giá trị chuẩn trong hệ đích Ngoài ra, nếu có bất

kì lỗi nào xuất hiện, LSDL sẽ chỉ ra và sửa đổi chúng

2.3.3.3 Dịch lược đồ

Những hệ nguồn có thể sử dụng các mô hình dữ liệu khác nhau Giải pháp cho bài toán LSDL là cung cấp một ánh xạ từ các mô hình dữ liệu này đến một mô hình dữ liệu đích Điều này có thể cần tách các trường có dạng tự do thành một tập các thuộc tính nguyên tố

Vidụ: Giả sử trường “address” chung , tách thành các trường {“street”, “home no”,

“zip code”}

Trang 31

CHƯƠNG 3 XÂY DỰNG VÀ KHAI THÁC KHO DỮ LIỆU CƯỚC

KHÁCH HÀNG TẠI CÔNG TY THÔNG TIN VIỄN THÔNG ĐIỆN LỰC

3.1 Hiện trạng và yêu cầu

3.1.1 Giới thiệu về Công ty Thông tin Viễn thông Điện lực

Công ty thông tin Viễn thông Điện lực (EVNTelecom) là một doanh nghiệp trực thuộc Tập đoàn Điện lực Việt Nam EVNTelecom kinh doanh các dịch vụ viễn thông tại Việt Nam Cơ cấu tổ chức của Công ty như sau:

Hình 9 Mô hình tổ chức EVNTelecom

Ngoài các phòng ban, trung tâm trực thuộc, EVNTelecom còn có một hệ thống các điện lực cấp tỉnh Các đơn vị điện lực thao tác trực tiếp trên các phần mềm tác nghiệp

3.1.2 Hiện trạng tổ chức thông tin

Hiện nay Công ty Thông tin Viễn thông Điện lực sử dụng một số phần mềm tác nghiệp sau:

 Phần mềm khai báo thuê bao, khách hàng Miền Bắc

 Phần mềm khai báo thuê bao, khách hàng Miền Nam

Trang 32

 Phần mềm đối soát cước

Dữ liệu tác nghiệp từ các phần mềm trên được lưu trong các CSDL tương ứng và tập trung tại một số phòng ban của Công ty quản lý:

Hình 10 Hiện trạng tổ chức thông tin tại EVNTelecom

1 Cơ sở dữ liệu thông tin khách hàng Miền Bắc, Miền Nam: lưu toàn bộ thông

tin khách hàng đã hòa mạng, bao gồm thông tin về khách hàng, về thuê bao, lịch sử thuê bao, lịch sử hòa mạng, tạm ngưng, thanh lý thuê bao, lịch sử đăng

ký gói cước…CSDL này do phòng Tính cước quản lý

2 Cơ sở dữ liệu cước khách hàng: lưu thông tin chi tiết cuộc gọi của các thuê

bao các tháng khác nhau, thông tin về khuyến mại, khấu trừ cước… CSDL này

do phòng Tính cước quản lý

3 Cơ sở dữ liệu công nợ: lưu thông tin chấm nợ, gạch nợ của các đai lý… CSDL

này do phòng Tính cước quản lý

4 Cơ sở dữ liệu thanh khoản: Lưu toàn bộ chi tiết, tổng hợp cuộc gọi từ thuê

bao EVNTelecom đi và đến từ thuê bao ngoại mạng như Viettel, vinaphone, mobiphone, vnpt,… CSDL này do phòng Đối soát quản lý

Các phần mềm tác nghiệp trên có chức năng xuất báo cáo tháng Hàng tháng Công

ty yêu cầu tổng hợp các rất nhiều báo cáo từ các nguồn dữ liệu trên Quy trình thực

hiện báo cáo như sau:

Ngày đăng: 25/03/2015, 10:29

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Bùi Thị Thu Hồng (2009), Kỹ thuật làm sạch dữ liệu và sử dụng bộ công cụ Oracle Warehouse Builder để xây dựng một hệ thống làm sạch thông qua quá trình ETL, Đồ án tốt nghiệp khoa Công nghệ thông tin, trường Đại học Bách Khoa Hà Nội, tr 23-29, tr. 54-59 Sách, tạp chí
Tiêu đề: Kỹ thuật làm sạch dữ liệu và sử dụng bộ công cụ Oracle Warehouse Builder để xây dựng một hệ thống làm sạch thông qua quá trình ETL
Tác giả: Bùi Thị Thu Hồng
Năm: 2009
[2] Hà Quang Thụy (2010), Kho dữ liệu và khai phá dữ liệu. Bài giảng môn học khoa Công nghệ thông tin, trường Đại học Công nghệ, Chương 3 Sách, tạp chí
Tiêu đề: Kho dữ liệu và khai phá dữ liệu
Tác giả: Hà Quang Thụy
Năm: 2010
[3] John Wiley (2001), Data warehousing fundamentals, Wiley-Interscience Publication, pp.19-60 Sách, tạp chí
Tiêu đề: Data warehousing fundamentals
Tác giả: John Wiley
Năm: 2001
[4] Jiawei Han and Micheline Kamber (2006), Data Mining: Concepts and Techniques, Morgan Kaufmann Publishers, pp.130-134 Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques
Tác giả: Jiawei Han and Micheline Kamber
Năm: 2006
[5] Teh Ying Wah, Ng Hooi Peng, and Ching Sue Hok (2007), Building Data Warehouse, Department of Information Science University Malaya, pp. 5.2-5.3 [6] Erhard Rahm (2005), Data Cleaning: Problems and Current Approaches,University of Leipzig Germany, pp. 2-5 Sách, tạp chí
Tiêu đề: Building Data Warehouse", Department of Information Science University Malaya, pp. 5.2-5.3 [6] Erhard Rahm (2005), "Data Cleaning: Problems and Current Approaches
Tác giả: Teh Ying Wah, Ng Hooi Peng, and Ching Sue Hok (2007), Building Data Warehouse, Department of Information Science University Malaya, pp. 5.2-5.3 [6] Erhard Rahm
Năm: 2005
[7] Jenny Tsai (2007), Business Intelligence Standard Edition One Tutorial, Oracle, pp. A.1-A.4 Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w