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.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.2 Khái niệm chung về kho dữ liệu 1.1 Định nghĩa kho dữ liệu Định nghĩa do W. 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ý. Đặ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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 đó.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ì LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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.3 Lịch sử ra đời và vai trò của kho dữ liệu 1.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.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. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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.