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à :
Chỉ ra sự trùng lặp trong các bản ghi
Ghép chúng lại thành một bản ghi đảm bảo chất lượng dữ liệu của bản ghi là mức cao.
Công việc này còn được gọi là quá trình “merge/purge” (hợp nhất và làm sạch) hay còn gọi là liên kết bản ghi (record linkage).
Khi nghiên cứu lĩnh vực này, người ta tập trung vào các phương thức, giải pháp mà đảm bảo cả hai mặt :
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”}.
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
Phần mềm tính cước khách hàng
Phầm mềm chấm nợ khách hàng
Ban Giám Đốc
Phòng Tính Cước Phòng Kinh doanh Phòng Đối Soát
Điện lực Hầ Nội Điện lực Ninh Bình Điện lực HCM Điện lực Đà Nẵng
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:
Server khách hàng MN
CSDL
khách
hàng MN Các điện lực miền Nam
Server khách hàng MB CSDL khách hàng MB Các điện lực miền Bắc Server cước khách hàng CSDL Cước Các điện lực Server Công nợ CSDL công nợ Các điện lực
Server đối soát cước CSDL đối
Phòng tính cước
- Xuất các báo cáo từ hệ thống tính cước
Phòng đối soát
- Xuất các báo cáo từ hệ thống thanh khoản
Phòng kinh doanh
- Tổng hợp các báo cáo - Ra các chiến lược kinh doanh phù
hợp
Ban lãnh đạo Công ty
Gửi Gửi
Báo cáo
Hình 11. Quy trình báo cáo hiện nay tại EVNTelecom
1. Hàng tháng Bộ phận đối soát và Bộ phận tính cước xuất báo cáo từ hệ thống ra, và gửi phòng Kinh doanh
2. Phòng kinh doanh nghiên cứu các báo cáo. Đối với các báo cáo cần tổng hợp từ hai hệ thống, chuyên viên phòng Kinh doanh tổng hợp thủ công để ra các báo cáo tổng. Từ đó xem xét ra các chiến lược kinh doanh
3. Phòng Kinh doanh trình lãnh đạo công ty về các báo cáo và đề xuất kinh doanh
3.1.3 Hạn chế của các tổ chức thông tin hiện tại
Với mô hình tổ chức thông tin như hiện nay bộc lộ nhiều hạn chế:
Phòng Kinh doanh tốn thời gian và nhân lực để tổng hợp các báo cáo. Không kịp thời đưa ra những chiến lược kinh doanh hiệu quả.
Lãnh đạo công ty thiếu chủ động trong việc theo dõi các thông tin.
3.1.4 Yêu cầu bài toán
Xuất phát từ hạn chế của mô hình tổ chức thông tin hiện tại, trong luận văn sẽ đề xuất xây dựng một kho dữ liệu tổng hợp tích hợp năm nguồn dữ liệu ở trên theo mô hình như sau:
Hình 12. Mô hình kho dữ liệu cước khách hàng
Tích hợp các nguồn dữ liệu: CSDL cước khách hàng Miền Bắc, CSDL cước khách hàng Miền Nam, CSDL cước khách hàng, CSDL công nợ khách hàng, CSDL đối soát cước
Xây dựng hệ thống báo cáo kết nối vào kho dữ liệu xuất các báo cáo về tình hình tăng giảm doanh thu, các biểu đồ phân tích tình hình kinh doanh.
Căn cứ vào các báo cáo, phân tích tổng thể tình hình kinh doanh qua các tháng, lãnh đạo Công ty và phòng kinh doanh đưa ra các chiến lược kinh doanh hiệu quả và đúng lúc.
3.2 Xây dựng kho dữ liệu
3.2.1 Giới thiệu công cụ Oracle Warehouse Builder
Oracle Warehouse Builder (OWB) còn được gọi là Warehouse Builder (WB) là một framework có khả năng mở rộng, một phần không thể thiếu của Oracle Database. Nó cung cấp các giải pháp thiết kế, triển khai và quản lý KDL cho doanh nghiệp, các KDL cục bộ và các ứng dụng quản trị doanh nghiệp thông minh (e-business intelligence).
OWB còn là một công cụ thực hiện quá trình trích chiết, chuyển đổi và nạp (ETL) dữ liệu vào trong KDL.
CSDL khách hàng
MB
CSDL Cước CSDL Đối soát CSDL Công nợ
CSDL Khách hàng Miền Nam Tr ich c họ n Là m s ạc h Ch uy ển đ ổi Nạ p dữ liệ u Kho dữ liệu Đầ u ra 10 0 90 80 70 60 50 40 30 40 50 Biểu đồ phân tích Báo cáo/truy vấn
3.2.1.1 Các thành phần của OWB
OWB gồm hai thành phần như hình 13: thành phần thiết kế (design environment) và thành phần thực thi (runtime environment). Mỗi thành phần xử lý các khía cạnh khác nhau của hệ thống. Thành phần thiết kế xử lý dữ liệu metadata, thành phần thực thi xử lý dữ liệu vật lý.
Hình 13. Các thành phần của OWB
Thành phần thiết kế bao gồm kho dữ liệu metadata ( metadata repository) được
chứa trong cơ sở dữ liệu oracle và một tập các công cụ thiết kế và báo cáo phía client, công cụ này được viết bằng Java hoặc HTML
Tạo ra metadata là một hoạt động thiết kế cho phép sử dụng các công cụ phía client để thiết kế các đối tượng, các quy trình và luồng công việc. Warehouse Builder hỗ trợ thiết kế lược đồ cơ sở dữ liệu quan hệ, lược đồ đa chiều, quá trình xử lý ETL và các công cụ hỗ trợ người dùng cuối thông qua client.
Các hệ thống nguồn (source system) đóng một vai trò quan trọng trong bất kỳ giải pháp ETL nào và thay vì việc thực hiện ETL một cách thủ công thì Warehouse Builder cung cấp các thành phần tích hợp các thông tin liên quan vào trong kho của nó.
Một thế mạnh của kiến trúc OWB là quy trình quản lý vòng đời, nó cho phép metadata được cập nhật dựa trên thay đổi của các dữ liệu nguồn. Sau đó OWB dễ dàng cập nhật những thay đổi và tiến trình ETL và đến hệ thống đích.
Thành phần thực thi:
Khi người dùng đã thiết kế hệ thống ETL dựa trên một mức logic, họ cần chuyển nó vào môi trường cơ sở dữ liệu vật lý. Trước khi điều này được thực hiện thì thông tin về cơ sở dữ liệu được bổ sung vào thiết kế logic. Sau khi quá trình cấu hình được hoàn thành thì mã code được sinh ra.
OWB tạo ra một ngôn ngữ chuyên biệt cho tiến trình ETL và các câu lệnh SQL DDL cho các đối tượng cơ sở dữ liệu. Mã code sinh ra được triển khai hoặc tới hệ thống hoặc tới cơ sở dữ liệu.
Thực hiện các chức năng ETL có nghĩa là chạy các mã code đã được triển khai vào trong cơ sở dữ liệu. Quá trình ETL chuyển dữ liệu từ nguồn và cơ sở dữ liệu đích.
3.2.1.2 Vấn đề đảm bảo chất lượng dữ liệu trong OWB
Như đã thảo luận ở phần trên, quá trình làm sạch dữ liệu trong KDL chính là bài toán của đảm bảo chất lượng dữ liệu (Data Quality). Thực tế cho thấy, có rất nhiều thách thức đặt ra trong việc xây dựng một KDL. Và chính do tầm quan trọng của KDL cho nên đã có rất nhiều công cụ hỗ trợ việc xây dựng KDL. Tuy nhiên, xây dựng và duy trì một KDL hiệu quả không phải là điều đơn giản. Một trong những vấn đề hàng đầu mà người sử dụng cuối băn khoăn, đó chính là chất lượng nguồn dữ liệu nạp vào trong kho. Nếu chất lượng dữ liệu không đủ độ tin cậy sẽ gây nguy hại nghiêm trọng cho các quá trình khai thác, phát hiện tri thức và ra quyết định đối với các nhà quản lý doanh nghiệp.
So với một số giải pháp thì sự khác nhau căn bản giữa chúng với WB về vấn đề chất lượng dữ liệu chính là mức độ tích hợp vào trong quá trình ETL. Trong WB, công việc thiết kế và quản lý quá trình đảm bảo chất lượng dữ liệu sử dụng cùng một giao diện với các quá trình ETL. Hơn nữa, cũng giống như bất kỳ sự chuyển đổi nào trong WB, sự chuyển đổi chất lượng dữ liệu sử dụng ngôn ngữ kịch bản và thông qua các giao diện lập trình ứng dụng (APIs). Mặt khác,việc kiểm định dữ liệu trong quá trình đảm bảo chất lượng dữ liệu cùng định dạng và vị trí với các quá trình ETL khác.
Vậy, chính xác thì WB cung cấp những tác vụ gì trong quá trình đảm bảo chất lượng dữ liệu? Có thể tóm lược hoá chúng như sau :
Đưa ra được các luật dữ liệu từ pha hồ sơ hoá , hoặc tạo ra các luật dữ liệu thủ công (Data rules).
Kiểm định dữ liệu dựa trên các luật dữ liệu (Data auditors)
Làm sạch tên (Name) và địa chỉ (Address).
Đối sánh (matching) và hợp nhất (merging) dữ liệu.
Hình 14. Chu kỳ xử lý đảm bảo chất lượng dữ liệu
Theo chu kỳ trên thì các bước đảm bảo chất lượng dữ liệu trong WB bao gồm:
Sao chép lại toàn bộ siêu dữ liệu cho dữ liệu nguồn.
Tiến hành hồ sơ hoá các nguồn dữ liệu
Đưa ra các luật dữ liệu từ kết quả hồ sơ hoá. Hoặc tiến hành đưa vào những luật dữ liệu đã tồn tại .
Thiết kế các luồng ánh xạ dữ liệu (hay các mappings) sử dụng các toán tử làm sạch tên và địa chỉ (name and address) và toán tử đối sánh-hợp nhất (match - merge)
Kết hợp các luồng dữ liệu với các luồng tiến trình , bổ sung bộ kiểm định dữ liệu để đo chất lượng dữ liệu tại bất cứ điểm ra nào của tiến trình.
Triển khai và thực thi các tiến trình để chuyển đổi dữ liệu thô thành thông tin đảm bảo chất lượng Giám sát Sao chép dữ liệu nguồn Hồ sơ hoá dữ liệu Tạo luật dữ liệu Thực hiện Tạo luồng tiến trình Thiết kế luồng ánh xạ dữ liệu
Bước cuối cùng, chất lượng nguồn thông tin thu được sẽ tiếp tục được giám sát trong môi trường tác nghiệp của các chương trình kiểm định dữ liệu của WB. Data profiling, Data rules và Data auditors là những tính năng mới trong OWB 10g Release2. Tuy nhiên các toán tử làm sạch : name and address, match-merge thì đã có từ các phiên bản trước và được nâng cấp hơn trong phiên bản này.
Trong phạm vi nội dung luận văn, em xin được đi sâu vào tìm hiểu những tính năng mới của OWB.
3.2.1.3 Hồ sơ hoá dữ liệu
Data Profiling - hồ sơ hoá dữ liệu trong OWB là phương thức phân tích dữ liệu trên các nguồn dữ liệu một cách có hệ thống. Nó là bước đầu tiên trong quá trình tích hợp dữ liệu. DP giúp xác thực các giả định về dữ liệu, phát hiện các đặc tính mới có thể có trong dữ liệu.
Sử dụng DP, ta có thể :
Tiến hành hố sơ hoá dữ liệu từ bất kỳ nguồn dữ liệu nào mà WB có thể truy cập được.
Thăm dò và quan sát các kết quả thu được ở dạng bảng biểu hoặc đồ họa
Khoan sâu xuống (Drill down) nguồn dữ liệu dựa trên kết quả hồ sơ hoá.
Đưa ra các luật dữ liệu.
Sử dụng các luật dữ liệu để tạo ra những sửa đổi trong dữ liệu nguồn, tiến hành làm sạch dữ liệu.
Sự tương tác giữa người dùng với WB trong quá trình hồ sơ hoá dữ liệu thông qua Wizard. Nó cho phép người dùng chọn các đối tượng tuỳ theo bài toán để xử lý hồ sơ hoá như : các bảng (tables), các khung nhìn (views), các đồi tượng chiều (dimensions) và các đối tượng khối (cubes). Sau khi tiến hành các quá trình phân tích và thống kê cần thiết, WB sẽ trả về kết quả hồ sơ dữ liệu trong một giao diện trình quản lý.
Trong DP có 3 hình thức phân tích dữ liệu chính, đó là : Phân tích thuộc tính (Attribute analysis), Phân tích sự phụ thuộc hàm (Functional dependency analysis) và phân tích tham chiếu (Referential analysis).
Hình 15. Phân loại quá trình hồ sơ dữ liệu trong Warehouse Builder
Phân tích thuộc tính (Attribute analysis) : là một hình thức hồ sơ hoá theo kiểu phân tích cấu trúc và nội dung dữ liệu đối với mỗi thuộc tính của dữ liệu. Theo kiểu này, ta có thể xác định được các số liệu thống kê chung : giá trị lớn nhất (maximum), giá trị nhỏ nhất (minimum), giá trị trung bình (average of values); số lượng giá trị nulls (count of nulls); số lượng giá trị trùng lặp (distinct count). Ngoài ra, còn có thể phát hiện ra các mẫu (patterns), phân tích các kiểu dữ liệu (data type), thao tác trên các lĩnh vực đã được phân tích (domain), thao tác đối với các khoá duy nhất (unique key).
Phân tích phụ thuộc hàm (Functional dependency) : Sử dụng kiểu phân tích này sẽ cho thấy được mối liên quan giữa các cột hay giữa các thuộc tính theo kiểu phụ thuộc hàm.
Phân tích tham chiếu (Referential analysis) : Xác định mối quan hệ giữa các thuộc tính, thấy được sự tồn tại của khoá ngoài (foreign key). Đối với mỗi mối quan hệ, xác định được các độ đo thoả mãn, phát hiện ra các bản ghi không thoả mãn như loại bản ghi đứng đơn lẻ (orphans) hay không có con (childless), phát hiện trường hợp dư thừa cột (redundant columns)- có nghĩa là một cột dữ liệu có mặt trong các bảng chính và bảng con của nó.
Hồ sơ hóa dữ liệu
(Data profiling)
Phân tích thuộc tính (Attribute analysis)
Phân tích phụ thuộc hàm (Functional dependency)
Phân tích tham chiếu (Referential analysis)
Data type
General Unique Orphans Childless
Redundant columns
Domain Joins
Phân tích thuộc tính Phân tích phụ thuộc hàm Phân tích tham chiếu Hình 16. Các loại hồ sơ dữ liệu
3.2.1.4 Luật dữ liệu và các ánh xạ sửa lỗi
Thực tế, công cụ Oracle Data Profiling trong WB không chỉ dừng lại ở pha hồ sơ hoá , có nghĩa là phân tích và thống kê nguồn dữ liệu mà còn đưa ra các luật dữ liệu từ