Đề tài Khái niệm data warehouse

Tài liệu Đề tài Khái niệm data warehouse: MỤC LỤC Lời cảm ơn 1 PHẦN I. KHÁI NIỆM DATA WAREHOUSE 2 Chương 1. Lịch sử phát triển của data warehouse 4 4 1.1. Thời kì tiền sử - trước năm 1980 7 1.2. Thời kì trung đại - từ giữa những năm 80 đến cuối những năm 80 8 1.3. Cuộc cách mạng dữ liệu - những năm đầu thập kỉ 90 10 1.4. Kỉ nguyên của quản lý dùa trên thông tin - tới những năm của thế kỉ 21 11 11 1.5. Kết luận 13 Chương 2. Những khái niệm về data warehouse 15 15 2.1. Data warehouse là gì 15 2.2. Kiến trúc của data warehouse 18 2.2.1. Kiến trúc cơ bản18 18 2.2.2. Kiến trúc data warehouse có thêm líp data mart và bước đệm xử lý20 20 Chương 3. Kiến trúc dữ liệu của data warehouse 29 29 3.1. Hệ thống thông tin và hệ thống tác nghiệp 29 3.2. Kiến trúc dữ liệu của data warehouse 32 3.2.1 Mô hình dữ liệu đa chiều (multidimensional data)32 32 3.2.2. Mô hình dữ liệu thực tế của data warehouse35 35 PHẦN II. XÂY DỰNG DATA WAREHOUSE CHO CHỦ ĐỀ "HỢP ĐỒNG KHAI THÁC" CHO CÔNG TY BẢO VIỆT NHÂN THỌ 39 Chương 4. Tì...

doc69 trang | Chia sẻ: hunglv | Lượt xem: 1367 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Khái niệm data warehouse, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
MỤC LỤC Lời cảm ơn 1 PHẦN I. KHÁI NIỆM DATA WAREHOUSE 2 Chương 1. Lịch sử phát triển của data warehouse 4 4 1.1. Thời kì tiền sử - trước năm 1980 7 1.2. Thời kì trung đại - từ giữa những năm 80 đến cuối những năm 80 8 1.3. Cuộc cách mạng dữ liệu - những năm đầu thập kỉ 90 10 1.4. Kỉ nguyên của quản lý dùa trên thông tin - tới những năm của thế kỉ 21 11 11 1.5. Kết luận 13 Chương 2. Những khái niệm về data warehouse 15 15 2.1. Data warehouse là gì 15 2.2. Kiến trúc của data warehouse 18 2.2.1. Kiến trúc cơ bản18 18 2.2.2. Kiến trúc data warehouse có thêm líp data mart và bước đệm xử lý20 20 Chương 3. Kiến trúc dữ liệu của data warehouse 29 29 3.1. Hệ thống thông tin và hệ thống tác nghiệp 29 3.2. Kiến trúc dữ liệu của data warehouse 32 3.2.1 Mô hình dữ liệu đa chiều (multidimensional data)32 32 3.2.2. Mô hình dữ liệu thực tế của data warehouse35 35 PHẦN II. XÂY DỰNG DATA WAREHOUSE CHO CHỦ ĐỀ "HỢP ĐỒNG KHAI THÁC" CHO CÔNG TY BẢO VIỆT NHÂN THỌ 39 Chương 4. Tìm hiểu vấn đề 41 4.1. Đặc điểm của công ty Bảo Việt Nhân Thọ 41 4.2. Hệ thống dữ liệu hiện nay 45 Chương 5. Mô hình xây dựng Data Warehouse cho chủ đề "Hợp đồng khai thác" 47 5.1. Mô hình tổng quát 47 5.2. Mô hình chi tiết 48 Chương 6. Triển khai mô hình và kết quả 56 6.1. Mô hình dữ liệu 56 6.1.1. Mô hình dữ liệu data source57 57 6.1.2. Mô hình dữ liệu data warehouse58 58 6.1.3. Mô hình dữ liệu staging area61 61 6.2. Chương trình triển khai 63 6.3. Kết quả 69 Kết luận 71 Tài liệu tham khảo 72 LỜI CẢM ƠN Xin chân thành cảm ơn PSG-TS Nguyễn Việt Hương, cô đã hướng dẫn em hoàn thành bản đồ án tốt nghiệp này. Xin chân thành cảm ơn TS Nguyễn Thành Quang, trưởng phòng tin học Tổng công ty Bảo hiểm Việt Nam đã hết sức tạo điều kiện làm việc cho em trong quá trình thực tập tại phòng tin học Tổng công ty Bảo hiểm Việt Nam. Xin chân thành cảm ơn anh Lê Minh, người đã giúp đỡ và hướng dẫn em trong quá trình thực tập tại phòng tin học Tổng công ty Bảo hiểm Việt Nam. Xin cảm ơn các anh, chị tại phòng tin học Tổng công ty Bảo hiểm Việt Nam đã giúp đỡ em trong quá trình thực tập. Cuối cùng, xin cảm ơn tất cả bạn bè, những người đã có những ý kiến đóng góp quý báu đối với em trong quá trình thực hiện bản đồ án tốt nghiệp này. PHẦN I. KHÁI NIỆM DATA WAREHOUSE Data warehouse là một công cụ hữu hiệu giúp cho doanh nghiệp có được cái nhìn đầy đủ và tổng quát về doanh nghiệp của mình, ngoài ra người dùng còn có thể dùa và data warehouse để chạy các ứng dụng nhằm thu được những thông tin rất hữu Ých cho việc phát triển công ty trong môi trường kinh doanh đầy cạnh tranh và biến động. Tuy nhiên, việc xây dựng data warehouse cho doanh nghiệp là một công việc không hề đơn giản. Để có thể xây dựng data warehouse thì trước tiên chúng ta cần phải biết được những khái niệm căn bản nhất về vấn đề này. Ba chương đầu tiên của bản đồ án này sẽ giúp các bạn điều đó. Chương 1. Lịch sử phát triển của data warehouse : chương này mô tả những lợi Ých mà data warehouse mang lại cho người dùng cuối, nhờ vậy ta có thể hiểu được điều gì đã khiến các doanh nghiệp tìm đến với công nghệ này. Chương này cũng sẽ điểm qua toàn bộ lịch sử phát triển của ngành công nghệ thông tin theo hướng xuất hiện data warehouse. Phần này sẽ nhìn ngược trở về lịch sử phát triển, như vậy ta có thể thấy được logic phát triển của công nghệ data warehouse. Mặc dù trong chương này chúng ta không đề cập chi tiết và đưa ra những định nghĩa chặt chẽ về bất cứ một khái niệm mới nào, tuy nhiên chúng ta sẽ được làm quen với hầu hết các khái niệm mới. Chương 2. Những khái niệm về data warehouse : chương này sẽ trình bày định nghĩa và kiến trúc logic của data warehouse nhằm làm cho người đọc có được một cái nhìn tổng quan về data warehouse. Trong phần đầu chương ta sẽ tìm hiểu các khái niệm về data warehouse. Chóng ta sẽ thấy được phần nào sự phức tạp của data warehouse trong định nghĩa của nó. Việc hiểu rõ định nghĩa của data warehouse sẽ giúp chúng ta một định hướng rõ ràng hơn khi tìm hiểu về kiến trúc của hệ thống sử dụng data warehouse. Phần tiếp theo sẽ là kiến trúc logic của data warehouse. Phần này mô tả cho ta thấy các thành phần trong một hệ thống sử dụng data warehouse và các tiến trình cần có để tổ hợp dữ liệu vào data warehouse. Chương 3. Kiến trúc dữ liệu của data warehouse : chương này mô tả kiến trúc cụ thể của data warehouse và cho thấy sự khác biệt của nó với kiến trúc dữ liệu thông thường (kiến trúc dữ liệu quan hệ). Ta sẽ tìm hiểu sự khác nhau giữa hệ thống thông tin và hệ thống tác nghiệp, từ đó chúng ta sẽ hiểu được data warehouse cung cấp thông tin cho người dùng cuối như thế nào. Phần tiếp theo sẽ mô tả kiến trúc dữ liệu của data warehouse, nó sẽ giúp người đọc làm quen với 2 mô hình dữ liệu phổ biến nhất là dạng sao và dạng bông tuyết. CHƯƠNG 1 LỊCH SỬ PHÁT TRIỂN CỦA DATA WAREHOUSE Trên thế giới có rất nhiều tổ chức hay công ty có những kho dữ liệu khổng lồ. Trong quá trình hoạt động, do yêu cầu của công việc nên những tổ chức hay công ty này phải lưu lại dữ liệu của khách hàng, sản phẩm, hóa đơn, ... Theo nghiên cứu thì cứ khoảng sau 5 năm khối lượng dữ liệu của doanh nghiệp lại tăng lên gấp đôi. Tuy nhiên việc làm thế nào để có thể khai thác được những kho dữ liệu khổng lồ này lại là một vấn đề nan giải bởi dữ liệu thường không nhất quán và không được thiết kế với mục đích hỗ trợ quyết định. Vì vậy cái mà các tổ chức và công ty này cần là một công cụ cho phép họ tổng hợp dữ liệu một cách hiệu quả. Sù ra đời của data warehouse bắt nguồn từ sự kết hợp của hai nhân tố kinh tế và kĩ thuật. Các công ty, đặc biệt là các công ty lớn có nhiều chi nhánh khác nhau, rất muốn có được những thông tin tổng quan trên phạm vi toàn công ty, từ đó có thể giúp cho lãnh đạo của công ty ra quyết định. Tuy nhiên, các hệ thống dữ liệu tác nghiệp trước đây không thể hoàn thành được công việc này vì chúng được thiết kế với mục đích là phục vụ công việc nghiệp vụ hàng ngày, vì vậy cần phải có một công nghệ dữ liệu khác. Chính sự phát triển của công nghệ được sự thúc đẩy mạnh mẽ của nhu cầu của các doanh nghiệp trong môi trường kinh doanh đầy cạnh tranh đã tạo nên data warehouse. Data warehouse ra đời đã mang lại một số lợi Ých nhất định cho các nhà kinh doanh : Cho phép các nhà kinh doanh theo dõi được sự biến động của môi trường kinh doanh : ở một khía cạnh nào đó, data warehouse có thể xem như là những "ảnh chụp" liên tiếp tình trạng kinh doanh của công ty, vì vậy nó cho phép người dùng cuối thấy được môi trường kinh doanh của công ty qua các thời kì. Câu trả lời cho các câu hỏi truy vấn dữ liệu có tính thương mại. Các nhà kinh doanh muốn rằng những câu hỏi họ đặt ra trong lĩnh vực kinh doanh sẽ được trả lời theo dạng mà họ có thể hiểu được. Cung cấp công cụ truy xuất dữ liệu nhằm mục đích phân tích và hỗ trợ quyết định. Trong những hệ thống cơ sở dữ liệu tác nghiệp trước đây thì điều này rất khó thực hiện ngay cả khi dữ liệu là đầy đủ và sẵn sàng, lÝ do đơn giản là vì hệ thống cơ sở dữ liệu tác nghiệp được thiết kế ra với mục đích phục vụ công việc tác nghiệp thường ngày chứ không phải được thiết kế ra với mục đích hỗ trợ quyết định. Thống nhất được dạng và cấu trúc dữ liệu phù hợp với yêu cầu của người dùng cuối. Đối với các công ty có nhiều chi nhánh khác nhau thì có thể dữ liệu được lưu trữ dưới các dạng khác nhau, ví dụ như cùng là đơn vị đo chiều dài nhưng có nơi dùng đơn vị là cm, có nơi dùng đơn vị là inch, ... do vậy gây khó khăn cho việc phân tích dữ liệu để hỗ trợ quyết định. Quản trị dễ dàng. Sau khi được xây dựng, người quản trị có thể lên kế hoạch để hệ thống vận hành tự động. Người quản trị chỉ có nhiệm vụ theo dõi, chỉnh sửa và nâng cấp khi có yêu cầu hoặc sự cố. Lợi Ých của data warehouse đối với người dùng cuối và doanh nghiệp là khá rõ ràng. Data warehouse đã được chứng minh là công nghệ mang lại hiệu quả đầu tư cao. Một nghiên cứu của công ty Dữ liệu Quốc tế (IDC : International Data Corporation) trên 62 data warehouse cho biết tỉ lệ hiệu quả đầu tư trung bình cho data warehouse là 321% và kết quả thu được có thể thấy sau một vài năm. Lý thuyết hoàn chỉnh về data warehouse được ra đời vào năm 1992 với sự xuất bản cuốn sách "Building the data warehouse" của W. H. Inmon và Inmon được coi là cha đẻ của data warehouse. Tuy nhiên trước đó data warehouse hay một phần của nó đã xuất hiện dưới dạng này hay dạng khác. Giữa thập kỉ 90 của thế kỉ 20, data warehouse đã trở thành một trong những từ thông dụng nhất được sử dụng trong công nghiệp máy tính. Tuy nhiên cần phải nhấn mạnh rằng data warehouse không thể phát triển theo hướng của các nhà sản xuất, trái lại nó phải được phát triển bởi các công ty nhằm thỏa mãn nhu cầu kinh doanh của các công ty đó. Vì vậy, data warehouse không phải là một sản phẩm hàng loạt, nó không phải được sản xuất ra một lần rồi đem bán hay áp dụng cho nhiều đơn vị khác nhau. Data warehouse là một sản phẩm đơn chiếc, nó được sáng tạo một lần và được phát triển liên tục theo thời gian nhằm đáp ứng đầy đủ những nhu cầu của người sử dụng. Nó chỉ thích hợp cho một đơn vị và phải bám sát đặc điểm kinh doanh hay sản xuất của đơn vị đó. Phần tiếp theo sẽ mô tả từng bước phát triển của ngành công nghệ thông tin theo chiều hướng tiến đến sự ra đời của data warehouse. 1.1. THỜI KÌ TIỀN SỬ - TRƯỚC NĂM 1980 : Thời kì trước những năm giữa thập kỉ 70 được coi là thời kì của các máy tính. Sự phát triển của các máy vi tính (sau này được gọi là PC) và của các phần mềm đã giúp cho người dùng cuối có thể thao tác, điều khiển trực tiếp với dữ liệu của họ. Mét trong những cột mốc quan trọng của giai đoạn này là sự ra đời của công nghệ dữ liệu quan hệ vào đầu thập kỉ 70 của Boyce/Codd. Theo sau nó là sự ra đời của hàng loạt các sản phẩm, công cụ quản lí và giao tiếp với cơ sở dữ liệu quan hệ. Đặc biệt sự ra đời của ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL : Structured Query Language) rất gần gũi với con người đã cho phép người dùng cuối có thể thao tác với dữ liệu quan hệ một cách dễ dàng, vì vậy nó được chuẩn hóa và sử dụng rất rộng rãi. Hiện nay tất cả các hãng sản xuất phần mềm quản trị dữ liệu đều hỗ trợ ngôn ngữ này. Cho tới giữa những năm 70, do sự phức tạp của phần cứng và phần mềm máy tính ngày càng tăng, vì vậy số người dùng cuối có khả năng thao tác, điều khiển trực tiếp dữ liệu ngày càng giảm. Lúc này, họ cần phải tìm kiếm một chuyên gia xử lý dữ liệu (data processing expert) có thể thao tác với dữ liệu để cung cấp cho họ những thông tin cần thiết giúp họ ra quyết định. Những chuyên gia xử lý dữ liệu này, vì đòi hỏi của công việc, phải tập trung toàn bộ tâm trí và sức lực vào việc nắm bắt kĩ thuật thao tác với máy tính và dữ liệu. Điều này có nghĩa là đã có một khoảng cách khá lớn giữa người dùng cuối và kĩ thuật lấy thông tin mà họ cần. Khoảng giữa thập kỉ 80, khoảng cách này đã giảm đi một cách đáng kể. Người dùng cuối vừa có khả năng kinh doanh vừa có thể tự mình khai thác dữ liệu. Điều này được thực hiện bởi sự đơn giản hóa các kĩ thuật xử lý dữ liệu. Thời kì này máy tính cá nhân (PC : Personal Computer) cũng phát triển mạnh mẽ và được sử dụng rộng rãi, nhờ nó mà công nghệ thông tin đã đạt được một bước tiến dài. 1.2. THỜI KÌ TRUNG ĐẠI - TỪ GIỮA NHỮNG NĂM 80 ĐẾN CUỐI NHỮNG NĂM 80 : Nếu thời kì trước đặc trưng bởi những sự đổi mới về công nghệ dẫn tới sự ra đời của người dùng cuối thì tới thời kì này được coi là thời kì của những người dùng cuối. Người dùng cuối càng phát triển thì nhu cầu của người dùng cuối lại càng cao và càng phong phú. Những kiến trúc dữ liệu trước đây trở nên không thể đáp ứng nổi với nhu cầu của người dùng cuối trong việc hỗ trợ ra quyết định, vì vậy đã dẫn tới sự tiến triển lên một giai đoạn tiếp theo của công nghệ dữ liệu, đó là sự ra đời của data warehouse ứng dụng cho từng công ty riêng rẽ. Khi người dùng cuối cần có những thông tin toàn cảnh về công ty thì một trong những vấn đề khó khăn nhất là tích hợp các phần dữ liệu lại với nhau. Do các phần dữ liệu này mang tính độc lập với nhau khá cao nên không thể tích hợp chúng một cách dễ dàng. Vì vậy các dữ liệu cần phải được tiền xử lý trước khi tích hợp lại. Data warehouse lần đầu tiên được nhắc tới trong giai đoạn những năm 1984 tới 1988. Nó có sự tiến triển khác nhau trong các công ty. Các bước tiến quan trọng của data warehouse diễn ra khi người ta hiểu được tầm quan trọng của kiến trúc dữ liệu khi phải cung cấp dữ liệu tới người dùng cuối. Các công ty nhận ra sù quan trọng của việc mô hình hóa dữ liệu và xây dựng giao diện với người dùng cuối.Tuy nhiên trong thời kì này vẫn tồn tại nhiều sự hiểu sai về khái niệm data warehouse và những những lợi Ých mà data warehouse đem lại cũng như quy mô của các công ty nên triển khai data warehouse. Cùng với thời gian, những sự nhầm lẫn này cũng dần dần được xóa bỏ. Cho tới cuối thời kì này, những công ty đã thử nghiệm data warehouse nhận ra rằng data warehouse chính là chìa khóa phát triển và mở rộng ứng dụng cho người dùng cuối, vì vậy họ tiếp tục tìm kiếm những cách thức để triển khai data warehouse dùa trên nền tảng lý thuyết đã có. Cuối thời kì này cũng đánh dấu sự định nghĩa về kiến trúc data warehouse lần đầu tiên xuất hiện rộng rãi. Một trong những bài báo đầu tiên đã mô tả về kiến trúc của data warehouse là bài báo của Devlin và Murphy vào năm 1988. Bài báo này trình bày các công việc được thực hiện để thiết kế data warehouse cho công ty IBM châu Âu. Sau này IBM vẫn được coi là công ty đầu tiên đưa ra khái niệm data warehouse. Đặc biệt thời kì này người ta cũng đã phân biệt được rõ ràng hệ thống tác nghiệp và hệ thống thông tin. Hệ thống tác nghiệp là hệ thống phục vụ cho công việc kinh doanh hàng ngày, vì vậy nó cần có phản ứng gần như tức thì đối với các yêu cầu kinh doanh, các sự kiện trong hệ thống thường có phạm vi ảnh hưởng nhỏ. Hệ thống tác nghiệp được cấu trúc tối ưu sao cho nó có thể đạt được tốc độ nhanh nhất, nó thường được sử dụng bởi những người dùng phải giao tiếp với khách hàng, sản phẩm, ... Trong khi đó, các đặc điểm của hệ thống thông tin lại khác hẳn : nã được sử dụng để quản lí và điều khiển công việc kinh doanh, nó được coi là các "ảnh chụp" liên tiếp tình trạng kinh doanh của công ty, do đó nó cho ta thấy tình trạng của công ty tại từng thời điểm hay trong một thời kì. Hệ thống thông tin được kiến trúc tối ưu cho việc trả lời các câu hỏi chứ không phải cho việc cập nhật dữ liệu, các yêu cầu đối với hệ thống thông tin là rất rộng và khó đoán trước, nó được sử dụng bởi các nhà quản lý và người dùng cuối như là một phương tiện cung cấp cho họ những thông tin cần thiết trong việc hỗ trợ ra quyết định. 1.3. CUỘC CÁCH MẠNG DỮ LIỆU - NHỮNG NĂM ĐẦU THẬP KỈ 90 : Đến đầu những năm 90 thì máy tính cá nhân đã trở thành công cụ không thể thiếu được trong các doanh nghiệp. Giá rẻ và được chuẩn hóa tốt đã giúp cho chúng chiếm lĩnh được thị trường công nghệ thông tin. Nhờ đó mà các sản phẩm chạy trên PC cũng được phát triển mạnh mẽ. Thời kì này hệ thống dữ liệu quan hệ chiếm lĩnh toàn bộ thị trường nhờ được chuẩn hóa cao và cấu trúc chặt chẽ. Tuy nhiên nó cũng vấp phải một vần đề khó khăn, đó là tốc độ truy vấn không cao khi có một câu hỏi ở mức tổng thể đòi hỏi phải duyệt qua nhiều bảng mới trả lời được. Nhờ những thành công bước đầu trong quá trình triển khai data warehouse ở giai đoạn trước, những người quản lý hệ thống thông tin đã cố gắng thuyết phục người dùng tin tưởng vào những lợi nhuận và cơ hội mà data warehouse sẽ mang lại cho họ trong tương lai. Sự chấp nhận data warehouse chỉ lan rộng trong cộng đồng doanh nghiệp khi mà họ nhận ra rằng họ cần phải có một cái nhìn tổng quan hơn về doanh nghiệp và nhiều khi điều đó là rất có giá trị. Họ nhìn thấy được khả năng tiềm tàng trong việc khai thác những dữ liệu đã có hơn là chỉ thao tác và cập nhật dữ liệu. Khi khai thác những kho dữ liệu khổng lồ, họ có thể lấy được những thông tin đáng giá phục vụ cho việc marketing hoặc tăng sức cạnh tranh. Cũng vào đầu thời kì này, chính những biến động to lớn về chính trị và kinh tế khiến nhiều doanh nghiệp thấy cần phải có một sự thay đổi mạnh mẽ trong việc kinh doanh để có thể tăng cường cạnh tranh. Ví dụ như trong ngành công nghiệp hàng không, việc cạnh tranh giữa các doanh nghiệp ngày càng quyết liệt. Một trong những hãng hàng không đạt được thành công là nhờ những thay đổi đáng kể trong chiến dịch marketing. Họ đã cố gắng tìm ra sự liên hệ giữa những khách hàng thường xuyên của hãng với dữ liệu về vé mà hãng đang có để đề ra một chiến dịch marketing mới. Kết quả tìm kiếm cho thấy những khách hàng thường xuyên nhất là những doanh nhân, những người thường ngồi khoang hạng nhất, đặt vé muộn và muốn có được sự linh hoạt cao. Sự liên kết dữ liệu về những người thường xuyên đi máy bay của hãng với dữ liệu của hệ thống bán vé đã cho ra đời một chiến dịch marketing mới và rất có hiệu quả nhằm vào tầng líp doanh nhân, điều này không những làm cho hãng có được một số lượng lớn khách hàng trung thành mà còn giúp cho hãng thu hót thêm được nhiều khách hàng mới. Ví dụ trên cho thấy những nhu cầu kinh doanh mới đã dẫn tới cuộc cách mạng dữ liệu. Các doanh nghiệp cần một cái nhìn mới để hiểu được công ty hoạt động như thế nào - mét cái nhìn có thể bao quát được những khía cạnh kinh doanh riêng lẻ trước đây, và để đáp ứng được điều này thì công nghệ dữ liệu cũng cần phải có những thay đổi phù hợp. Có thể nói sự phát triển về công nghệ dữ liệu trong thời kì này là sự phát triển về nhận thức. Mặc dù tăng trưởng về số lượng là không nhiều, trong thời kì này mô hình dữ liệu quan hệ vẫn phát triển mạnh mẽ, nhưng nhận thức về data warehouse đã thay đổi theo hướng tiếp cận với người dùng. Nó tạo ra mét xu thế phát triển mới là lấy người dùng làm trung tâm thay vì lấy yêu cầu của công việc làm trung tâm như trước kia. Mục đích xây dựng hệ thống data warehouse cũng trở nên rõ ràng, đó là hướng vào kinh doanh. Data warehouse đã được chọn lùa để trở thành công cụ cung cấp thông tin kinh doanh và phục vụ công cuộc chiếm lĩnh thị trường của các doanh nghiệp. 1.4. KỈ NGUYÊN CỦA QUẢN LÝ DÙA TRÊN THÔNG TIN - TỚI NHỮNG NĂM CỦA THẾ KỈ 21 : Trong suốt thập kỉ 80 đến nửa đầu thập kỉ 90, lý thuyết và việc triển khai data warehouse được thực hiện tương đối chậm chạp vì vẫn còn tồn tại nhiều định nghĩa khác nhau về data warehouse. Tuy nhiên những định nghĩa này cũng có một số điểm chung về những nhu cầu trong kinh doanh cũng như những hướng mà kĩ thuật cần phải hỗ trợ trong việc triển khai data warehouse, và mặc dù xuất hiện vào đầu những năm 80 nhưng cho tới giê thì chúng vẫn được nhìn nhận là những yếu tố cơ bản trong lý thuyết xây dựng data warehouse. Mét trong những chiều hướng kinh doanh trong tương lai sẽ là quản lý dùa vào thông tin, điều đó có nghĩa là những thông tin hỗ trợ quyết định sẽ được chuyển tải tới người dùng cuối. Quá trình này có thể được thể hiện như sau : Một nguồn thông tin duy nhất : dữ liệu cần tích hợp có thể tới từ rất nhiều nguồn, cả từ trong và ngoài công ty và tồn tại dưới rất nhiều dạng, từ loại dữ liệu có cấu trúc truyền thống tới loại dữ liệu phi cấu trúc như văn bản hay phim ảnh. Trước khi được đưa tới người dùng cuối, chúng cần được làm sạch và thống nhất để đảm bảo chất lượng và tính toàn vẹn. Phân phối thông tin : việc quản lý dùa vào thông tin không chỉ là công việc của bộ phận đầu não của công ty mà nó còn là công việc của rất nhiều bộ phận khác. Ví dụ một công ty có nhiều chi nhánh ở các vùng địa lý khác nhau thì các chi nhánh này cũng cần có thông tin để quản lý. Thông tin trong ngữ cảnh kinh doanh : người dùng chỉ có thể hiểu và sử dụng thông tin một cách hữu Ých khi mà thông tin được đặt trong ngữ cảnh của các hoạt động kinh doanh của người dùng. Vì vậy các định nghĩa dữ liệu cung cấp bởi các chuyên gia kinh doanh trở thành các quy chuẩn và cần phải có một bộ phận thông tin chứa các định nghĩa này. Phân phối thông tin tự động : khi dữ liệu chuyển thành thông tin và luân chuyển trong hoặc giữa các tổ chức với nhau thì các công cụ phân phối tự động trở nên cần thiết. Sự tự động không chỉ đòi hỏi tiến trình phân phối phải tự động mà còn đòi hỏi cả những định nghĩa về các yêu cầu luân chuyển và chuyển dạng dữ liệu. Quyền sở hữu và chất lượng thông tin : thông tin là tài sản sống còn của các công ty, và giống như các tài sản khác, nó cần được quản lý và bảo vệ. Chất lượng của nó phải được đảm bảo. Quyền sở hữu thông tin là điều kiện tiên quyết để nhận ra giá trị của thông tin. 1.5. KẾT LUẬN : Tới đây, ta có thể đưa ra một định nghĩa về data warehouse như sau : "Data warehouse đơn giản là một kho dữ liệu đơn nhất, hoàn chỉnh, thống nhất được tạo thành từ nhiều nguồn dữ liệu khác nhau có thể cung cấp thông tin cho người dùng cuối theo cách mà họ có thể hiểu và sử dụng được trong ngữ cảnh kinh doanh của họ". Lịch sử phát triển của data warehouse nói riêng và của ngành công nghệ thông tin nói chung gắn liền với sự phát triển của công nghệ phần cứng. Cho dù có những lúc hướng đi của ngành bị chi phối bởi công nghệ mới và cũng có khi lại phải chạy theo đòi hỏi của người dùng cuối nhưng bằng cách này hay cách khác thì cái đích cuối cùng của sự phát triển vẫn là sử dụng những thành quả của kĩ thuật để mang lại lợi Ých cho người sử dụng cho dù họ là nhà cung cấp sản phẩm hay những người dùng cuối. Đó chính là lý do khiến data warehouse không thể chỉ nằm trong công nghệ thông tin hay trong lĩnh vực kinh tế. Nó phải trở thành một công nghệ đem lại lợi Ých cho cả người sử dụng cuối và người tạo ra nó. Có như vậy data warehouse mới có thể tồn tại và phát triển. Qua thời gian, theo chiều phát triển của lịch sử, công việc của các chuyên gia công nghệ thông tin cũng dần thay đổi. Từ chỗ công việc chính của họ là tự động hóa và giản tiện các công việc hàng ngày dần dần đã chuyển sang quản lí và phát triển các hệ thống đó. Sự dịch chuyển này chính là tiền đề phát triển của data warehouse. CHƯƠNG 2 NHỮNG KHÁI NIỆM VỀ DATA WAREHOUSE Ở chương trước, chúng ta đã biết được rằng những nhu cầu của người dùng cuối kết hợp với sự phát triển của công nghệ dẫn tới sự ra đời của data warehouse và ta cũng đã định nghĩa thế nào là data warehouse. Chương này ta sẽ đi sâu và giới thiệu kĩ hơn về data warehouse, đồng thời chương này cũng sẽ nêu lên kiến trúc tổng quát của một data warehouse để chúng ta có thể hình dung rõ ràng hơn về nó. 2.1. DATA WAREHOUSE LÀ GÌ : Data warehouse là một cơ sở dữ liệu được thiết kế để đáp ứng với nhu cầu trả lời câu hỏi và phân tích chứ không phải để xử lý các giao dịch hàng ngày như cơ sở dữ liệu tác nghiệp. Nó thường chứa các dữ liệu có tính lịch sử bắt nguồn từ dữ liệu tác nghiệp, nhưng nó cũng có thể chứa dữ liệu từ các nguồn khác nữa. Nó giúp công ty tách việc phân tích ra khỏi các giao dịch hàng ngày. Sau đây là 4 đặc tính cơ bản của data warehouse được nêu bởi William Inmon : a) Hướng chủ đề : Data warehouse được thiết kế để giúp bạn phân tích dữ liệu nhằm trả lời các câu hỏi của người dùng cuối. Mặt khác, những câu hỏi của người dùng cuối lại có thể phân loại được theo một số chủ đề nào đó. Ví dụ người dùng cuối có thể đặt các câu hỏi như : "Khách hàng có độ tuổi nào mua nhiều bảo hiểm nhất trong năm nay ?", "Công ty con nào bán được nhiều bảo hiểm nhất trong tháng này ?" hay "Mặt hàng bảo hiểm nào được ưa chuộng nhất trong quý vừa rồi ?" để tìm hiểu rõ tình trạng bán bảo hiểm của công ty. Để trả lời những câu hỏi này, một data warehouse tập trung vào chủ đề hợp đồng bảo hiểm sẽ được xây dựng. Tương tự như vậy, data warehouse hướng vào các chủ đề khác cũng sẽ được hình thành. b) Tích hợp : Data warehouse được xây dựng từ nhiều nguồn dữ liệu khác nhau, các nguồn dữ liệu này có sự xung đột với nhau về tên trường, giá trị thể hiện, đơn vị đo lường, ... Ví dụ như cùng biểu diễn trường địa chỉ nhưng có cơ sở dữ liệu sử dụng tên trường là "Địa chỉ" trong khi cơ sở dữ liệu khác lại dùng là "Nơi ở". Ngoài ra các cơ sở dữ liệu cũng có thể có giá trị thể hiện khác nhau, ví dụ để biểu diễn giới tính của khách hàng, công ty con này dùng giá trị là 0 và 1, trong khi công ty con khác lại dùng giá trị là "M" và "W". Ngoài ra cũng còn phải kể đến sự sử dụng đơn vị đo lường khác nhau cũng dẫn tới việc khó thống nhất các cơ sở dữ liệu lại với nhau. Tóm lại, khi giải quyết được tất cả những sự xung đột dữ liệu này để dữ liệu có thể chuyển vào data warehouse theo một định dạng duy nhất, ta nói rằng chúng đã được tích hợp. c) Không thay đổi : Đặc tính này có ý nghĩa là khi dữ liệu đã được cập nhật vào data warehouse rồi thì dữ liệu không nên thay đổi nữa. Điều này cũng logic vì mục đích của data warehouse là cho phép bạn phân tích những gì đã xảy ra. d) Thời biến : Để phát hiện ra xu hướng kinh doanh, các nhà phân tích cần một khối lượng dữ liệu cực kì lớn, điều này trái ngược hẳn với hệ thống xử lý giao dịch trực tuyến, nơi mà tốc độ xử lý được đặt lên quan trọng hàng đầu còn thông tin lịch sử thì không được coi trọng. Thời biến ở đây có ý nghĩa là data warehouse phản ánh được sự thay đổi kinh doanh theo thời gian. Sự mâu thuẫn cơ bản trong một hệ thống thông tin là mâu thuẫn giữa các ứng dụng hướng dữ liệu để thực hiện công việc kinh doanh và những ứng dụng để quản lí chúng. Môi trường hỗ trợ quyết định luôn mâu thuẫn với hệ tác nghiệp trên nhiều mặt. Đầu tiên phải kể đến là vấn đề tốc độ. Để đạt được tốc độ cao cho cả hai hệ thống cần phải tách biệt chúng ra. Data warehouse đã làm như vậy. Bằng cách xây dựng data warehouse thì doanh nghiệp đã có hai hệ cơ sở dữ liệu tách biệt nhau là hệ cơ sở dữ liệu tác nghiệp và data warehouse. Cách thức tốt nhất để lưu trữ dữ liệu lại không phải là cách tối ưu để hiển thị chúng. Chính vì vậy, cấu trúc của dữ liệu trong data warehouse được hướng vào phục vụ người dùng tạo ra một phương thức dễ hình dung nhất để hiển thị dữ liệu. Mục đích của việc xây dựng data warehouse là tạo thuận lợi tối đa khi xem xét dữ liệu với mục đích phân tích kinh doanh và ra quyết định thay vì mục tiêu kĩ thuật. Nói chung data warehouse được xây dựng là để phục vụ kinh doanh và hướng vào kinh doanh. Bởi vì data warehouse cung cấp dữ liệu để xem xét lịch sử cũng như triển vọng phát triển nên nó tìm cách thể hiện và lưu trữ trạng thái tình hình kinh doanh trong một khoảng thời gian dài. Điều này mang lại cho những nhà kinh doanh lợi Ých to lớn cho phép họ phân tích xu hướng và triển vọng kinh doanh. 2.2. KIẾN TRÚC CỦA DATA WAREHOUSE : 2.2.1. KIẾN TRÚC CƠ BẢN : Kiến trúc cơ bản của data warehouse rất đơn giản. Nó dùa trên ý tưởng là xây dựng một kho dữ liệu thống nhất từ nhiều nguồn dữ liệu khác nhau để phục vụ truy vấn. Kiến tróc data warehouse gồm 3 líp chính : Líp dữ liệu nguồn (Data Sources) : Dữ liệu được đưa vào data warehouse từ rất nhiều nguồn khác nhau. Điều này thể hiện đặc tính tích hợp của data warehouse. Trên hình vẽ ta thấy dữ liệu nguồn có thể là dữ liệu có sẵn trong hệ thống tác nghiệp của doanh nghiệp và cũng có thể là dữ liệu lấy từ nguồn bên ngoài doanh nghiệp. Dữ liệu có thể là loại có cấu trúc chặt chẽ như dữ liệu quan hệ đã được chuẩn hóa hay có thể là loại phi cấu trúc như các văn bản thông thường. Líp Warehouse : Líp này chứa đựng dữ liệu đã được tổng hợp cùng siêu dữ liệu mô tả chúng cũng như các tiến trình tổng hợp, phân bổ dữ liệu. Hai thành phần quan trọng nhất của líp Warehouse là dữ liệu và siêu dữ liệu. Chúng phải được lưu giữ và mô tả nhất quán về nội dung (ý nghĩa dữ liệu) cũng như hình thức (khuôn dạng dữ liệu). Để tăng tốc cho việc đáp ứng trả lời truy vấn thì dữ liệu trong data warehouse thường được để sẵn dưới dạng tổng kết. Líp ứng dông : có nhiệm vụ tương tác với người dùng cuối. Một trong những đặc điểm quan trọng của data warehouse là cung cấp thông tin cho rất nhiều người sử dụng với những yêu cầu không thể dự đoán trước, vì vậy nhìn chung líp người dùng có cấu trúc phức tạp. Hơn nữa, người dùng ở đây có thể sử dụng nhiều công cụ khai thác và truy xuất dữ liệu khác nhau nên giao diện giữa líp Warehouse và người dùng cũng đa dạng. Do tính đa dạng của líp ứng dụng và líp người dùng nên chúng không thể giao tiếp với data warehouse theo các giao diện chuẩn mà thường cần phải có những công cụ được thiết kế đặc biệt chuyên thực hiện công việc này. Dữ liệu khi được đưa vào hoặc đưa ra khái data warehouse đòi hỏi phải có những tiến trình xử lý phức tạp. Các ứng dụng đảm nhiệm công việc này thường tạo ra các kho trung gian và phải thực thi nhiều bước chuyển tiếp. Có hai tiến trình xử lý chính gồm : Tập hợp dữ liệu đưa vào Warehouse : ngoài việc đọc hiểu các cấu trúc dữ liệu, tiến trình này còn phải thực hiện nhiều chức năng khác để bảo đảm tính nhất quán của dữ liệu trong warehouse. Phân bổ dữ liệu đến người dùng cuối : có nhiều công cụ để thực hiện việc này, nhưng nói chung là dữ liệu thường được tiền xử lý trước rồi sau đó mới hiển thị tới người dùng cuối. Ta thấy kiến trúc cơ bản của data warehouse là khá đơn giản, tuy nhiên việc xây dựng nó cũng đã khá khó khăn. Sau đây ta sẽ xem xét thêm kiến trúc của data warehouse khi có thêm líp Data mart và bước đệm xử lý. 2.2.2. KIẾN TRÚC DATA WAREHOUSE CÓ THÊM LÍP DATA MART VÀ BƯỚC ĐỆM XỬ LÝ : Nhìn tổng thể kiến trúc mới của data warehouse cũng gồm 3 líp chính như kiến trúc cơ bản. Việc thêm vào líp Data mart và bước đệm xử lý cũng không làm mất đi cấu trúc 3 líp ban đầu. Mô hình cũng chỉ rõ công việc cần thực hiện trong hai tiến trình chính : tập hợp dữ liệu và phân bổ dữ liệu. Phần sau sẽ phân tích các líp và tiến trình trong kiến trúc data warehouse. a) Líp nguồn : Dữ liệu có thể lấy từ 3 nguồn chính sau : Từ hệ thống dữ liệu tác nghiệp (ODS : Operational Data System) : Đây là nguồn dữ liệu lớn nhất và quan trọng nhất vì nội dung của nó phản ánh thực trạng kinh doanh của doanh nghiệp và được định nghĩa, cấu trúc tốt. Từ hệ thống file hồ sơ : các công văn, giấy tờ, báo cáo, ... thường được lưu dưới dạng văn bản hoặc do các chương trình kế toán tạo ra. Nếu chúng được sao lưu một cách đầy đủ và có chu kì thì hoàn toàn có thể dùng để làm nguồn dữ liệu trong data warehouse. Từ các hệ thống dữ liệu khác : nếu doanh nghiệp có các mối quan hệ với các doanh nghiệp khác hoặc có thể tận dụng nguồn dữ liệu ở bên ngoài thường xuyên và đều đặn thì đó cũng là một nguồn cung cấp dữ liệu cho data warehouse. Ví dụ như tỉ giá quy đổi ngoại tệ, chỉ số chứng khoán của công ty trên thị trường chứng khoán, ... b) Tiến trình tập hợp dữ liệu : Tiến trình tập hợp dữ liệu trải qua bốn bước : trích lọc, làm sạch, chuyển dạng và tải. Bốn bước này được thực hiện tuần tự và theo một lịch trình đã định trước. Phải làm như vậy là vì tiến trình này chiếm rất nhiều tài nguyên hệ thống cả về năng lực xử lí và bộ nhớ. Mỗi khi thực hiện việc tập hợp dữ liệu cần phải can thiệp trực tiếp vào dữ liệu đang có dẫn đến có thể xảy ra xung đột. Vì vậy mỗi khi thực hiện tiến trình này thì phải tạm thời ngừng cung cấp dịch vụ cho người dùng. Nói chung tốt nhất nên thực hiện tiến trình này vào khoảng thời gian có Ýt người sử dụng dịch vụ nhất. Một đặc điểm nữa của tiến trình tập hợp dữ liệu là phải tương tác với nhiều dạng dữ liệu, trên nhiều nền tảng cơ sở dữ liệu và nhiều cấu trúc khác nhau. Thông thường các công việc này do một chương trình chuyên dụng đảm nhiệm. Trích lọc dữ liệu (extract) : liên kết với các file dữ liệu để đọc dữ liệu và tìm kiếm những dữ liệu cần thiết để đưa vào data warehouse. Dữ liệu sau khi được trích từ các nguồn khác nhau thường được đưa vào một kho tạm để thực hiện bước đệm xử lý (staging area) rồi mới đưa vào data warehouse. Ngoài lý do để tiện lợi cho việc xử lý, kho tạm cũng giúp giảm bớt thời gian đình trệ của hệ thống, tăng tốc độ nạp dữ liệu vào warehouse. Làm sạch dữ liệu (Scrub) : tiến trình này thực hiện các công việc như cấu trúc lại các bảng ghi, chuyển khuôn dạng, đơn vị của các trường cho nhất quán, loại bỏ hoặc đánh dấu dữ liệu có lỗi, chuyển giao các mối quan hệ về dữ liệu (ví dụ quan hệ giữa tuổi tác và năm sinh). Nói tóm lại quá trình này thực hiện việc thống nhất về khuôn dạng dữ liệu cần phải có để đưa vào data warehouse. Chuyển dạng dữ liệu (Transform) : mục đích là chuyển dạng dữ liệu thành một thể thống nhất và đồng đều. Tiến trình này thực hiện tiếp các công việc như kiểm tra tính toàn vẹn của dữ liệu, tạo ra các trường chỉ mục, khóa chính, ... để đảm bảo tính toàn vẹn của dữ liệu. Trường thời gian cũng có thể được thêm vào các bảng thích hợp trong giai đoạn này. Tiếp đến là công việc tập hợp và khối kết dữ liệu, tạo ra các trường hoặc bảng chuyển hóa chứa đựng các số liệu tổng hợp từ các bảng khác. Tải dữ liệu (Load) : bước cuối cùng là đưa dữ liệu vào data warehouse. Tiến trình này đã được lên lịch từ trước và thường được thực hiện bằng các câu lệnh truy vấn. Nói chung khi nhắc đến tiến trình này thì điều mà người ta quan tâm không phải là nó thực hiện những gì và thực hiện thế nào mà là khoảng thời gian hay nói cách khác là thời biểu của tiến trình, bởi vì tiến trình này sẽ làm tê liệt data warehouse trong một khoảng thời gian. Trên thực tế các công việc cụ thể có thể được thực hiện không theo thứ tự đã nêu trên mà phụ thuộc vào các kĩ sư xây dựng data warehouse cũng như các phần mềm chuyên dụng để thực hiện các công việc này. Lưu ý rằng chỉ có tiến trình tải dữ liệu vào data warehouse là cần phải lên kế hoạch trước để không ảnh hưởng tới sự phục vụ cho người dùng cuối, còn các tiến trình khác có thể thực hiện độc lập với sự vận hành của data warehouse. c) Líp data warehouse : Về mặt vật lí thì líp Warehouse là nơi lưu trữ toàn bộ dữ liệu. Thực chất nó là một hệ quản trị cơ sở dữ liệu đã được điều chỉnh để phù hợp hơn với công việc mà nó phải đảm trách khi hoạt động như là một data warehouse. Về mặt logic, dữ liệu trong líp data warehouse có cấu trúc và được tổ chức theo từng chủ đề. Về nguyên tắc thì việc thiết kế một cơ sở dữ liệu quan hệ sao cho nó có tính hướng chủ đề là điều hoàn toàn có thể làm được. Với data warehouse đó là điều sống còn. Tính hướng chủ đề là đặc điểm nổi bật của dữ liệu trong data warehouse. Chính vì thế khi được thiết kế dữ liệu cho data warehouse thì chất lượng dữ liệu được đánh giá theo các tiêu chí khác hẳn. Có thể hình dung dữ liệu trong data warehouse là những bức ảnh chụp trạng thái của tổ chức tại một thời điểm. Những bức ảnh này được lưu trữ liên tục tạo ra hình ảnh về phát triển của cả tổ chức. Mỗi một lần làm động tác "chụp ảnh" là một lần dữ liệu được cập nhật vào data warehouse. Có nhiều cách để ghi lại sự thay đổi về dữ liệu trong data warehouse. Dữ liệu có thể được : Sao lưu toàn bộ sau mỗi chu kì kinh doanh. Chỉ ghi nhận những phần khác biệt. Tạo mét tem thời gian cho mỗi lần thay đổi. Cài đặt thêm các tác nhân (trigger) vào cơ sở dữ liệu để "bắt" các thay đổi ở mức dữ liệu và tạo ra file log để lưu các thay đổi này. Đây là một vấn đề khó khăn và phức tạp đối với người xây dựng hệ quản trị cơ sở dữ liệu. Nó cũng là một trong những vấn đề kĩ thuật nan giải cần phải giải quyết trong công nghệ data warehouse. d) Líp Data mart : Về cơ bản có thể định nghĩa Data mart là một data warehouse ở phạm vi phòng ban hay vùng. Dữ liệu lưu trong data mart cũng chính là một phần dữ liệu lưu trong data warehouse. Thực chất chúng có cùng cấu trúc. Chỉ có một điểm khác biệt nhỏ là trong data mart dữ liệu được tổng hợp sẵn theo một lĩnh vực nào đó và chỉ phục vụ cho một nhóm người nhất định trong tổ chức nhằm phục vụ những yêu cầu kinh doanh đặc biệt. Data mart được chia làm hai loại là data mart phục thuộc (dependent) và data mart độc lập (independent). Tính độc lập hay phụ thuộc ở đây ngụ ý rằng nó được xây dựng một cách độc lập hay được xây dựng từ data warehouse. Nhiều doanh nghiệp chọn giải pháp xây dựng data mart độc lập rồi mới xây dựng data warehouse. Điều này làm giảm đáng kể chi phí ban đầu cũng như độ phức tạp của dự án vì thông thường data mart có qui mô nhỏ hơn, dễ quản lí hơn và cũng dễ xây dựng hơn. Trong mô hình kiến trúc của data warehouse thì líp data mart nằm giữa líp người dùng và líp data warehouse thực chất là data mart phụ thuộc. Data mart này đã được chuẩn bị sẵn để phục vụ một số nhu cầu đã được tính trước ở mức phòng ban. Người sử dụng data mart này cũng là những người dùng có nhu cầu cụ thể trong một vài lĩnh vực nào đó. Do vậy, data mart được xem là có cấu trúc ở mức phòng ban còn data warehouse có cấu trúc mức doanh nghiệp. Điểm khác biệt về cấu trúc này còn được thể hiện ở chỗ dữ liệu trong data warehouse được thể hiện dưới dạng sao, bông tuyết trong khi đó ở data mart dữ liệu thường được thể hiện dưới dạng hộp hay đa chiều. e) Tiến trình phân bổ dữ liệu đến người dùng cuối : Mục tiêu chính khi xây dựng data warehouse chính là để khai thác thông tin, chính vì thế tiến trình phân bổ dữ liệu đến người dùng cuối là tiến trình có nhiều ý nghĩa hơn cả. Tuy nhiên, data warehouse thực chất là một hệ quản trị cơ sở dữ liệu được tăng cường các tính năng đặc biệt để đáp ứng yêu cầu của nhiệm vụ mới, chính vì thế bản thân nó không có chức năng khai thác. Mặc dù người dùng cuối hoàn toàn có thể dùng các câu lệnh truy vấn dữ liệu SQL để khai thác dữ liệu trong data warehouse nhưng điều đó là không khả thi và không có ý nghĩa khi mà khối lượng dữ liệu cần truy xuất là rất lớn và yêu cầu về dữ liệu lại phức tạp, đa dạng. Chính vì vậy, thông thường tiến trình phân bổ dữ liệu thường do một chương trình khai thác dữ liệu riêng biệt đảm trách. Các chương trình này thường được gọi là OLAP server để chỉ rõ rằng chúng là những ứng dụng OLAP và có nhiệm vụ như một server dữ liệu. Tiến trình phân bổ dữ liệu được chia thành hai tiến trình nhá : Tiến trình phân bổ dữ liệu vào data mart : tiến trình này do data warehouse đảm nhiệm, có nghĩa là nó có thể được thực hiện một cách tự động và chính xác bởi các thủ tục được cài sẵn trong data warehouse mà không cần sự can thiệp từ bên ngoài. Các thủ tục này cần phải được viết trước. Tiến trình phân bổ dữ liệu tới người dùng cuối : người dùng cuối có thể khai thác trực tiếp dữ liệu từ data warehouse thông qua các công cụ khai thác OLAP, đồng thời họ cũng có thể lấy dữ liệu từ data mart. Trong trường hợp này do được phân hoạch và tổng hợp sẵn nên tốc độ truy xuất cũng như hiệu quả công việc sẽ cao hơn. Những báo cáo nhiều chiều định kì hoàn toàn có thể được thực hiện nhanh chóng thông qua việc truy xuất data mart. g) Líp ứng dông : Khi xây dựng một hệ thống mới người ta thường phải tính đến lợi tức đầu tư (ROI). Với data warehouse cũng vậy, sẽ là rất tốn kém và Ýt hiệu quả nếu chỉ có một số lượng Ýt người dùng có thể truy xuất dữ liệu từ data warehouse. Nghịch lí về đầu tư và thu hoạch trong data warehouse chỉ có thể được giải quyết khi rất nhiều người sử dụng cùng có thể khai thác được data warehouse. Đây chính là lÝ do khiến cho việc phát triển các ứng dụng sử dụng data warehouse trở nên sôi động và phát triển mạnh mẽ hơn lúc nào hết. Sau đây chúng ta xem xét một số líp ứng dụng chính với mục đích giới thiệu chứ không đi vào chi tiết. Sử dông intranet, internet : để đưa được thông tin đến với nhiều người dùng thì cách thức tốt hơn cả là sử dụng mạng thông tin. Intranet là cách thức đầu tiên được nghĩ tới bởi nó vừa có khả năng nhanh chóng đưa thông tin tới người dùng cuối lại vừa có tính an toàn cao. Mạng nội bộ của công ty là mảnh đất màu mỡ để khai thác và đưa các ứng dụng data warehouse đến với người dùng. Tiếp đến sẽ là sử dụng Internet và các giao thức truyền thông cơ bản trên Internet. Thế mạnh nổi trội của các ứng dụng sử dụng Internet là không cần cài đặt một ứng dụng đặc biệt nào ở phía người sử dụng. Toàn bộ ứng dụng có thể cài đặt ở phía server ứng dụng Web. Việc cập nhật, chỉnh sửa và phát triển ứng dụng hoàn toàn độc lập với người dùng. Cho đến nay các ứng dụng chạy trên web mà cụ thể là chuỵ trên giao thức HTTP (HyperText Transfer Protocol) đang được phát triển một cách nhanh chóng và đã trở nên không thua kém gì các ứng dụng chạy trên mô hình khách/chủ về mặt giao diện cũng như độ phức tạp. Các hãng sản xuất hệ quản trị cơ sở dữ liệu nổi tiếng cũng như nhiều hãng thứ ba khác đã chế tạo rất nhiều công cụ cho phép lập trình viên có thể dễ dàng viết các ứng dụng trên web truy xuất cơ sở dữ liệu hoặc đơn giản hơn là chỉ cần dịch lại các chương trình chạy trên mô hình khách/chủ thành ứng dụng chạy trên web. Sử dụng các phần mềm đầu cuối : các phần mềm đầu cuối là các phần mềm giao tiếp trực tiếp với người dùng cuối. Số lượng và chủng loại của các phần mềm kiểu này hiện nay rất đa dạng. Chúng có thể hỗ trợ những tác vụ từ đơn giản như lập các báo cáo, tìm duyệt dữ liệu hay phức tạp hơn như hỗ trợ các câu truy vấn phức tạp đặc biệt hoặc cũng có thể là những phần mềm chuyên dụng để khai phá tri thức, hỗ trợ quyết định sử dụng data warehouse. Như vậy nhìn tổng thể ta có thể thấy được kiến trúc của data warehouse là khá phức tạp. Mô hình cho thấy theo chiều hướng từ trái qua phải thì tính thông tin của dữ liệu ngày càng được thể hiện rõ hơn và tại líp ứng dụng, người dùng cuối được sự hỗ trợ của các công cụ khai thác dữ liệu có thể dễ dàng lấy được các thông tin trong data warehouse. Kiến trúc của data warehouse được đề cập ở phần trên chỉ là một mô hình có cấu trúc tổng quát. Về cơ bản nó có thể được áp dụng cho mọi mô hình data warehouse. Tuy nhiên, mỗi một hãng làm data warehouse lại có những ý tưởng riêng và thường xây dựng mô hình riêng cho hãng của mình. CHƯƠNG 3 KIẾN TRÚC DỮ LIỆU CỦA DATA WAREHOUSE Trong chương này chúng ta sẽ so sánh sự khác nhau giữa hệ thống thông tin và hệ thống tác nghiệp, sau đó ta sẽ nghiên cứu kiến trúc dữ liệu của data warehouse để thấy rõ sự khác nhau của nó với cơ sở dữ liệu tác nghiệp. 3.1. HỆ THỐNG THÔNG TIN VÀ HỆ THỐNG TÁC NGHIỆP : Rất có thể là khái niệm qua trọng nhất khi nhận thức về data warehouse chính là việc có hai loại hệ thống cơ bản trong tất cả các tổ chức : hệ thống thông tin và hệ thống tác nghiệp. Hai hệ thống này mặc dù khác nhau cơ bản về mục đích sử dụng, phương thức vận hành cũng như cấu trúc bên trong nhưng chúng lại thường có những mối liên hệ chặt chẽ. Hệ thống tác nghiệp (operational system) : bản thân cái tên đã nói lên được bản chất của chúng. Chúng là những hệ thống giúp vận hành doanh nghiệp hàng ngày. Chúng là trụ cột của bất kì một doanh nghiệp nào. Các hóa đơn nhập, các bảng kê hàng, các mẫu thiết kế, bảng lương, bảng quyết toán cuối kì, ... tất cả đều phải được tạo ra bởi hệ thống tác nghiệp. Chính bởi vai trò quan trọng đối với toàn bộ doanh nghiệp mà hệ thống tác nghiệp luôn là hệ thống đầu tiên được điện toán hóa. Theo thời gian, những hệ thống tác nghiệp đó được mở rộng, viết lại, tăng cường tính năng cũng như được tiếp tục bảo trì để đảm bảo rằng chúng hoàn toàn thích ứng được với sự phát triển của doanh nghiệp. Trên thực tế, hầu hết các doanh nghiệp lớn trên thế giới hiện nay đều không thể vận hành được nếu không nhờ đến sự hỗ trợ của hệ thống tác nghiệp được điện toán hóa và những số liệu mà hệ thống này đang lưu trữ, xử lý. Dữ liệu của hệ thống tác nghiệp thường được lưu trữ trong cơ sở dữ liệu quan hệ. Mặc dù chúng có thể được lưu trữ trong một số loại cơ sở dữ liệu khác nhau, thậm chí là trong các tệp tin phẳng (flat file) nhưng thực tế cho thấy sử dụng cơ sở dữ liệu quan hệ là cách thức tốt nhất để xây dựng một hệ thống tác nghiệp. Sau đây là một vài tính chất của dữ liệu tác nghiệp (operational data) : Thường xuyên được cập nhật thông qua các giao dịch trực tuyến. Được tối ưu hóa để thực thi các tác vụ giao dịch. Được chuẩn hóa cao, dễ dàng cập nhật và bảo trì. Tuy nhiên, không chỉ có vậy, doanh nghiệp trong quá trình phát triển của mình còn cần phải thực hiện một số hoạt động khác như lập kế hoạch, dự đoán tương lai và tổ chức quản lý doanh nghiệp mình. Những hoạt động này cũng là những nhiệm vụ có tầm quan trọng sống còn với hệ thống, đặc biệt là trong một thế giới đang phát triển một cách nhanh chóng như hiện nay. Những chức năng như "lập kế hoạch marketing", "lập kế hoạch phát triển" hay "phân tích tình hình tài chính" đều cần đến sự trợ giúp của hệ thống thông tin. Nhưng rõ ràng những chức năng này khác hẳn so với những chức năng mà hệ thống tác nghiệp đang đảm nhiệm, đồng thời loại hệ thống và thông tin sử dụng cũng khác biệt. Ngoài ra cơ sở tri thức cũng là một phần của hệ thống thông tin. Hệ thống thông tin (informational system) : thực hiện các công việc phân tích dữ liệu và hỗ trợ quyết định. Thông thường những quyết định này là về cách thức hoạt động của doanh nghiệp hiện nay và trong tương lai. Không chỉ mục đích sử dụng của hệ thống thông tin khác với mục đích sử dụng của hệ thống tác nghiệp mà quy mô của chúng cũng khác nhau. Trong khi dữ liệu trong hệ thống tác nghiệp cần dùng trải ra trong một miền rộng thì dữ liệu trong hệ thống thông tin chỉ được hình thành từ tập dữ liệu tác nghiệp giàu có đã được sử dụng trong doanh nghiệp trong nhiều năm và một số nguồn dữ liệu khác bên ngoài doanh nghiệp. Dữ liệu thông tin là nguồn tạo ra data warehouse, chúng có một số đặc điểm sau : Tổng hợp dữ liệu từ nguồn dữ liệu tác nghiệp. Là dữ liệu phi chuẩn và đã được sao lại. Không thường xuyên được cập nhật như trong dữ liệu tác nghiệp. Tối ưu hóa để chạy các ứng dụng hỗ trợ quyết định. Rất có thể là loại chỉ cho ghi mà không cho phép sửa. Được lưu trữ trong một hệ thống riêng biệt để giảm thiểu mối liên hệ với hệ thống tác nghiệp. Sau đây là bảng tổng hợp so sánh giữa hệ thống tác nghiệp và hệ thống thông tin theo các tiêu chí khác nhau : Tiêu chí so sánh Hệ thống tác nghiệp Hệ thống thông tin Số lượng các giao dịch Lớn Từ nhỏ đến cực lớn Thời gian đáp ứng Rất nhanh Từ chấp nhận được đến rất nhanh Cập nhật dữ liệu Nhiều Định kì hoặc real time Thời gian tác dụng Hiện tại Từ quá khứ, hiện tại cho đến tương lai Phạm vi dữ liệu Trong doanh nghiệp Cả bên trong và bên ngoài doanh nghiệp Hoạt động chính Tập trung, ghi chép, tính toán Hỗ trợ quyết định Các câu hỏi truy vấn Dự đoán được, định kì Không dự đoán được, phức tạp Trong những năm gần đây, cùng với data warehouse, bắt đầu phát triển từ những ý tưởng sơ khai trở thành một công nghệ cung cấp thông tin cho doanh nghiệp và những người dùng cuối, hệ thống thông tin cũng có một vai trò mới quan trọng hơn - cung cấp nguồn thông tin để kiến tạo tri thức cho doanh nghiệp trong kinh doanh. 3.2. KIẾN TRÚC DỮ LIỆU CỦA DATA WAREHOUSE : 3.2.1. MÔ HÌNH DỮ LIỆU ĐA CHIỀU (MULTIDIMENSIONAL DATA) : Trong cơ sở dữ liệu quan hệ, các thực thể được mô tả bằng các bảng (còn gọi là các quan hệ). Một bảng gồm nhiều cột và nhiều dòng, mỗi cột thể hiện một thuộc tính còn mỗi dòng đại diện cho một thực thể trong líp thực thể được định nghĩa bởi chính bảng ghi đó. Ví dô : Mã công ty con Tên công ty con Tỉnh LD01 Vĩnh Tiến Lâm Đồng KH03 Nam Khang Khánh Hòa BT01 Vĩnh Lâm Bình Thuận Mặc dù bảng này có ba cột chứa thông tin nhưng mỗi ô chứa thông tin chỉ thuộc về một công ty con. Chóng ta có thể thấy rằng mỗi công ty con chỉ nằm trên một tỉnh mà thôi. Bây giê ta hãy xem xét bảng sau : Sản phẩm Cửa hàng Số lượng Vở học sinh Tân Tiến 1000 Vở học sinh Vĩnh Giang 1500 Vở học sinh Đại Nam 1200 Thước kẻ Tân Tiến 500 Thước kẻ Vĩnh Giang 600 Thước kẻ Đại Nam 800 Bót bi Tân Tiến 2000 Bót bi Vĩnh Giang 2600 Bót bi Đại Nam 1800 Máy tính Tân Tiến 150 Máy tính Vĩnh Giang 120 Máy tính Đại Nam 200 Ta thấy rằng bảng này khác hẳn bảng trước và với loại bảng như thế này nếu dùng kiểu hiển thị dữ liệu ma trận hai chiều hàng, cột thì người xem có thể dễ hiểu hơn. Tân Tiến Vĩnh Giang Đại Nam Vở học sinh 1000 1500 1200 Thước kẻ 500 600 800 Bót bi 2000 2600 1800 Máy tính 150 120 200 Với việc tổ chức dữ liệu thành ma trận hai chiều như thế này, công việc tổng hợp dữ liệu được thực hiện một cách rõ ràng và nhanh chóng. Ví dô ta muốn tính tổng số hàng đã bán ra theo chủng loại hay theo cửa hàng hoặc là tổng tất cả mặt hàng đã bán được thì ta chỉ việc cộng các số liệu theo hàng và cột để được số liệu tổng. Tân Tiến Vĩnh Giang Đại Nam Tổng sè Vở học sinh 1000 1500 1200 3700 Thước kẻ 500 600 800 1900 Bót bi 2000 2600 1800 6400 Máy tính 150 120 200 470 Tổng sè 3650 4820 4000 12470 Việc hiển thị và lưu trữ dữ liệu kiểu này sẽ làm giảm đáng kể thời gian tổng hợp số liệu và vì vậy có ý nghĩa to lớn trong việc sử dụng. Hơn nữa cách thức hiển thị như vậy rất gần gũi với người dùng, đặc biệt với những mẫu dữ liệu dạng số có thể hiển thị chúng bằng biểu đồ khiến người dùng dễ dàng hình dung hơn. Nếu như người sử dụng cần thêm thông tin về thời gian nữa thì một chiều thời gian nữa sẽ được thêm vào và lúc đó ta sẽ có mô hình dữ liệu đa chiều. Trong dữ liệu đa chiều, mét "phần tử" hay một ô dữ liệu thường được đặc trưng bởi một giá trị đi kèm với nó là một tổ hợp các giá trị chiều. Trong ví dụ này, "phần tử số lượng" được thể hiện bởi một con số và đi kèm với nó là một tổ hợp 3 chiều (mặt hàng, công ty, thời gian). Có thể xem chiều trong dữ liệu đa chiều tương tự như khái niệm trường trong dữ liệu quan hệ. Với mỗi tổ hợp các chiều ta có một giá trị của phần tử tương ứng. Giá trị này thường là biến đổi, trong khi đó các chiều chỉ nhận một số giá trị xác định và có thể đoán trước. Việc biểu diễn dữ liệu theo kiến trúc dữ liệu đa chiều cho phép ta dễ dàng phân tích dữ liệu theo dạng ma trận hàng, cột. Động tác này được gọi là thái mỏng dữ liệu. Sở dĩ người ta sử dụng cái tên này là vì động tác ngày cũng giống như ta cắt ra một lát từ hình hộp dữ liệu đa chiều. Vì vậy mà dữ liệu trong data warehouse theo logic cũng sẽ được lưu trữ dưới dạng đa chiều. 3.2.2. MÔ HÌNH DỮ LIỆU THỰC TẾ CỦA DATA WAREHOUSE : Cơ sở dữ liệu quan hệ đã tồn tại và phát triển trong một thời gian dài, nó đã chứng tỏ được thế mạnh của mình và thống lĩnh được thị trường, vì vậy hầu hết các hệ quản trị cơ sở dữ liệu đều sử dụng hoặc có nhân là công nghệ dữ liệu quan hệ. Tuy nhiên, để xây dựng được data warehouse thì dữ liệu cần phải là đa chiều, vì vậy ta có một số mô hình dữ liệu sau của data warehouse : a) Mô hình dạng sao (star schema) : Mô hình dạng sao, như cái tên của nó, có dạng hình sao. Trung tâm là một bảng sự kiện (fact table), xung quanh là các bảng chiều (dimension table) trỏ vào nó. Thông thường mỗi vùng chủ đề trong data warehouse thường xoay quanh một bảng sự kiện trung tâm. Các bảng vệ tinh xung quanh là các nhánh của bảng sự kiện có nhiệm vụ mô tả chi tiết hơn thành phần sự kiện trong bảng. Bảng sự kiện được phát hiện bằng cách phân tích công việc kinh doanh của công ty. Với mỗi công việc hoặc một tiến trình chính của công ty thường sẽ có một bảng sự kiện mô tả chi tiết tiến trình đó. Trong ví dụ mô hình dạng sao đơn giản ở trên thì bảng sự kiện cho biết số lượng hàng bán ra và số tiền thu được ứng với các giá trị chiều là thời gian, loại sản phẩm, khách mua hàng và kênh phân phối hàng. Với mô hình như thế này thì ta có thể tính toán rất nhanh các thông số tổng hợp về số lượng bán hàng và tiền thu được, bên cạnh đó nó cũng cho ta biết được tình hình kinh doanh của công ty trong một thời gian dài. Bảng sự kiện tham chiếu đến các bảng khác thông qua các liên kết sử dụng khóa chính và khóa ngoại mà chúng ta đã rất quen thuộc. Như vậy, với mỗi thay đổi về giá trị tại các bảng chiều sẽ cho ta một giá trị mới trong bảng sự kiện. Chẳng hạn, nếu khách hàng mua hai sản phẩm trong cùng một lần thì sẽ có hai dòng trong bảng sự kiện mô tả giao dịch này. Mỗi dòng sẽ chứa lượng hàng bán và lượng tiền thu về, đồng thời tham chiếu đến các dòng chứa loại sản phẩm tương ứng trong bảng chiều sản phẩm. Nói chung là bảng sự kiện thường có dung lượng rất lớn và tăng kích cỡ liên tục, vì vậy khi thiết kế cần chú ý tới điều này. Vậy thiết kế dữ liệu theo mô hình dạng sao rất khác với mô hình dữ liệu truyền thống vì rõ ràng mô hình dữ liệu truyền thống không cần bộ nhớ lưu trữ dữ liệu nhiều đến thế. Khác biệt này là do mục tiêu của data warehouse là cho phép người dùng cuối tìm kiếm, khai thác và xử lý thông tin một cách nhanh nhất. Người dùng cuối sẽ không quan tâm đến vấn đề giao dịch đó được diễn ra như thế nào, cái mà họ muốn biết là kết quả tổng hợp của chúng như : lượng hàng bán ra được theo vùng, doanh thu theo kì hay phân bố của nhóm khách hàng cùng mua một loại sản phẩm nào đó ... Để trả lời những câu hỏi kiểu như vậy cần một khối lượng dữ liệu rất lớn và cần thành lập những câu hỏi truy vấn phức tạp nếu ta vẫn cứ sử dụng mô hình dữ liệu kiểu truyền thống. Lúc đó vấn đề tốc độ sẽ trở nên quan trọng. Hệ quản trị cơ sở dữ liệu sẽ không thể đáp ứng được cùng một lúc nhiều câu hỏi truy vấn kiểu như vậy tại một thời điểm. Vì vậy cần tập hợp dữ liệu lại theo cấu trúc mà người dùng cần chứ không phải theo kiểu mô tả chính xác nhất các hoạt động của hệ thống. b) Mô hình dữ liệu dạng bông tuyết : Thực chất mô hình này chỉ là một biến thể của mô hình dạng sao. Thay vì các cánh sao chỉ gồm một bảng chiều thì các bảng chiều này lại được phân cấp thêm. Ví dụ như các bảng chiều sản phẩm và khách hàng muốn phân cấp thêm thành loại sản phẩm và loại khách hàng. Điểm khác biệt cơ bản giữa mô hình dạng bông tuyết và dạng sao là ở chỗ các chiều trong mô hình dạng bông tuyết được tách thành các cấp khác nhau. Nhờ vậy khối lượng cần lưu giữ sẽ được giảm đi. Tuy nhiên đó không phải là lợi Ých chính của mô hình dạng bông tuyết. Lợi Ých chính của mô hình dạng này là ở chỗ nó tạo ra một cái nhìn đầy đủ về phân cấp trong các chiều. Với mô hình này mỗi chiều được phân thành nhiều cấp và vì vậy việc khai thác dữ liệu ở mức chi tiết cũng như tổng hợp dữ liệu dễ dàng hơn. Người dùng không phải cố gắng hình dung các cấp trong mỗi chiều mà tự bản thân nó đã được mô hình hóa theo kiểu này. Trở ngại lớn nhất khi triển khai mô hình dạng bông tuyết là vấn đề tốc độ. Đáng tiếc là nếu càng có nhiều quan hệ thì tốc độ truy vấn dữ liệu lại càng chậm, mà tốc độ lại là vấn đề sống còn khi thiết kế data warehouse. Do vậy, thông thường người ta tìm cách tránh sử dụng mô hình dạng bông tuyết. Tuy nhiên, đối với những người vốn đã quen với mô hình dữ liệu quan hệ và việc chuẩn hóa thì mô hình dạng bông tuyết gần gũi hơn và trên thực tế nhiều người thích sử dụng chúng hơn. Cần phải nói lại rằng tiêu chí cho việc lùa chọn mô hình là tốc độ và dung lượng bộ nhớ lưu trữ. Ta có thể biến một mô hình dạng bông tuyết về dạng sao và ngược lại mà không làm ảnh hưởng gì tới ngữ nghĩa của dữ liệu. Nếu một khi đặt vấn đề tốc độ lên hàng đầu thì ta nên chọn mô hình dạng sao. PHẦN II. XÂY DỰNG DATA WAREHOUSE CHO CHỦ ĐỀ "HỢP ĐỒNG KHAI THÁC" CHO CÔNG TY BẢO VIỆT NHÂN THỌ Sau khi đã tìm hiểu các khái niệm về data warehouse ở ba chương đầu, phần tiếp theo sẽ được giành để nói về những công việc thực tế mà em đã làm được trong quá trình thực tập tại phòng tin học Tổng công ty Bảo Hiểm Việt Nam, đó là việc xây dựng data warehouse cho chủ đề "Hợp đồng khai thác" cho công ty Bảo Việt Nhân Thọ. Tæng c«ng ty B¶o HiÓm ViÖt Nam, ®ã lµ viÖc x©y dùng data warehouse cho chñ ®Ò "Hîp ®ång khai th¸c" cho c«ng ty B¶o ViÖt Nh©n Thä. Phần này gồm 3 chương cuối của bản đồ án tốt nghiệp : Chương 4. Tìm hiểu vấn đề : chương này sẽ nói qua đặc điểm và hệ thống dữ liệu hiện tại của công ty Bảo Việt Nhân Thọ, nó giúp cho người đọc có được cái nhìn sơ bộ về thực trạng của công ty trước khi xây dựng data warehouse. Chương 5. Mô hình xây dựng Data Warehouse cho chủ đề "Hợp đồng khai thác" : chương này sẽ trình bày về mô hình mà em đã lùa chọn để xây dựng data warehouse và lý do tại sao. Chương này sẽ giúp người đọc hình dung được các bước cần phải thực hiện trong quá trình xây dựng data warehouse và công việc của mỗi bước thực hiện. Chương 6. Triển khai mô hình và kết quả : chương cuối cùng của đồ án sẽ đề cập chi tiết tới mô hình dữ liệu, chương trình dùng để thực thi các tiến trình và các kết quả đạt được trong quá trình xây dựng data warehouse. Phần đầu tiên là mô hình dữ liệu của phần nguồn, phần trung gian và của data warehouse cho chủ đề "Hợp đồng khai thác". Tiếp theo là phần chương trình để thực hiện các tiến trình tải dữ liệu từ nguồn dữ liệu vào data warehouse. Phần cuối cùng sẽ là các kết quả đạt được trong quá trình xây dựng data warehouse. CHƯƠNG 4 TÌM HIỂU VẤN ĐỀ 4.1. ĐẶC ĐIỂM CỦA CÔNG TY BẢO VIỆT NHÂN THỌ : Trước khi tìm hiểu đặc điểm của công ty Bảo Việt Nhân Thọ, ta hãy tìm hiểu sơ qua đặc thù của ngành kinh doanh bảo hiểm. Xét dưới góc độ kinh doanh hiện nay thì bảo hiểm là một ngành còn non trẻ khi so sánh với các ngành kinh doanh khác. Tuy nhiên, nếu xét từ góc độ mức độ phát triển thì bảo hiểm lại là một ngành kinh doanh lớn và có doanh thu thuộc hàng cao nhất trong các ngành kinh doanh. Bảo hiểm nhân thọ mới chỉ được phát triển từ những năm đầu của thế kỉ 19 còn bảo hiểm y tế thì mới chỉ được ra đời vào đầu thế kỉ 20. Tuy nhiên thì theo thời gian doanh thu của bảo hiểm nhân thọ đã tăng trưởng mạnh mẽ và bảo hiểm y tế cũng phát triển tương tự. Nguyên nhân cơ bản dẫn đến sự phát triển mạnh mẽ này nằm ở bản chất của sản phẩm bảo hiểm. Tất cả các sản phẩm bảo hiểm đều cung cấp sự bảo vệ trước những rủi ro kinh tế hoặc mất mát. Chính vì thế bảo hiểm đáp ứng được nhu cầu của mọi người. Ngành kinh doanh bảo hiểm tạo dựng, cung cấp, chỉnh sửa, cập nhật các sản phẩm bảo hiểm một cách thường xuyên để đáp ứng những nhu cầu đó. Có rất nhiều hình thức và chủng loại sản phẩm bảo hiểm nhưng tất cả chúng đều có một điểm chung là cung cấp sự bảo vệ về mặt tài chính trước những mất mát, rủi ro. Về mặt bản chất, một hợp đồng bảo hiểm là một bản giao kèo, bản thỏa thuận có tính pháp lí, trong đó công ty kinh doanh bảo hiểm đồng ý sẽ trả một khoản tiền nào đó gọi là khoản tiền bồi thường từ hợp đồng bảo hiểm cho khách khi có tổn thất xảy ra với điều kiện là người tham gia bảo hiểm phải đóng một khoản tiền nào đó. Bằng cách đó những rủi ro đã được chuyển sang phía công ty bảo hiểm. Một hợp đồng bảo hiểm thường có hai nhân vật : người tham gia bảo hiểm là người trả các khoản phí bảo hiểm qui định trong hợp đồng bảo hiểm và người được hưởng quyền lợi bảo hiểm là người sẽ được nhận những khoản bồi thường quy định trong hợp đồng. Cố nhiên là hai nhân vật này cũng có thể chỉ là một người. Tuy nhiên, trong trường hợp bảo hiểm nhân thọ do đối tượng được bảo hiểm lại chính là con người nên có thêm một nhân vật nữa là người được bảo hiểm hay còn gọi là đối tượng bảo hiểm. Nhìn chung ngành bảo hiểm được chia thành ba nhánh : bảo hiểm nhân thọ, bảo hiểm y tế và bảo hiểm tài sản. Bảo hiểm nhân thọ bồi thường một khoản tiền nào đó cho người được hưởng quyền lợi bảo hiểm trong trường hợp có rủi ro xảy đến với người được bảo hiểm. Bảo hiểm y tế bồi thường một khoản tiền cho người được hưởng quyền lợi bảo hiểm trong trường hợp người được hưởng quyền lợi bảo hiểm bị ốm hay tai nạn. Bảo hiểm tài sản bồi thường cho những tài sản được bảo hiểm trong trường hợp tài sản đó bị hư háng hay tổn thất do các nguyên nhân khách quan hoặc/và chủ quan. Ngoài ra còn một loại bảo hiểm nữa là bảo hiểm trách nhiệm dân sự. Bảo hiểm trách nhiệm dân sự sẽ thay mặt người được bảo hiểm lĩnh nhận một phần hoặc toàn bộ trách nhiệm dân sự trong trường hợp người được bảo hiểm phải chịu trách nhiệm pháp lí đối với những tổn thất mà họ đã gây ra. Sau khi đã có được những khái niệm cơ bản về ngành kinh doanh bảo hiểm, ta sẽ xem xét toàn cảnh của ngành kinh doanh bảo hiểm hiện nay bằng việc tập trung vào năm lĩnh vực chủ yếu là : marketing, phân phối, dịch vụ khách hàng, sức sống của tổ chức và năng lực cạnh tranh. Marketing : Thị trường bảo hiểm ngày càng trở nên sôi động và đông đúc hơn, chính vì thế các công ty bảo hiểm cần phân tích cẩn thận thị trường, lùa chọn các thị trường mục tiêu cẩn thận và tiếp đó phát triển các sản phẩm bảo hiểm phù hợp và đáp ứng được nhu cầu thường xuyên thay đổi của khách hàng. Các cơ chế phải được xây dựng để có thể theo dõi được lợi nhuận, chăm chú theo dõi những cơ hội cạnh tranh và xác định các cơ hội mới. Việc lùa chọn các kênh phân phối và dịch vụ sẽ là cần thiết. Người ta sẽ cần nhiều hơn các công cụ vững chắc và mềm dẻo để đảm bảo rằng các sản phẩm bảo hiểm là linh hoạt và đáp ứng được những nhu cầu thay đổi của khách hàng theo thời gian. Có thể định nghĩa ngắn gọn marketing trong bảo hiểm là cung cấp những sản phẩm cần thiết cho khách hàng đúng chỗ và đúng lúc. Phân phối : Những người bán bảo hiểm sẽ tìm kiếm ngày càng nhiều hơn các kênh phân phối sản phẩm bảo hiểm. Nhu cầu khác biệt ngày càng lớn sẽ khiến các công ty bảo hiểm phải nỗ lực hơn nữa trong các quá trình tìm hiểm thị trường và dịch vụ khách hàng. Công nghệ mới sẽ cho phép các hệ thống phân phối đang tồn tại cải thiện được cả năng suất và chất lượng dịch vụ. Những cách tiếp cận thị trường mới cũng sẽ được sử dụng trước hết là để đạt được sự thống nhất giữa các nhóm như nhóm người thiểu số, nhóm phụ nữ có chuyên môn hay nhóm người cao tuổi. Các chiến lược phân phối sản phẩm sẽ được nhắm vào từng nhóm đối tượng cụ thể để đạt được hiệu quả cao hơn. Có thể nói xu hướng của tiến trình phân phối là mang lại thông tin và công cụ cho các đại lí phân phối sản phẩm. Dịch vụ khách hàng : trong tương lai dịch vụ khách hàng cần phải được định nghĩa một cách rõ ràng hơn theo cách tạo ra các lợi thế so sánh bền vững khi nhìn nhận từ phía khách hàng chứ không phải là từ tổ chức bảo hiểm. Mục đích về dịch vụ khách hàng sẽ được nhìn nhận dưới quan điểm của khách hàng về kinh doanh bảo hiểm. Hai xu hướng chính về dịch vụ khách hàng đang chi phối ngành kinh doanh bảo hiểm là tích hợp các dịch vụ khách hàng vào các phòng ban và cung cấp ngày càng nhiều thông tin hơn cho khách hàng. Sức sống của tổ chức : để có được sức sống trong môi trường đầy biến động ngày nay các công ty phải luôn tìm mọi cách đầu tư vào đội ngò cán bộ, công nhân viên của mình, khuyến khích sáng tạo và tự chủ. Các đội làm việc có tính độc lập thường mang lại nhiều hiệu quả kinh doanh và cũng thường sáng tạo hơn, chính điều này sẽ làm công ty trở nên năng động hơn, do đó cũng dễ thích nghi với môi trường thay đổi hơn. Các công ty cũng thường tự tạo cho mình một "kiến trúc kinh doanh" nhờ vậy có được thế mạnh ổn định và linh động. Xu hướng chính mang lại sức sống cho các công ty vẫn là cung cấp các dịch vụ trong những thị trường tiềm năng và kết hợp quản trị hệ thống với quản trị khách hàng. Năng lực cạnh tranh : tất cả những nhà cung cấp dịch vụ đều phải cạnh tranh. Chưa bao giê chúng ta được chứng kiến một sự thay đổi xảy ra với một nhịp độ nhanh đến như vậy, đặc biệt là trong ngành kinh doanh bảo hiểm. Công nghệ sẽ đóng một vai trò chủ đạo trong năng lực của các công ty bảo hiểm để cạnh tranh thu lợi. Việc xây dựng lại tiến trình kinh doanh bảo hiểm đi đôi với việc triển khai công nghệ mang tính chiến lược để phát triển và phân phối các sản phẩm và dịch vụ mới sẽ là những yếu tố quyết định cho sự thành công trong tương lai của ngành bảo hiểm. Ta hãy quay lại với vấn đề đặc điểm của công ty Bảo Việt Nhân Thọ. Công ty được thành lập từ năm 1996 và cho đến nay mạng lưới đại lí của Bảo Việt Nhân Thọ đã lan rộng khắp cả nước. Bảo Việt Nhân Thọ là một phần của Bảo Việt và vì vậy tận dụng được mạng lưới đại lí sẵn có rất rộng lớn mà Bảo Việt đã duy trì trong hơn 35 năm qua. Về mặt tổ chức Bảo Việt Nhân Thọ có một trụ sở chính gọi là công ty mẹ, dưới công ty mẹ này là hàng loạt các công ty con đặt tại các tỉnh khác nhau. Công ty con có nhiệm vụ khai thác và quản lí các văn phòng đại diện ở địa phương. Các văn phòng đại diện lại làm nhiệm vụ quản lí các đại lí và duy trì các hợp đồng bảo hiểm tại địa phương. 4.2. HỆ THỐNG DỮ LIỆU HIỆN NAY : Hệ thống dữ liệu hiện nay mà Bảo Việt Nhân Thọ đang dùng là một hệ thống thống nhất chạy trên hệ quản trị cơ sở dữ liệu Oracle. Các chương trình dùng để vận hành hệ thống tác nghiệp được phát triển tại trung tâm thông tin và sau đó được cài đặt tại tất cả các công ty con của Bảo Việt Nhân Thọ, điều này dẫn tới sự nhất quán về mô hình dữ liệu của toàn công ty. Khi nào có sự nâng cấp chương trình thì các phần nâng cấp cũng được gửi tới tất cả các công ty thành viên để đảm bảo sự nhất quán này. Dữ liệu của các công ty con được sao lưu vào kho dữ liệu tập trung của công ty tại Hà Nội. Quá trình sao lưu này gồm 2 bước : bước thứ nhất là sao lưu toàn bộ dữ liệu hiện có, bước thứ hai là dữ liệu mới tại các địa phương sẽ được cập nhật hàng ngày lên trung tâm. Kho dữ liệu này ngoài nhiệm vụ cung cấp dữ liệu cho việc xây dựng data warehouse một cách thuận lợi còn là kho dữ liệu sao lưu cho các địa phương, đề phòng khi các dữ liệu này có vấn đề thì có thể phục hồi lại được. Trung tâm dữ liệu của Bảo Việt là trung tâm dữ liệu tập trung đặt tại Hà Nội. Công ty hiện đang sử dụng phương thức giao tiếp chủ yếu để liên lạc với các công ty thành viên là sử dụng đường liên lạc trực tiếp bằng điện thoại để trao đổi dữ liệu thông qua các modem thoại. Các công ty thành viên sử dụng phương thức truy nhập qua mạng thoại công cộng lên trung tâm dữ liệu để truyền và nhận dữ liệu. Các văn phòng đại diện cũng sử dụng phương pháp này để liên lạc với các công ty thành viên quản lý mình. CHƯƠNG 5 MÔ HÌNH XÂY DỰNG DATA WAREHOUSE CHO CHỦ ĐỀ "HỢP ĐỒNG KHAI THÁC" 5.1. MÔ HÌNH TỔNG QUÁT : Như chóng ta đã tìm hiểu ở chương 2, mô hình tổng quát để xây dựng một data warehouse bất kì gồm có ba vùng chính là data source, staging area và data warehouse. Ở Bảo Việt Nhân Thọ, dữ liệu từ các công ty con đã được tập hợp vào kho dữ liệu tập trung và ở dưới dạng dữ liệu quan hệ, vì vậy đây là một thuận lợi rất lớn cho những người xây dựng data warehouse. Dùa vào đặc điểm của hệ thống dữ liệu của Bảo Việt Nhân Thọ, em đã chọn mô hình sau để xây dựng data warehouse cho chủ đề "Hợp đồng khai thác" : Data source Staging area Data warehouse Kho d÷ liÖu tËp trung Ở đây dữ liệu của data source, staging area và data warehouse đều là dữ liệu quan hệ và cùng sử dụng hệ quản trị cơ sở dữ liệu Oracle. Từ kho dữ liệu tập trung tại công ty, các bảng dữ liệu cần thiết cho việc xây dựng data warehouse sẽ được trích ra và đưa vào vùng staging area để xử lý. Tại vùng staging area, dữ liệu sẽ được làm sạch và chuyển dạng cho phù hợp với dạng dữ liệu của data warehouse, đây cũng là nơi kiểm tra tính toàn vẹn của dữ liệu trước khi tải vào data warehouse. Dữ liệu tại staging area sau khi được xử lý sẽ được tải vào data warehouse vào những khoảng thời gian hợp lí. 5.1. MÔ HÌNH CHI TIẾT : Sau đây chúng ta sẽ xem xét mô hình chi tiết khi xét cụ thể quá trình xử lý dữ liệu trong vùng staging area và các tiến trình cần có : 1.1 1.2 2.1 3.1 4 5 6 2.2 3.2 Staging area Stage 1.1 Stage 1.2 Stage 2 Data warehouse Data source Quá trình tổng hợp dữ liệu từ data source vào data warehouse gồm 2 pha : Pha 1 : tổng hợp dữ liệu hiện có trong data source vào data warehouse. Pha 2 : cập nhật các dữ liệu mới vào data warehouse kể từ thời điểm sau pha 1. Trước tiên ta xét pha 1. Trong mô hình chi tiết, pha 1 gồm các khối dữ liệu data source, stage 1.1, stage 2, data warehouse và các tiến trình 1.1, 2.1, 3.1, 4, 5. 1) Data source : đây là kho dữ liệu tập trung của công ty Bảo Việt Nhân Thọ được tổng hợp và cập nhật thường xuyên từ tất cả các công ty con. Dữ liệu được lưu dưới dạng dữ liệu quan hệ. 2) Stage 1.1 : đây là phần dữ liệu cần thiết cho data warehouse chủ đề "Hợp đồng khai thác" được trích từ data source. Dữ liệu phần này cũng được lưu dưới dạng dữ liệu quan hệ. Phần này gồm các bảng có cấu trúc gần giống các bảng được trích dữ liệu trong phần data source, ta chỉ loại bỏ các trường mà ta không cần thông tin để tổng hợp vào data warehouse. 3) Tiến trình 1.1 : đây là tiến trình tải dữ liệu từ data source vào stage 1.1. Thực chất nhiệm vụ của tiến trình này là lọc dữ liệu, loại bỏ những dữ liệu không hợp lệ. Ví dô : khi khách hàng yêu cầu được mua bảo hiểm thì khách hàng sẽ phải điền các thông số vào giấy yêu cầu bảo hiểm, sau đó nếu công ty bảo hiểm thấy rằng khách hàng thỏa mãn các điều kiện của công ty để mua bảo hiểm thì công ty và khách hàng sẽ tiến hành làm hợp đồng bảo hiểm. Rõ ràng là có một số khách hàng có yêu cầu bảo hiểm nhưng không thỏa mãn các điều kiện để mua bảo hiểm của công ty thì khách hàng không thể làm hợp đồng bảo hiểm. Như vậy trong quá trình tải dữ liệu từ data source vào stage 1.1 cần loại bỏ những yêu cầu bảo hiểm này. Trong tiến trình này có thể sử dụng một số bảng tạm để xử lý, điều này có thể nâng cao được hiệu quả sử dụng dung lượng đĩa cứng. Đây cũng là một điều đáng quan tâm vì dung lượng dành cho data warehouse thường rất to, nếu ta không cẩn thận thì dữ liệu này có thể phình lên rất nhanh và chiếm rất nhiều tài nguyên. 4) Tiến trình 2.1 : Sau khi dữ liệu từ data source đã được lọc vào stage 1.1 thì ta sẽ tiến hành làm sạch dữ liệu. Tiến trình 2.1 đảm nhận nhiệm vụ này. Dữ liệu tại kho dữ liệu tập trung được tổng hợp từ các công ty con, vì vậy mà nó có rất nhiều lỗi. Trong quá trình xây dựng hệ thống tác nghiệp, chương trình ứng dụng muốn đảm bảo mức độ linh hoạt cho người dùng hoặc vẫn chưa được nâng cấp đầy đủ, vì vậy mà chương trình ứng dụng không hoàn toàn kiểm soát dữ liệu một cách chặt chẽ khi người dùng cuối nhập dữ liệu vào. Ví dô : khi nhập thông số về chiều cao của người mua bảo hiểm, người dùng cuối có thể nhập vào giá trị 1.7 với đơn vị ngầm hiểu ở đây là mét, tuy nhiên người dùng cuối cũng có thể nhập vào giá trị 170 với đơn vị ngầm hiểu là cm. Vì vậy nhiệm vụ của tiến trình làm sạch là phải thống nhất được các giá trị này về cùng một đơn vị đo lường, như thống nhất đơn vị đo lường là cm cho chiều cao người mua bảo hiểm thì giá trị đã sử dụng đơn vị đo lường mét phải được sửa đổi. Ngoài ra, để cho tiện lợi thì ngay bản thân hệ thống dữ liệu tác nghiệp cũng không phải đã tuân theo các tiêu chuẩn chuẩn hóa một cách hoàn toàn mà nó vẫn có thể dư thừa dữ liệu dẫn đến nảy sinh tình trạng xung đột dữ liệu. Ví dô : trong bảng lưu dữ liệu về khách hàng có giá trị ngày tháng năm sinh của khách hàng. Tuy nhiên trong bảng hợp đồng của khách hàng cũng lưu cả ngày tháng hợp đồng có hiệu lực và tuổi của khách hàng. Như vậy nếu theo các quy tắc chuẩn hóa thì rõ ràng ở đây đã có sự dư thừa dữ liệu. Mặt khác, tính chất của hệ thống tác nghiệp và hệ thống thông tin cũng khác nhau, vì vậy có một số thuộc tính đối với hệ thống tác nghiệp là không quan trọng, dữ liệu có thể không đầy đủ nhưng khi đưa vào hệ thống thông tin thì người dùng cuối lại cần có thông tin này để phân tích, do vậy đây cũng là một trường hợp cần phải xử lý làm sạch. Ví dô : trong bảng lưu dữ liệu về khách hàng có thuộc tính giới của khách hàng. Trong hệ thống tác nghiệp, ý nghĩa của thuộc tính này không quá quan trọng, vì vậy nó có thể NULL (và thực tế cũng có khá nhiều trường hợp như vậy xảy ra). Tuy nhiên trong hệ thống thông tin thì người ta lại cần biết thông tin này để có thể tiến hành phân tích, do đó đây cũng là một vấn đề cần xử lý làm sạch trước khi đưa dữ liệu vào data warehouse. Tiến trình này cũng có thể sử dụng một số bảng tạm trong quá trình xử lý. Dữ liệu bị lỗi thường không nhiều do tính đồng bộ sẵn có của hệ thống dữ liệu, vì vậy dùng bảng tạm vừa có thể đạt được tốc độ nhanh vừa tiết kiệm được bộ nhớ vì đây là công việc phải lặp lại thường xuyên. 5) Stage 2 : Trong các chương trước, chúng ta đã đề cập tới tiến trình tải dữ liệu vào data warehouse và vấn đề mà người quản trị quan tâm nhất đối với tiến trình này là khoảng thời gian cần thiết để làm việc đó. Khi tiến hành tải dữ liệu vào data warehouse thì data warehouse sẽ bị tê liệt, toàn bộ các chương trình khai thác data warehouse sẽ gần như không chạy được hoặc chạy rất chậm, nguyên nhân là vì quá trình này sẽ cần tới rất nhiều tài nguyên. Vì vậy, vấn đề làm sao rút ngắn được khoảng thời gian tải dữ liệu vào data warehouse được đặt lên hàng đầu. Như phần trên đã nhắc tới, dữ liệu trong stage 1.1 có cấu trúc và mối quan hệ gần giống với dữ liệu được trích trong data source, điều đó có nghĩa là nó rất khác so với cấu trúc và quan hệ dữ liệu trong data warehouse.Vì vậy nếu sau khi làm sạch mà ta tiến hành tải ngay dữ liệu vào trong data warehouse thì sẽ mất một khoảng thời gian rất dài. Để giải quyết vấn đề này, ta cần tiến hành tạo thêm stage 2 để dữ liệu trong staging area gần giống với dữ liệu của data warehouse hơn. Để tạo stage 2 ta cần làm một số công việc như tạo thêm trường có trong data warehouse mà không có trong stage 1.1 hay tạo dư thừa dữ liệu để quá trình tải diễn ra nhanh hơn. Ta cần chú ý rằng các dữ liệu được sinh thêm hoàn toàn là các dữ liệu dẫn xuất và chúng chỉ có tác dụng làm cho quá trình tải dữ liệu vào data warehouse được nhanh hơn mà thôi, còn dữ liệu trong stage 1.1 đã đủ thông tin để có thể hình thành dữ liệu trong data warehouse rồi. 6) Tiến trình 3.1 : Tiến trình này là tiến trình lọc lấy các thông tin cần thiết và sinh thêm các bảng cũng như các trường mới để sataging area phù hợp với cấu trúc và quan hệ của data warehouse. Tiến trình này cũng dùng một số bảng tạm trong quá trình xử lý. 7) Tiến trình 4 : Tiến trình này là tiến trình sinh thêm dữ liệu dẫn xuất từ dữ liệu trong stage 1.1. Đây cũng là tiến trình tạo dựng các constraint cho dữ liệu đã được làm sạch để tăng tốc độ tải dữ liệu vào data warehouse. 8) Tiến trình 5 : là tiến trình tải dữ liệu vào data warehouse. Nhờ có các bước biến đổi trên mà thời gian của tiến trình này được rút ngắn một cách đáng kể. Tiến trình này cần phải được lên lịch trước và nên chạy vào những thời gian không có nhiều người dùng cuối khai thác data warehouse. Thời gian để chạy tiến trình này thường là từ buổi tối cho đến trước giê làm việc sáng hôm sau. Trong thời gian này số người khai thác data warehouse rất Ýt, vì vậy nếu người dùng cuối thấy việc khai thác data warehouse là thực sự cần thiết thì thời gian đáp ứng chương trình cũng có thể chấp nhận được. Ngoài ra trong thời gian này thì tài nguyên của hệ thống cũng có rất nhiều, điều này cũng góp phần làm giảm thời gian tải dữ liệu vào data warehouse. Như vậy là chúng ta đã xem xét xong pha 1 của quá trình đưa dữ liệu vào data warehouse. Mặc dù đã rất thuận lợi vì các hệ thống dữ liệu chạy trên cùng 1 hệ quản trị cơ sở dữ liệu và cùng là dữ liệu quan hệ, tuy nhiên chúng ta thấy rằng công việc cũng không hề đơn giản. Điều này lại một lần nữa khẳng định cho chóng ta thấy công việc xây dựng data warehouse là rất khó khăn. Tiếp theo chóng ta sẽ xét đến pha 2. Khi đã xây dựng được pha 1 thì pha 2 cũng không phải là vấn đề phức tạp nữa. Thực chất thì pha 2 cũng gần giống như pha 1, nhưng nó cần được tách ra vì pha 2 được thực hiện thường xuyên còn pha 1 chỉ thực hiện 1 lần. Trong mô hình chi tiết, pha 2 gồm các khối dữ liệu data source, stage 1.2, stage 2, data warehouse và các tiến trình 1.2, 2.2, 3.2, 4, 5. 1) Data source : dữ liệu được cập nhật vào data source thường xuyên. 2) Stage 1.2 : có cấu trúc mô hình dữ liệu giống hệt như stage 1.1, làm nhiệm vụ chứa những dữ liệu mới hơn dữ liệu data warehouse để xử lý. Trước khi tải dữ liệu từ data source vào stage 1.2 thì các dữ liệu trong stage 1.2 cần được xóa bỏ. 3) Tiến trình 1.2 : có nhiệm vụ lọc lấy dữ liệu từ data source tải vào stage 1.2. Dữ liệu này phải thỏa mãn 2 điều kiện : - Là dữ liệu hợp lệ. - Dữ liệu phải mới hơn dữ liệu đã đưa vào data warehouse. Để phát hiện dữ liệu trong data source thỏa mãn là dữ liệu mới hơn dữ liệu đã đưa vào data warehouse thì cần phải tiến hành so sánh dữ liệu trong data source với dữ liệu trong stage 1.1. Ngoài ra để quá trình tải dữ liệu diễn ra nhanh hơn thì các constraint cũng cần làm cho mất hiệu lực (disable). 4) Tiến trình 2.2 : giống hệt như tiến trình 2.1, nghĩa là nó cũng có nhiệm vụ làm sạch dữ liệu. 5) Stage 2 : trước khi tiến hành tải dữ liệu từ stage 1.2 vào stage 2 thì ta cần phải xóa bỏ mọi dữ liệu đang có trong stage 2. 6) Tiến trình 3.2 : Tiến trình này cũng có nhiệm vụ giống tiến trình 3.1, đó là lọc lấy các thông tin cần thiết và sinh thêm các bảng cũng như các trường mới để sataging area phù hợp với cấu trúc và quan hệ của data warehouse. Để việc tải dữ liệu từ stage 1.2 vào stage 2 diễn ra nhanh hơn thì trước khi tải ta cần làm mất hiệu lực (disable) các constraint đã có. 7) Tiến trình 4 : có nhiệm vụ như đã trình bày ở pha 1. 8) Tiến trình 5 : có nhiệm vụ như đã trình bày ở pha 1. 9) Tiến trình 6 : sau khi dữ liệu đã được tải vào data warehouse thì ta cần cập nhật các dữ liệu từ stage1.2 vào stage 1.1. Tiến trình này cần tìm ra những dữ liệu mới của stage 1.1 so với stage 1.2 để thêm vào. Như vậy là ta đã nắm được tổng quan sự liên hệ giữa các khối dữ liệu và các công việc cần phải làm để đưa dữ liệu từ data source vào data warehouse. Chương tiếp theo ta sẽ xem xét mô hình trên được triển khai cụ thể đối với data warehouse chủ đề "Hợp đồng khai thác" như thế nào. CHƯƠNG 6 TRIỂN KHAI MÔ HÌNH VÀ KẾT QUẢ 6.1. MÔ HÌNH DỮ LIỆU : Trước khi tìm hiểu mô hình dữ liệu, ta hãy tìm hiểu một số nghiệp vụ cơ bản liên quan đến data warehouse của chúng ta. Khi một khách hàng có nhu cầu mua bảo hiểm, người đó sẽ phải trả 1 khoản tiền và được gọi là người tham gia. Còn người là đối tượng bảo hiểm sẽ được gọi là người được bảo hiểm. Người tham gia có thể cũng là người được bảo hiểm, có nghĩa là người đó mua bảo hiểm cho chính mình. Người tham gia cần phải khai báo vào một phiếu yêu cầu mua bảo hiểm, sau đó thông tin trong phiếu này sẽ được chuyển vào lưu trữ trong cơ sở dữ liệu. Những phần thông tin công ty cần biết mà có liên quan tới chủ đề "Hợp đồng khai thác" gồm có thông tin về người tham gia và người được bảo hiểm như giới tính, tuổi, nơi ở, ..., tình trạng bệnh lý của hai người này, 1 sản phẩm chính và các điều khoản riêng bảo hiểm mà người tham gia muốn mua. Cần chú ý rằng mỗi phiếu yêu cầu người tham gia chỉ được mua một sản phẩm bảo hiểm chính. Nếu muốn mua nhiều sản phẩm bảo hiểm chính thì người tham gia phải làm nhiều phiếu yêu cầu. Mỗi điều khoản riêng hoặc sản phẩm chính sẽ nêu rõ số tiền bảo hiểm, số tiền phí và cách đóng phí của người tham gia. Các điều khoản riêng này được lưu trong bảng YCDKR, trong đó sản phẩm chính cũng coi là 1 trường hợp đặc biệt của điều khoản riêng và cũng được lưu trong bảng này. Người tham gia có thể đóng phí theo tháng, quý, nửa năm, năm hay đóng luôn trong 1 lần. Nếu công ty chấp nhận bán bảo hiểm cho người tham gia thì hai bên sẽ tiến hành kí kết hợp đồng. Dữ liệu trong hợp đồng thực chất là dữ liệu được đổ từ yêu cầu sang. Tiếp theo, ta hãy xem xét mô hình dữ liệu của các khối data source, stage 1.1, stage 1.2, stage 2 và data warehouse. 6.1.1. MÔ HÌNH DỮ LIỆU DATA SOURCE : Dữ liệu từ các công ty con được sao lưu vào data source. Mô hình dữ liệu của data source giống hệt mô hình dữ liệu của các công ty con và thêm một trường dbid để phân biệt dữ liệu của các công ty con. Ở đây em chỉ trình bày những bảng dữ liệu cần để trích dữ liệu vào data warehouse. Để cho việc sao lưu dữ liệu từ các công ty con vào data source được nhanh chóng thì giữa các bảng của data source không có mối quan hệ nào cả, tuy nhiên ở đây em vẫn chỉ ra mối quan hệ của các bảng để người đọc dễ hình dung. Chiều mòi tên trong hình cho biết quan hệ giữa 2 bảng là 1 - n trong đó bên n là bên bị mòi tên trỏ vào. Quan hệ giữa các bảng trong data source (không xét tới trường dbid) : Cấu tróc cụ thể của các bảng : các bảng này có các trường gần giống với các trường của các bảng trong stage 1.1 và stage 1.2, sự thực thì chúng có nhiều trường hơn vì các bảng trong stage1.1 và stage 1.2 chỉ lấy những trường có thông tin cần thiết trong data source. Để biết cấu trúc cụ thể của các bảng này, ta có thể xem trong phần đề cập tới staging area ở phần sau. 6.1.2. MÔ HÌNH DỮ LIỆU DATA WAREHOUSE : Mô hình dữ liệu : Ở sơ đồ trên ta có thể thấy bảng Fact (bảng sự kiện) là bảng DW_HOPDONG, bảng này lưu trữ 3 đại lượng quan trọng, đó là số lượng hợp đồng (SO_LUONG), tổng số phí khai thác được trong tháng (TONG_PHI) và tổng số tiền bảo hiểm (TONG_STBH). Ngoài ra còn có 8 bảng chiều, đó là các bảng : DW_NDBH : cho biết các thuộc tính của người được bảo hiểm mà ta quan tâm đến như tuổi, giới tính, nghề nghiệp, các thông số về tình trạng sức khỏe. DW_NTG : cho biết các thuộc tính của người tham gia bảo hiểm (người đóng phí) mà ta quan tâm đến như tuổi, giới tính, tình trạng hôn nhân, nghề nghiệp, nằm trong khoảng thu nhập nào, các thông số về tình trạng sức khỏe. DW_KVHC : chứa các khu vực hành chính, chiều này cho biết khu vực hành chính của người tham gia. DW_LOAI_HD : hiện tại ta chỉ quan tâm tới các hợp đồng khai thác được, tuy nhiên trong tương lai chủ đề này còn có thể mở rộng ra để theo dõi cả tình hình biến động của hợp đồng. DW_CTY : chứa các thuộc tính về công ty con, cho biết hợp đồng khai thác được thuộc về công ty nào trong các công ty con. DW_THOIGIAN : lưu các thuộc tính về thời gian chi tiết đến từng ngày, cho biết ngày đầu tiên hợp đồng được thu phí. DW_SANPHAM : lưu các thuộc tính về sản phẩm bảo hiểm, cho biết khách hàng đã mua sản phẩm nào. DW_TIEN : lưu các thuộc tính liên quan đến tiền trong hợp đồng bảo hiểm mà ta quan tâm, đó là số tiền bảo hiểm, phí đóng hàng tháng, định kì nép của người mua bảo hiểm (1 tháng, 3 tháng, 6 tháng, 12 tháng hay đóng luôn 1 lần) và thời hạn nép phí. Nhìn vào mô hình ở trên, ta thấy rằng có thể dễ dàng trả lời ngay một số câu hỏi như : - Tính tỉ lệ hợp đồng bảo hiểm khai thác được theo từng sản phẩm ở từng vùng cho từng độ tuổi và giới tính của người tham gia bảo hiểm. - So sánh số phí khai thác được theo từng vùng của quí I năm nay với quí I của năm ngoái. - Tính tổng số tiền bảo hiểm theo độ tuổi và nhóm nghề của người được bảo hiểm. Trên đây chỉ là một vài ví dụ nhưng chúng ta cũng nhận thức được rằng những câu trả lời cho các câu hỏi trên là rất hữu Ých cho công ty, nó giúp công ty thấy được tình trạng kinh doanh của mình và giúp cho công ty có thể vạch ra được những chiến lược tiếp thị hữu hiệu nhằm đẩy mạnh khả năng cạnh tranh trên thị trường. Lợi Ých của mô hình dữ liệu trên không chỉ bị bó hẹp ở đây, nó còn là nền tảng cho những ứng dụng khai phá dữ liệu (data mining) có thể đem lại cho công ty những thông tin mới có giá trị. Trong mô hình dữ liệu ở trên có 4 bảng chiều có dữ liệu ổn định và tương đối Ýt, đó là DW_THOIGIAN, DW_SANPHAM, DW_LOAI_HD, DW_KVHC, vì vậy 4 bảng này có thể dựng sẵn khung dữ liệu và thêm dữ liệu vào. Bảng chiều DW_CTY có dữ liệu không ổn định vì theo thời gian, các công ty con có thể mở thêm hoặc bỏ đi các văn phòng đại diện, do đó dữ liệu trong bảng này có thể thay đổi theo thời gian, vì vậy dữ liệu của bảng này sẽ được cập nhật khi thấy trong data source xuất hiện văn phòng đại diện mới. 3 bảng chiều còn lại là DW_NDBH, DW_NTG, DW_TIEN nếu ta dựng sẵn thì vì có rất nhiều trường hợp xảy ra nên dung lượng các bảng này sẽ rất lớn. Vì vậy ta chọn giải pháp là khi có trường hợp mới thì sẽ chèn thêm vào bảng. 6.1.3. MÔ HÌNH DỮ LIỆU STAGING AREA : Vì mô hình dữ liệu của stage 1.1 và stage 1.2 giống hệt nhau, vì vậy trong phần này chúng ta chỉ xét tới mô hình dữ liệu của stage 1.1 và stage 2. Mô hình dữ liệu của stage 1.1 : ta chỉ lọc lấy những trường lưu giữ các thông tin cần thiết trong data source để đưa vào data warehouse. Ta thấy rằng trong mô hình dữ liệu trên so với mô hình dữ liệu của data warehouse vẫn còn thiếu một số trường. Các trường này có thể sinh thêm ta tải dữ liệu từ stage 1.1 vào data warehouse, tuy nhiên làm theo cách này thì thời gian sẽ rất dài. Để có thể rút ngắn thời gian ta nên tính toán sẵn các trường này rồi sau đó mới tải dữ liệu vào data warehouse. Mô hình dữ liệu của stage 2 : Trong mô hình trên, bảng STA_YEUCAU thuộc stage 1.1 nhưng được vẽ thêm vào để làm rõ mối quan hệ của các bảng trong stage 2. Ta chỉ thêm 3 bảng là STA_BH_BENH, STA_TGIA_BENH và STA_DW_YCDKR. Thực tế cho thấy nếu tính sẵn các bảng này thì tốc độ tải dữ liệu vào data warehouse được tăng lên. Phần tiếp theo ta sẽ xem xét phần chương trình để thực hiện các tiến trình. 6.2. CHƯƠNG TRÌNH TRIỂN KHAI : Chương trình này em đã hoàn thành và đã chạy thử, kết quả của chương trình chạy thực tế sẽ được trình bày ở cuối chương này. Thực tế chương trình để triển khai rất dài, vì vậy ở đây em chỉ nêu những việc mà chương trình thực hiện. Chương trình được xây dựng thành các script độc lập thể hiện được tiến trình tải dữ liệu vào data warehouse. Ngoài ra như chúng ta đã biết, quá trình tải dữ liệu từ data source vào data warehouse được chia làm 2 pha : pha 1 chỉ thực hiện một lần duy nhất với nhiệm vụ tải dữ liệu sẵn có vào data warehouse, sau đó pha 2 sẽ đảm trách nhiệm vụ tải những dữ liệu mới vào data warehouse. Pha 1 và pha 2 có những phần việc giống nhau nên những phần việc này chỉ cần dùng chung 1 script. Ta lần lượt xem xét công việc được thực hiện ở các pha. 1) Pha 1 : a) Script dw_table_dungsan : Trong mô hình dữ liệu của data warehouse ở trên có 4 bảng DW_KVHC, DW_SANPHAM, DW_LOAI_HD, DW_THOIGIAN có dữ liệu ổn định, vì vậy các bảng này có thể được dựng sẵn và thêm dữ liệu vào trước. Script này có nhiệm vụ chính là như vậy, nó dựng sẵn 4 bảng này. b) Script dw_table_tohop : 4 bảng chiều còn lại của data warehouse và bảng Fact sẽ được thêm vào từng dòng khi có dữ liệu mới, vì vậy script này chỉ có nhiệm vụ tạo định nghĩa khung dữ liệu cho các bảng mà thôi. c) Script sta_table_source : script này có nhiệm vụ tạo định nghĩa khung dữ liệu cho các bảng của stage 1.1. d) Script sta_table_destination : script này có nhiệm vụ tạo định nghĩa khung dữ liệu cho các bảng của stage 2. e) Script sta_tem_table : script này có nhiệm vụ tạo định nghĩa khung dữ liệu cho các bảng tạm thời trong quá trình xử lý. Vì các quá trình xử lý cần các bảng tạm để chứa dữ liệu bị lỗi nhằm khôi phục hoặc đánh dấu lỗi dữ liệu, do đó ta tạo các bảng tạm có khả năng chứa dữ liệu trong 1 phiên làm việc. Khi nào người dùng cuối chấm dứt phiên làm việc và thoát chương trình thì dữ liệu trong bảng tạm sẽ tự động được xóa bỏ. g) Script extract_clean : script này có nhiệm vụ lọc dữ liệu hợp lệ từ data source vào stage 1.1 và làm sạch dữ liệu trong stage 1.1. Có thể tóm tắt quá trình lọc dữ liệu như sau : Chọn những yêu cầu bảo hiểm trong bảng YEUCAU có hợp đồng bảo hiểm tương ứng để tải vào bảng STA_YEUCAU, những yêu cầu không có hợp đồng sẽ bị coi là không hợp lệ vì yêu cầu mua bảo hiểm đó không được công ty chấp nhận. Tiến hành khôi phục lại giá trị giới tính của người tham gia và người được bảo hiểm. Đối với các yêu cầu có người tham gia hoặc người được bảo hiểm không biết giới tính thì cần loại bỏ khỏi staging area và ghi nhận lại lỗi này. Tiến hành khôi phục lại giá trị tuổi của người tham gia và người được bảo hiểm. Đối với các yêu cầu có người tham gia hoặc người được bảo hiểm không biết tuổi thì cần loại bỏ khỏi staging area và ghi nhận lại lỗi này. Thời gian mà ta quan tâm tới yêu cầu bảo hiểm chính là ngày đầu thu phí được biểu hiện bằng trường NGAY_DAU. Tiến hành sửa trường NGAY_DAU. Do chương trình nhập không kiểm soát nên có một số ngày NGAY_DAU bị tăng lên 100 năm, ví dụ như đáng lẽ NGAY_DAU nhận giá trị năm 1999 thì lại có giá trị là năm 2099. Đưa dữ liệu từ bảng KHACH của data source vào bảng STA_KHACH của stage 1.1, chỉ chọn những khách là người tham gia hoặc người bảo hiểm của các yêu cầu trong STA_YEUCAU. Loại bỏ các yêu cầu có tình trạng gia đình của người tham gia không xác định được và ghi nhận lại những lỗi này. Tiến hành phân loại thu nhập của khách hàng. Đưa dữ liệu từ bảng YCDKR của data source vào bảng STA_YCDKR của stage 1.1, chỉ chọn những yêu cầu điều khoản riêng của những yêu cầu trong bảng STA_YEUCAU. Tiến hành khôi phục các điều khoản riêng có số tiền bảo hiểm nhỏ hơn 1000000. Loại bỏ các yêu cầu điều khoản riêng vẫn còn có số tiền bảo hiểm nhỏ hơn 1000000 vì tất cả các sản phẩm và điều khoản riêng của công ty đều có số tiền bảo hiểm nhỏ nhất là 1000000. Loại bỏ các yêu cầu tương ứng với các điều khoản riêng này và ghi nhận lỗi. Khôi phục lại số tiền đóng phí của các điều khoản riêng có phí là NULL. Loại bỏ các yêu cầu có phí là NULL và ghi nhận lại lỗi. Loại bỏ các yêu cầu có điều khoản riêng không tính được phí chuẩn (ví dô : người tham gia đóng phí luôn 1 lần và mua sản không có thời hạn bảo hiểm như bảo hiểm trọn đời), ghi nhận lại lỗi. Tiến hành sửa các lỗi về giá trị các thông số bệnh của khách mà ta quan tâm như chiều cao, cân nặng. Quy chuẩn chiều cao về đơn vị cm và cân nặng về giá trị kg. Lọc dữ liệu từ bảng DAILY vào bảng STA_DAILY, chỉ lấy những đại lý có yêu cầu tương ứng trong bảng STA_YEUCAU. Do trong quá trình lọc và sửa lỗi ở trên, ta đã loại bỏ một số yêu cầu trong bảng STA_YEUCAU, vì vậy cần phải sửa lại các bảng STA_KHACH, STA_YCDKR, STA_TTSK. Chỉ giữ lại trong bảng STA_KHACH những người hoặc là người tham gia hoặc là người được bảo hiểm trong yêu cầu của bảng STA_YEUCAU. Bảng STA_TTSK chỉ giữ lại những bản ghi sức khoẻ của người khách nào có mặt trong bảng STA_KHACH. Bảng STA_YCDKR chỉ giữ lại những yêu cầu điều khoản riêng nào có yêu cầu tương ứng trong bảng STA_YEUCAU. h) Script chuyen_stage : có nhiệm vụ chuyển dữ liệu từ stage 1.1 vào stage 2 và sinh thêm dữ liệu ở stage 2. Chuyển dữ liệu từ STA_YCDKR sang bảng STA_DW_YCDKR. Việc cập nhật các trường còn thiếu dùa vào các thông tin đã có của 2 bảng STA_DW_YCDKR và STA_YEUCAU. Chuyển mét số trường từ bảng STA_YEUCAU sang bảng STA_BH_BENH. Việc cập nhật các trường còn thiếu dùa vào các thông tin đã có của các bảng STA_BH_BENH, STA_TTSK, STA_CTSK. Chuyển mét số trường từ bảng STA_YEUCAU sang bảng STA_TGIA_BENH. Việc cập nhật các trường còn thiếu dùa vào các thông tin đã có của các bảng STA_TGIA_BENH, STA_TTSK, STA_CTSK. i) Script sta_dw_constraint : tạo dùng constraint cho các bảng trong staging area (trong stage 1.1 và stage 2) trước khi tải dữ liệu vào data warehouse nhằm làm tăng tốc độ của tiến trình này. k) Script insert_dw_hopdong_pha1 : tiến hành tải dữ liệu từ staging area vào data warehouse. Tìm kiếm và thêm vào bảng DW_CTY các công ty con và văn phòng đại diện mới. Trong quá trình thêm dữ liệu vào bảng DW_HOPDONG, tìm kiếm và thêm dữ liệu mới vào các bảng DW_NTG, DW_NDBH, DW_TIEN. Tới đây, ta đã kết thúc pha 1 của quá trình đưa dữ liệu từ data source vào data warehouse. Tiếp theo ta sẽ xem xét tới pha 2 của quá trình. 2) Pha 2 : a) Script sta_table_source_ps : script này có nhiệm vụ tạo định nghĩa khung dữ liệu cho các bảng của stage 1.2. b) Script disable_constraint_sta_pha1 : trước khi thực hiện pha 2 ta tắt một số các constraint cần thiết đã tạo ra trong pha 1 vì nếu không tắt thì khi xóa hoặc thêm dữ liệu trong các bảng này sẽ bị lỗi. c) Script disable_truncate_sta_ps : có nhiệm vụ tắt các constraint và xóa sạch các bảng trong stage 1.2 và stage 2. d) Script extract_clean_ps : có nhiệm vụ lọc và lấy dữ liệu mới từ data source vào stage 1.2. Về cơ bản script này giống với script extract_clean của pha 1, tuy nhiên nó khác ở phần đầu tiên cần lọc lấy các yêu cầu mới và các tên bảng đã bị đổi khác. e) Script chuyen_stage_ps : có nhiệm vụ chuyển dữ liệu từ stage 1.2 vào stage 2 và sinh thêm dữ liệu ở stage 2. Về cơ bản nó giống với script chuyen_stage của pha 1, tuy nhiên tên các bảng đã bị đổi khác. g) Script sta_dw_constraint_ps : tạo dựng constraint cho các bảng trong staging area (trong stage 1.2 và stage 2) trước khi tải dữ liệu vào data warehouse nhằm làm tăng tốc độ của tiến trình này. k) Script insert_dw_hopdong_ps : tiến hành tải dữ liệu mới từ staging area vào data warehouse. Về cơ bản nó giống với script insert_dw_hopdong_pha1 của pha 1, tuy nhiên tên các bảng đã bị đổi khác. Sau đây ta sẽ tìm hiểu kết quả của chương trình này. 6.3. KẾT QUẢ : Chương trình này đã được chạy thử tại phòng tin học Tổng công ty Bảo Việt. Sau đây là một số kết quả của chương trình : Số bản ghi trong bảng YEUCAU : 145000 Số bản ghi trong bảng KHACH : 180000 Số bản ghi trong bảng TTSK : 265000 Số bản ghi trong bảng YCDKR : 168000 Thời gian đưa dữ liệu từ data source vào data warehouse là 2 giê 15 phót. Các lỗi được ghi nhận : Loại lỗi Lỗi sửa được Số lỗi Giới người được bảo hiểm Y 46 Giới người được bảo hiểm N 6 Giới người tham gia Y 58 Giới người tham gia N 1550 Phí N 2 Phí chuẩn N 124 Tình trạng gia đình của người tham gia N 78 Tuổi người tham gia Y 14 Tuổi người tham gia N 14 Sử dông data warehouse để làm báo cáo thì thời gian làm báo cáo rất ngắn và có thể làm được rất nhiều báo cáo khác nhau cho các phòng ban. Nếu trước đây có những báo cáo tổng hợp cần làm trong nhiều giê thì hiện nay thời gian để tạo những báo cáo này chỉ là vài phót. Như vậy ta thấy data warehouse chủ đề "Hợp đồng khai thác" đã có những ứng dụng rất tốt lúc ban đầu. KẾT LUẬN Việc xây dựng data warehouse là một dự án lâu dài của Tổng công ty Bảo Việt. Những công việc mà em đã làm thực sự là một phần rất nhỏ của dự án này, tuy nhiên nó cũng khá quan trọng vì nó đã đưa ra được những thông số thực tế góp phần vào việc ước lượng công việc và thời gian để hoàn thành data warehouse cho các chủ đề còn lại. Hướng phát triển tiếp theo của những công việc em đã làm là sử dụng các công cụ OLAP để chuyển mô hình data warehouse chủ đề "Hợp đồng khai thác" thành các object giúp cho người khai thác có thể nhìn được data warehouse dưới dạng nhiều chiều và sử dụng líp công cụ ở trên nữa để khai thác lấy thông tin. Đây cũng là một bài toán lớn và hiện nay đang được nhiều người tìm hiểu, nó không thuộc phạm vi nghiên cứu trong khuôn khổ của bản đồ án này. Em hi vọng trong thời gian tới sẽ có thể hoàn thành được công việc này để giúp người dùng cuối có nhiều công cụ khai thác data warehouse hơn. Đây là một hướng phát triển rất khả quan trong tương lai. TÀI LIỆU THAM KHẢO "Data warehouse from architecture to implementation", Barry Devlin. "Oracle9i data warehousing guide", Oracle documentation.

Các file đính kèm theo tài liệu này:

  • docT45.doc