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

Tiểu luận môn Hệ hỗ trợ quyết định ỨNG DỤNG OLAP TRONG DATA WAREHOUSE

49 739 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 49
Dung lượng 854,5 KB

Nội dung

Mục tiêu của kho dữ liệu Một kho dữ liệu phải đảm bảo được các mục tiêu sau: 2.1 Truy cập dễ dàng Thông tin lưu trữ trong data warrehouse phải trực quan và dễ hiểu đốivới người dùng.. Vớ

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

MỤC LỤC

MỤC LỤC 1

LỜI CẢM ƠN 3

MỞ ĐẦU 4

I NHU CẦU THÔNG TIN CỦA CÁC DOANH NGHIỆP 5

1 Nhu cầu thông tin nghiệp vụ 5

2 Nhu cầu thông tin đa chiều 6

II KHO DỮ LIỆU - DATA WAREHOUSE 7

1 Khái niệm Kho dữ liệu 7

2 Mục tiêu của kho dữ liệu 9

2.1 Truy cập dễ dàng 9

2.2 Thông tin nhất quán 11

2.4 Thích nghi với thay đổi 12

2.5 Bảo mật 12

2.6 Hỗ trợ ra quyết định 12

2.7 Thành công 13

3 Các thành phần của kho dữ liệu 13

3.1 Nguồn dữ liệu 14

3.3 Khu vực trình bày 16

3.4 Công cụ truy cập 16

4 Kiến trúc hệ thống kho dữ liệu 17

III OLAP 18

1 Định nghĩa 18

2 Các dạng OLAP server 19

2.1 Các ROLAP (Relational OLAP) server 19

Trang 3

2.2 Các MOLAP (Multidimentional OLAP) server 21

2.3 Các HOLAP (Hybrid OLAP) server 21

3 Kỹ thuật cài đặt OLAP 22

2.1 Một số khái niệm 24

2.3.2 Fact table 24

2.1.2 Fact grain 25

2.1.3 Dimesion table 28

2.2 Ví dụ một số thao tác OLAP: 31

2.2.1 Thao tác cuộn lên (roll-up) 31

2.2.2 Thao tác khoan xuống (drill-down) 32

2.2.3 Thao tác cắt lát (slice) 32

2.2.4 Thao tác phân tích theo ô (dice) 33

2.2.5 Thao tác xoay (pivot/ rorate) 33

IV CÁC ỨNG DỤNG CỦA OLAP 33

V ỨNG DỤNG OLAP VÀO KHO DỮ LIỆU 34

1 Chỉ số hóa dữ liệu OLAP 35

2 Xử lý hiệu quả các câu truy vấn OLAP 40

3 Cách dùng kho dữ liệu 42

VI LỢI ÍCH CỦA VIỆC SỬ DỤNG OLAP 45

VII KẾT LUẬN 46

PHỤ LỤC THUẬT NGỮ VÀ VIẾT TẮT 47

TÀI LIỆU THAM KHẢO 48

Trang 4

LỜI CẢM ƠN

Em xin chân thành cảm ơn thầy PGS.TS Đỗ Phúc đã cung cấp cho em nhữngkiến thức quan trọng, nền tảng, giúp em định hướng tìm tòi, học tập và nắm vữngnhững nội dung cơ bản của môn học Hệ hỗ trợ ra quyết định, đồng thời giúp em mở

ra những hướng nghiên cứu mới, sâu hơn về các kỹ thuật cũng như các ứng dụngđối với Hệ hỗ trợ ra quyết định

Trong bài này em xin trình bày những khái niệm, hiểu biết cơ bản về OLAP vàứng dụng trong data warehouse

Do thời gian có hạn nên bài viết chưa thực sự hoàn chỉnh, còn nhiều hạn chế vàthiếu sót, mong thầy thông cảm

Tp Hồ Chí Minh, ngày 21 tháng 06 năm 2014

Học viên thực hiện

Nguyễn Thị Mai

Trang 5

MỞ ĐẦU

Phân tích thông tin là một khả năng cần thiết cho các cơ sở dữ liệu (database)liên kết Việc phân tích nhanh chóng dữ liệu lưu trữ trong các cơ sở dữ liệu và kho(warehouse) là không thể thiếu trong kinh doanh và là yếu tố hàng đầu trong bốicảnh thị trường cạnh tranh hiện nay.Tiến trình phân tích trực tuyến (gọi là OLAP)cung cấp việc phân tích thông tin thời gian thực cho việc ra quyết định trong kinhdoanh Bên cạnh đó, OLAP cung cấp cái nhìn linh hoạt về dữ liệu từ nhiều điểmnhìn, một thuộc tính được đề cập tới là tính chất đa chiều của dữ liện hiện tại trong

cơ sở dữ liệu có sẵn OLAP có thể được định nghĩa rõ ràng thông qua năm thuậtngữ thông dụng – Phân tích nhanh thông tin chia sẻ đa chiều (Fast Analys of SharedMultidimensional – FASMI) OLAP tìm các ứng dụng đặc biệt cho nhu cầu phântích của doanh nghiệp sở hữu kho dữ liệu lớn Một kho dữ liệu lưu trữ dữ liệu đãđược phân tích hoặc không hữu dụng, OLAP xử lý dữ liệu để cung cấp nguồn thôngtin toàn diện Nó có thể được sử dụng để tạo ra business intelligence, ví dụ như trithức của xu thế thị trường Đó là một thành phần thiết yếu để thành công cho bất cứdoanh nghiệp nào Nó là công nghệ hứa hẹn sự phát triển, lãnh đạo và triển vọngcho một tổ chức doanh nghiệp

Trang 6

I NHU CẦU THÔNG TIN CỦA CÁC DOANH NGHIỆP

1 Nhu cầu thông tin nghiệp vụ

Công ty A là một đối thủ quốc tế trong lĩnh vực sản xuất xe hơi và đang lập kếhoạch mở rộng phạm vi thị trường toàn cầu với sự khởi đầu bằng hàng loạt chuỗi

mô tô mới Từ khi công ty A chiếm lĩnh thị trường ở nhiều lĩnh vực khác nhautrên toàn cầu, sự phát triển và lịch trình cho các bước tiếp theo là điều vô cùngquan trọng để dẫn đến thành công Điều cần thiết là thông tin chính xác về thời

kỳ khởi động, cho dù các công ty khác sẽ tham gia vào phong trào, việc mua môhình khách hàng mục tiêu hỗ trợ kế hoạch đề ra và nếu không có gì thay đổi, nênđưa vào chính sách khuyến mãi cục bộ để có thể thu được lợi nhuận cao nhất Tất

cả những câu hỏi này vẫn còn để ngỏ không với sự hiện diện của hệ hỗ trợ raquyết định tiên tiến nào Với sự hỗ trợ của Hệ hỗ trợ ra quyết định có khả năngtạo ra tri thức nghiệp vụ, công ty A có thể dễ dàng dẫn đầu trong cuộc cạnh tranhcủa họ

Việc kinh doanh ngày nay phải đối mặt với nhiều thử thách, đặc biệt là sự thuhẹp nhanh chóng của thế giới Hầu hết các doanh nghiệp lớn ngày nay bắc cầuqua nhiều quốc gia, và công nghệ như Internet đóng play truant đến nguyên nhâncủa toàn cầu hóa Trong môi trường kinh doanh cạnh tranh, những người giỏinhất và nắm hầu hết thông tin, dường như chắc chắn là các nhà lãnh đạo Nhưngchỉ đơn thuần là sở hữu thông tin với số lượng lớn không đủ để đạt được lợi thếhơn các đối thủ kinh doanh Điều này giống như có tất cả nhưng lại không có gì.Phân tích thông tin thành tri thức nghiệp vụ toàn diện là nhu cầu mỗi ngày, mỗigiờ của doanh nghiệp

Một số nhu cầu thông tin cho các doanh nghiệp hiện đại:

 Quyết định thông tin quan trọng

 Các kiến thức nghiệp vụ liên quan đến đối thủ cạnh tranh

Trang 7

2 Nhu cầu thông tin đa chiều

Thông tin, được lưu trữ trong cơ sở dữ liệu ngày nay, dưới dạng quan hệ Cácbảng lưu trữ dữ liệu, có thể được truy vấn theo yêu cầu thông tin được khôi phục.Điều này tương đối đúng miễn là phải đính kèm ngữ nghĩa vào dữ liệu Khi mộtngười cần yêu cầu nội dung và ý nghĩa của thông tin này và mối quan hệ tới cácphần khác của thông tin, người ta sử dụng các truy vấn đơn giản

Thông tin - phải được xem xét nhiều mặt, nhiều chiều Việc xem thông tin từnhững điểm nhìn khác nhau chỉ ra rằng một người có thể mô hình hóa nhữngkịch bản khác nhau dựa trên cùng một tập thông tin, chỉ bằng cách sắp xếp chúngthành nhiều định dạng phân tích khác nhau

Tính đa chiều cho phép ấn định quan hệ giữa các lĩnh vực thông tin dường nhưkhông liên quan Nó cho phép kết hợp thông tin tư nhiều nguồn khác nhau và kếthợp chúng để có thông tin hữu ích

Xem xét ví dụ về nhu cầu khách hàng so với dữ liệu về giá cả của một sảnphẩm cụ thể Dữ liệu này thể hiện tổng chi phí của tất cả các nhu cầu trong nhữngvùng khác nhau của doanh nghiệp Nó cũng tập hợp nhu cầu trong những thờiđiểm khác nhau Tuy nhiên, đối với sự hiểu biết nhu cầu thị trường thực sự, cần

áp dụng chiều thời gian cũng như các địa điểm cụ thể với dữ liệu có sẵn Thực tếnày đưa ra nhu cầu đa chiều của thông tin trực quan và có thể được truy cập

Trang 8

II KHO DỮ LIỆU - DATA WAREHOUSE

1 Khái niệm Kho dữ liệu

Kho dữ liệu là một cơ sở dữ liệu (database) được tập hợp từ nhiều nguồn củamột tổ chức và chủ yếu được dùng cho việc báo cáo (report) và phân tích(analys) Cách tốt nhất để hiểu khái niệm này là nên trực tiếp xây dựng mộtdata warehouse database

Một ứng dụng (application) thường có một cơ sở dữ liệu để chứa các thôngtin hoạt động của ứng dụng đó Một tổ chức (organization, company ) có thể

có nhiều ứng dụng, do vậy có nhiều database khác nhau Mỗi ứng dụng thườngtập trung vào một lĩnh vực hoạt động hay kinh doanh (domain) cụ thể nào đó

Ví dụ: một ngân hàng thường sẽ có một ứng dụng banking để quản lý các tàikhoản và giao dịch cá nhân như checking account (debit card), saving account,credit card Đồng thời, ngân hàng cũng có một ứng dụng khác chuyên quản lý

về các khoản vay, chẳng hạn vay tiền để mua nhà hoặc để đi học Như vậy

Hình.1 Dữ liệu hai chiều đơn

giản Hình.2 Dữ liệu đa chiều với trục thời gian

Trang 9

trong trường hợp này, ít nhất có 2 cơ sở dữ liệu hoạt động (operationaldatabase) cùng tồn tại trong một ngân hàng.

Operational database thứ nhất chuyên về các giao dịch cá nhân (bankingtransaction) hàng ngày Cuối tháng công ty trả lương cho bạn bằng cách nạp(deposit) một khoản tiền vào tài khoản của bạn Sau đó, bạn chỉ việc đi đếnATM để rút tiền Như vậy, có ít nhất 2 bản ghi giao dịch (transaction record) đãđược chèn vào database

Tương tự, khi bạn cần vay ngân hàng để mua một căn hộ mới, thông tin vềbạn sẽ được nạp vào một operational database chuyên về các khoản vay Mỗitháng, ngân hàng yêu cầu bạn đóng một khoản tiền để trả nợ bao gồm cả lãisuất Một transaction record sẽ được đưa vào database chuyên về cho vay hàngtháng

Như vậy, có thể thấy 2 cơ sở dữ liệu ở trên được dùng với mục đích duy trì

hoạt động hàng ngày của ngân hàng Do vậy, được gọi là Operational Database.

Khi ngân hàng của bạn quyết định đưa ra một chiến lược kinh doanh mới đểthúc đẩy các hoạt động trong mảng cho vay bởi đây là thị trường rất tiềm năng

Để làm được điều này, ngân hàng cần biết đối tượng nào có nhu cầu mua nhànhất, thường mua nhà loại nào, giá nhà nằm trong khoảng nào, khả năng chi trả

ra sao Một cách để biết được điều này là ngân hàng có thể so sánh số liệu của 2năm 2008 và 2009 nhằm vào đối tượng là tầng lớp trung lưu văn phòng tuổi 25-

30, thu nhập hàng tháng $500-$700, nhà mua là loại căn hộ 2 phòng ngủ, địađiểm là quanh khu đô thị mới Z Nếu số liệu của năm 2009 cao hơn 2008, cóthể dự đoán là nhu cầu của nhóm này tăng lên, do vậy ngân hàng có thể phátđộng các gói khuyến mãi dành riêng cho lớp này Chẳng hạn, khoản vay có thểlớn hơn, lãi suất ưu đãi hơn, ngân hàng sẽ chịu trách nhiệm trong việc làm sổđỏ

Trang 10

Để thực hiện điều này, rõ ràng ngân hàng của bạn sẽ phải thu gom dữ liệu từ

2 cơ sở dữ liệu trên hoặc mua dữ liệu từ một cơ quan chuyên về địa ốc nào đó

Do tên của bạn có thể sẽ xuất hiện trong các operational database khác nhau,người ta sẽ phải tìm cách để đồng nhất các thông tin này rồi dựa trên đó ápdụng các công thức tính toán thích hợp để dẫn đến cái báo cáo như ở trên

Do đây là một quá trình không hề đơn giản, nhiều khả năng ngân hàng sẽphải dùng một câu lệnh SQL cực kỳ phức tạp và dài dòng Gặp trường hợp dữliệu đến từ nhiều nguồn khác nhau (csv, xml ), thậm chí có thể sẽ phải xâydựng các bảng tạm (temp tables) ngay trong operational database để thực hiệncác bước trung gian Một cách khác có thể là lập trình riêng một module chobáo cáo này Tất cả những cách tiếp cận nói trên đều không mang tính hệ thống

và thậm chí ảnh hưởng đến operational database

Từ những lý do này, một cơ sở dữ liệu riêng cần phải được thành lập để cóthể tập hợp thông tin từ nhiều nguồn khác nhau, chuẩn hóa nó, tối ưu tốc độ để

phục vụ cho việc phân tích và lập báo cáo Nói cách khác, đó là một kho dữ liệu (data warehouse).

2 Mục tiêu của kho dữ liệu

Một kho dữ liệu phải đảm bảo được các mục tiêu sau:

2.1 Truy cập dễ dàng

Thông tin lưu trữ trong data warrehouse phải trực quan và dễ hiểu đốivới người dùng Nói cách khác, dữ liệu nên được trình bày thông qua cáctên gọi quen thuộc và gần gũi với nghiệp vụ của người dùng

Có thể phân chia người dùng (business user) ra 2 loại

Người dùng cấp thấp chủ yếu thao tác trên các thông tin chi tiết.

Chẳng hạn như nhập số liệu về một khách hàng, theo dõi các giao dịchcủa khách hàng cụ thể đó Báo cáo cho dạng công việc kiểu nàythường là thông tin chi tiết về một khách hàng, hoặc một danh sách các

Trang 11

khách hàng Những báo cáo kiểu này có thể lấy ra trực tiếp từ cơ sở dữliệu hoạt động (operational database).

Người dùng cấp cao lại chủ yếu xử lý dữ liệu ở mức độ tổng hợp, để

từ đó phân tích rồi đưa ra các quyết định mang tính định hướng chonghiệp vụ Họ không quan tâm đến một khách hàng cụ thể nào cũngnhư không cần phải để ý cả một danh sách 1000 khách hàng Thay vào

đó, cái làm họ bận tâm là số lượng khách hàng sử dụng dịch vụtăng/giảm 25% trong quý IV so với quý III cùng năm và tăng/giảm45% so với cùng quý IV năm ngoái Từ các thông số này, họ mới đưa

ra quyết định sẽ làm gì để cải thiện tình hình hoặc đặt ra mục tiêu tăngtrưởng 30% cho quý IV năm tới Đây là đối tượng chủ yếu của DataWarehouse Do vậy, thông tin cho loại đối tượng này càng dễ hiểu vàgần với thực tế càng tốt Một ví dụ dễ thấy là thay vì sử dụng các code,data warehouse nên thể hiện thông tin bằng các mô tả hoặc tên

Một điều nữa cần bàn đến là tốc độ truy cập data warehouse phảinhanh Do phải xử lý một số lượng lớn bản ghi cùng một lúc, hiệu suất làmột trong những yêu cầu phải có của một kho dữ liệu Đây là nơi mà các

kỹ thuật tuning database (cơ sở dữ liệu điều chỉnh) được dịp phát huy hếtcông suất: query tuning (điều chỉnh truy vấn), query hints (gợi ý truyvấn), indexes (chỉ mục), parallel processing (xử lý song song), partition(phân đoạn), materialized views

Đối với những người xây dựng kho dữ liệu, đây là mảnh đất tốt đểnâng cao khả năng làm việc với cơ sở dữ liệu lên mức chuyên gia Mặc

dù không chính thức bắt buộc, nhưng phần lớn những người làm kho dữliệu tốt đều có kiến thức rất sâu về cơ sở dữ liệu Nhiều người thậm chícòn ở mức quản trị cơ sở dữ liệu Với nhu cầu về dữ liệu càng lúc cànglớn như hiện nay, sở hữu nhiều kỹ năng tốt cùng một lúc có thể đem lạicho bạn nhiều lựa chọn và lợi thế hơn trong thị trường việc làm

Trang 12

2.2 Thông tin nhất quán

Dữ liệu trong một data warehouse nhìn chung thường đến từ nhiều nguồnkhác nhau Do vậy, cùng một thông tin nhưng các nguồn khác nhau có thểtrình bày theo các kiểu khác nhau, thậm chí còn sai lệch ít nhiều Một ví dụđơn giản là cùng khách hàng tên “Huy Nguyen”, database A lưu trữ thông tinnày trong 2 trường First_Name và Last_Name, trong khi database B có thểchỉ có một trường duy nhất Ho_va_Ten Một cái tên công ty như

“International Business Trading” trong database A được thể hiện đầy đủ nhưtrên, nhưng trong database B có khi lại được trình bày dưới dạng viết tắt như

“Intl Biz Trading”

Một đặc điểm nữa của dữ liệu database là không có database nào chứa dữliệu sạch 100% Cho dù có là dữ liệu của một công ty hàng đầu về IT nhưGoogle, Amazon, Microsoft vẫn có lỗi Database càng to càng dễ có dữ liệukhông sạch Một ví dụ dễ thấy là một trường Description có thể chứa các ký

tự điều khiển CR LF Điều này xảy ra khi người dùng nhấn Enter nhiều lần đểtạo ra các đoạn văn bản trong cùng một ô area box Nhiều lúc dữ liệu sai xuấthiện trong database là do lỗi lập trình

Trước khi được đưa vào data warehouse, dữ liệu cần phải được làm sạch vàđảm bảo về chất lượng Có làm sạch rồi thì việc đồng nhất dữ liệu mới trở nên

dễ dàng Một nguyên tắc đơn giản được đặt ra cho quá trình này là:

- Nếu dữ liệu có cùng tên, chúng bắt buộc phải cùng chỉ đến một thực thể

- Ngược lại, nếu dữ liệu chỉ đến các thực thể khác nhau, chúng phải đượcđặt tên khác nhau

Đây chính là những công việc chủ đạo của quá trình ETL (Extract Transform - Load)

Trang 13

-2.4 Thích nghi với thay đổi

Thay đổi là điều không thể tránh khỏi cho bất cứ ứng dụng nào, khôngriêng gì data warehouse Do vậy, data warehouse cần phải được thiết kế để

xử lý những thay đổi có thể xảy ra Có nghĩa là khi có thay đổi mới, dữ liệu

cũ trong data vẫn phải được bảo tồn tính đúng đắn

2.5 Bảo mật

Dữ liệu trong data warehouse đến từ nhiều nguồn khác nhau, do vậyhiển nhiên việc bảo đảm những thông tin không lộ ra ngoài là một yêu cầnthiết yếu Để lộ dữ liệu của một database đã là cực kỳ nghiêm trọng Để lộ

dữ liệu từ nhiều database là thảm họa

2.6 Hỗ trợ ra quyết định

Đây có thể nói là mục tiêu quan trọng nhất của doanh nghiệp khi xâydựng data warehouse Mặc dù có những trường hợp xây dựng một cơ sở dữliệu tập trung để thu thập data từ nhiều nguồn khác nhau, nhưng nhữngtrường hợp như vậy nên gọi là data integration (tích hợp dữ liệu) chứkhông phải data warehouse Một doanh nghiệp trước khi xây dựng datawarehouse, nên tự đặt câu hỏi liệu data warehouse đó có giúp ích gì trongviệc ra quyết định kinh doanh của doanh nghiệp không

Nói một cách nôm na, trong phạm vi của data warehouse, người ta muốndựa vào thông tin để từ đó thấy được cần phải làm những gì để kinh doanhđạt kết quả tốt nhất

Công cụ gần nhất và dễ dùng nhất là dựa trên các báo cáo (report) vàphân tích Theo một số kinh nghiệm cho thấy người dùng thường tạo ra các

trend report để thể hiện xu hướng hoạt động thay đổi như thế nào theo thời

gian Đây là một chỉ số quan trọng và thông dụng trong nhiều tổ chức CácKPI (Key Performance Indicators) có lẽ được xây dựng dựa trên thực tế

Trang 14

này Một kiểu báo cáo nữa hay gặp là dashboard, trong đó thực ra là chứarất nhiều báo cáo liên quan với nhau được thể hiện dưới dạng các biểu đồ(chart) Lợi thế của dashboard là nó rất trực quan, nhìn vào đó người ta cóthể ngay lập tức hình dung được tình hình hoạt động của công ty.

Với data warehouse, người dùng có thể dễ dàng xây dựng các report nhưtrên Đồng thời, từ data warehouse, người ta có thể xây dựng các cube màkhông tốn quá nhiều công sức Dựa trên cube, các công cụ phân tích sẽđược dùng để phân tích dữ liệu cực kỳ nhanh chóng và trực quan

2.7 Thành công

Hiển nhiên sản phẩm được tạo ra cũng phải hướng đến thành công.Trong trường hợp của data warehouse, nó phải đem lại giá trị thực tế chongười dùng như đã nói ở trên và phải được dùng liên tục thì mới được coi

là thành công Việc có hay không có Data Warehouse trong một tổ chứchoàn toàn không mang tính bắt buộc Không có data warehouse, người tavẫn có thể tạo ra report nhưng dĩ nhiên mất nhiều công sức hơn Để đượccông nhận, giá trị thương mại mà data warehoue đem lại phải lớn hơn côngsức và tiền của bỏ ra đầu tư vào nó

Trong nhiều tổ chức, business user ban đầu thường không hề có chút ýniệm về data warehouse hoặc thậm chí hoài nghi về nó Nhưng một khingười dùng đã quen với nó, người ta sẽ thích nó và muốn ngày càng cónhiều dữ liệu hơn trong data warehouse đơn giản bởi vì nó cung cấp rấtnhiều lựa chọn và hỗ trợ ra quyết định khá tốt Đó gọi là thành công

3 Các thành phần của kho dữ liệu

Một hệ thống kho dữ liệu về mặt lô gích được cho là có 4 thành phần

1 Nguồn dữ liệu (Operational Source Systems)

2 Khu vực xử lý (Staging Area)

3 Khu vực trình bày (Data Presentation Area)

Trang 15

4 Công cụ truy cập dữ liệu (Data Access Tools).

Các thành phần trên tương tác với nhau như sau:

- Data từ Nguồn dữ liệu được nạp vào Khu vực xử lý.

- Data đã qua xử lý được nạp từ Khu vực xử lý vào Khu vực trình bày.

- Công cụ truy cập dữ liệu do người dùng cuối thao tác sẽ làm việc trên dữ liệu trong Khu vực trình bày.

3.1 Nguồn dữ liệu

Nói một cách đơn giản, đây là nơi mà dữ liệu xuất phát và thường là cơ sở dữliệu của một ứng dụng nào đó Nói một cách khách quan, nguồn dữ liệu là mộtthành phần nằm ngoài data warehouse Như đã trình bày trong phần trước, dữliệu của một hệ thống data warehouse thường đến từ nhiều nguồn khác nhau Vídụ: trong cùng một tổ chức, có phòng ban nhập dữ liệu vào Access database,trong khi phòng ban khác lại dùng bảng biểu Excel Thậm chí có nơi dữ liệuđược xuất ra từ những mainframe server 50, 60 tuổi theo dạng csv file Do tínhchất đa dạng của nguồn dữ liệu, nên các phương pháp chuyển tải dữ liệu từnhiều nguồn về cùng một chỗ khá phong phú Tùy theo quy định riêng của từng

tổ chức, bạn có thể được phép truy cập trực tiếp dữ liệu nguồn Nhưng cũng cónơi dữ liệu chỉ được truy cập qua Email, FTP, File Sharing Thậm chí bạn cóthể phải tạo ra các modules riêng để truy cập Web Services để lấy dữ liệu về

Do đó, làm data warehouse không chỉ đơn thuần là database mà đòi hỏi các nhàphát triển phải có kiến thức rộng và tổng hợp cũng như những kỹ năng lập trìnhứng dụng khác

Xác định được dữ liệu đến từ những nguồn nào là một phần quan trọng trongviệc xây dựng kiến trúc cho hệ thống data warehouse (data warehousearchitecture)

Trang 16

3.2 Khu vực xử lý (Data Staging Area):

Có thể hiểu đây là nơi các hoạt động xử lý dữ liệu diễn ra Khu vực xử lý vừa

là một nơi lưu trữ dữ liệu vừa nơi diễn ra các quá trình chuyển đổi dữ liệu trướckhi chúng được đưa sang Khu vực trình bày

Lý do cho sự tồn tại của thành phần này trong một hệ thống data warehouse

là bởi vì quá trình ETL khá phức tạp Dữ liệu phải được làm sạch (cleanse),chuyển đổi (convert), chuẩn hóa (conform) Những công đoạn này nhìn chungđòi hỏi phải xây dựng các temp tables để chứa dữ liệu đang được xử lý và cáccontrol tables để chứa metadata về quá trình ETL

Staging Area cũng là nơi mà dữ liệu nguồn được lưu trữ như một dạngbackup storage Do quá trình ETL hoàn toàn có khả năng gặp trục trặc giữachừng trong khi đang nạp dữ liệu từ Khu vực xử lý sang Khu vực trình bày, nên

dữ liệu nguồn cần phải được lưu trữ để lúc nào cũng có thể được sử dụng lại

Có người sẽ hỏi tạo sao không yêu cầu các nguồn dữ liệu cung cấp lại dữ liệumột lần nữa ? Việc này trên thực tế nhiều lúc hoàn toàn không khả thi

Một ví dụ đơn giản như sau: Quá trình ETL chạy vào buổi tối sử dụng dữliệu của ngày hôm đó Vì một lý do nào đó, nó buộc phải dừng lại giữa chừng.Ngày hôm sau, ETL phải chạy lại trong chế độ phục hồi Ngoài việc phải dọndẹp sạch sẽ những gì đã được lưu trữ dở dang trong presentation area, ETL đòihỏi phải có dữ liệu nguồn để bắt đầu lại từ đầu Lúc này, do đã sang ngày mớinên dữ liệu trong các cơ sở dữ liệu nguồn hoàn toàn có khả năng đã bị thay đổi

và mất đi giá trị nguyên thủy của ngày hôm qua Nếu vẫn tiếp tục, ETL sẽ sửdụng các dữ liệu không đúng, và do vậy phá vỡ tính đúng đắn của cả hệ thống.Nếu như dữ liệu nguồn đã được lưu trữ trong staging area từ tối hôm trước, mọiviệc trở nên đơn giản hơn nhiều mà vẫn đảm bảo được tính vẹn toàn của datawarehouse

Các công cụ ETL hiện đại trên thị trường hiện nay có khả năng xử lý tươngđối tốt một lượng lớn những yêu cầu về làm sạch, chuyển đổi, tra cứu, tích hợp(cleansing, converting, lookup, aggregation ) Nhiều lúc nó khiến người dùng

Trang 17

cảm thấy có thể nạp dữ liệu trực tiếp từ nguồn vào data warehouse database, bỏqua staging area Nhưng như đã trình bày ở trên, cách làm này tuy có thể tiếtkiệm được thời gian và không gian nhưng không hề ổn định Những người làm

data warehouse lâu năm có một nguyên tắc vàng: "Luôn phải có staging

Do nhu cầu của BI ngày càng cao, trên thị trường hiện nay xuất hiện khánhiều cơ sở dữ liệu thương mại và mã nguồn mở dành riêng cho kho dữ liệu.Đặc điểm của các cơ sở dữ liệu này là phải xử lý được một khối lượng lớn dữliệu và tốc độ nhanh

3.4 Công cụ truy cập

Có thể hiểu đây là các công cụ để làm báo cáo Ở mức thấp nhất, đó có thể làmột công cụ soạn SQL đơn giản Ở mức cao hơn, đó có thể là các bộ công cụchuyên về báo cáo như Business Objects, Cognos, Oracle BI Các công cụphân tích cũng ngày càng được sử dụng rộng rãi Những công cụ thương mại kểtrên đều bao gồm các công cụ để tạo báo cáo một trực quan (bằng cách sinh racác SQL) và các công cụ phân tích truy cập vào các OLAP databases (cube)

Trang 18

4 Kiến trúc hệ thống kho dữ liệu

Kiến trúc của một hệ thống kho dữ liệu (data warehouse system) có thể đượctóm lược bằng các thành phần sau:

Cơ sở dữ liệu hoạt động lưu trữ thông tin yêu cầu cho giao dịch hiện tạitrong những phòng ban khác nhau của một tổ chức

Các phòng ban khác nhau (bị cô lập) của một tổ chức có những chức năng

và công việc đặc biệt để thể hiện yêu cầu đầu vào ở dạng dữ liệu và sau đó

xử lý dữ liệu cho thông tin yêu cầu

Hình.3 Kiến trúc kho dữ liệu

Trang 19

Cơ sở dữ liệu tổng thể, lưu trữ thông tin được phân tích, trích xuất từ các

cơ sở dữ liệu hoạt động Thông tin phân tích là một phần của cơ sở dữ liệuhoạt động với tầm quan trọng chiến lược và có tính quản lý tại một giaiđoạn nào đó

Một chợ dữ liệu là một tập con của kho dữ liệu toàn doanh nghiệp, hỗ trợmột yếu tố doanh nghiệp (phòng ban, khu vực, chức năng,…) Ví dụ, vớimột kho dữ liệu của nhà kinh doanh giống như sự phân cấp cơ sở dữ liệukhách hàng, một tập hợp các doanh thu, giá cả của sản phẩm, Mỗi nhómnhỏ có vai trò như một kho dữ liệu mini

Họ là người sử dụng cuối cùng của kho dữ liệu có thể làm việc thông quamart, và cấp phát các thông tin cần thiết như ra quyết định, lập kế hoạchchiến lược, phân tích nghiệp vụ Đó là những nhóm yêu cầu thông tinđược khai thác (mine) từ các kho Thời gian cần thiết để thu hồi là mộtvấn đề lớn với hầu hết các kho dữ liệu

Một kho dữ liệu lưu trữ thông tin chiến lược chỉ đơn thuần là trả lời các câuhỏi đặc biệt về các sự kiện quá khứ Nó có thể chỉ cấp phát thông tin liên quantrực tiếp đến một số yếu tố hoặc lĩnh vực nào đó

III OLAP

1 Định nghĩa

Trái với hệ thống lưu trữ dữ liệu thông thường, nơi dữ liệu tồn tại dướihình thức các quan hệ, OLAP (On Line Analytical Processing) cung cấp cáinhìn tốt hơn về dữ liệu tiềm năng chưa được khai thác Nó hỗ trợ khung nhìn

đa chiều về dữ liệu, tạo ra sự tăng đa tạp về nội dung toong tin của cùng một

Trang 20

lượng dữ liệu OLAp tạo ra truy cập hiệu quả, nhanh chóng, nhất quán đếncác khung nhìn đa dạng khác nhau của thông tin.

OLAP có thể được định nghĩa với 5 từ khóa: Fast Analys of Shared Multimensional Information.

Fast: như là hầu hết các truy vấn phức tạp yêu cầu không tới 5 giây để xử

lý Analys ám chỉ quá trình phân tích thông tin của tất cả các loại liên quan

để xử lý các truy vấn phức tạp và thiết lập tiêu chuẩn rõ ràng cho kết quả truyvấn Thông tin được sử dụng để phân tích nhìn chung được lấy từ các nguồnđược chia sẻ (Shared) như là kho dữ liệu Thông tin có thể liên quan đến mộthoặc nhiều chiều Ví dụ, một tập hợp đặc biệt các dữ liệu nghiệp vụ có thểliên quan, khác nhau đến số liệu bán hàng, xu hướng thị trường, sức mua củangười tiêu dùng, điều kiện cung cấp và tính thanh khoản của doanh nghiệp.Được trình bày trong chi tiết đa chiều (Multidimensional)), như thông tin cóthể hữu dụng và quan trọng trong việc ra quyết định quản lý

2 Các dạng OLAP server

Nói một cách hợp lý, các OLAP server trình bày cho người dùng doanhnghiệp các dữ liệu có cấu trúc đa chiều từ các kho dữ liệu hay kho dữ liệutheo chủ đề, mà không cần quan tâm dữ liệu được chứa như thế nào và nằm

ở đâu Tuy nhiên, kiến trúc vậy lý và sự thi hành của các OLAP server cầnphải chú ý đến việc cấp phát nơi lưu trữ dữ liệu Các quá trình thực thi củakho dữ liệu server cho tiến trình OLAP gồm:

2.1 Các ROLAP (Relational OLAP) server

Là các phương tiện server trung gian giữa server quản trị và công cụngười dùng cuối client

Dùng các hệ thống CSDL quan hệ hay quan hệ mở rộng để cấu hình

và quản lý dữ liệu đa chiều trong kho, và kho trung gian OLAP để bổsung những phần thiếu

Trang 21

ROLAP server gồm: sự đánh giá khách quan trong mỗi hệ thống quản

lý dữ liệu (DBMS) cuối, sự thi hành của logic tích hợp, và các công

cụ và dịch vụ được thêm vào Kỹ thuật ROLAP có khuynh hướng sửdụng nhiều hơn kỹ thuật MOLAP.Ví dụ: Server DDS củaMicrostrategy áp dụng hướng ROLAP

Ưu: có khả năng co dãn (không có cell trống khi rải mỏng cube)Khuyết: không truy cập trực tiếp vào cell, nên thực thi chậm

2.2 Các MOLAP (Multidimentional OLAP) server

Trang 22

Dùng bộ máy lưu trữ ma trận đa chiều (kỹ thuật sparse matrix) đểchứa và quản lý dữ liệu đa chiều Chúng ánh xạ hướng nhìn đa chiềutrực tiếp từ cấu trúc ma trận của khối dữ liệu.

Các MOLAP server

Ưu: do truy cập trực tiếp vào cell nên thực thi nhanh, cho phép chỉmục nhanh đến các dữ liệu tổng hợp đã được tính trước

Khuyết: khó co dãn và dư thừa (có nhiều cell trống), khả năng lưu trữ

sẽ thấp nếu tập dữ liệu thưa thớt

Nhiều server MOLAP chấp nhận sự thể hiện lưu trữ hai mức độ dàyđặc và thưa thớt của các tập dữ liệu: những khối con dày đặc đượcnhận dạng và chứa trong cấu trúc mảng, trong khi những khối conthưa thớt dùng kỹ thuật nén để tận dụng khả năng chứa có hiệu quả

2.3 Các HOLAP (Hybrid OLAP) server

Hướng lai ghép OLAP là sự kết hợp hai kỹ thuật OLAP vàMOLAP

Dữ liệu chính được lưu dưới dạng ma trận đa chiều (MOLAP), và

dữ liệu chi tiết (dữ liệu để drill-down) thì lưu dưới dạng các bảngquan hệ (OLAP)

Trang 23

Hầu hết các hệ thống kho dữ liệu chấp nhận kiến trúc server-client Các kho

dữ liệu quan hệ cư trú tại kho dữ liệu/ kho dữ liệu theo chủ đề của server site.Các kho dữ liệu đa chiều có thể cư trú ở CSDL của server site hoặc clientsite

3 Kỹ thuật cài đặt OLAP

Tiến trình phân tích trực tuyến (OLAP) được cài đặt theo nhiều cách khácnhau Tuy nhiên, cách phổ biến nhất là giai đoạn lấy thông tin từ những cơ

sở dữ liệu khác nhau của công ty, như là kho dữ liệu là staged được lưu trữ

tạm thời thành cơ sở dữ liệu OLAP đa chiều có thể thu hồi bởi các hệ thốngfront-end

Trang 24

Cơ sở dữ liệu đa chiều được tối ưu hóa để truy hồi nhanh chóng Nhiều kỹthuật để truy xuất và phân tích thông tin một cách nhanh chóng được sử dụngdựa trên thủ tục quản lý cơ sở dữ liệu.

OLAP về cơ bản liên quan đến tính đa chiều của dữ liệu Mô hình đa chiềumang đến nhiều thuận lợi của mối quan hệ vốn có trong dữ liệu để lưu dữ

liệu trong ma trận đa chiều được gọi là Data Cubes hoặc Hypercubes (với dữ

liệu có nhiều hơn ba chiều) Một bảng tính tiêu chuẩn, đánh dấu một cơ sở

dữ liệu thông thường là ma trận hai chiều Một ví dụ về bảng tính các khuvực bán sản phẩm trong một thời điểm đặc biệt Các sản phẩm được thể hiện

ở các hàng với doanh thu bán hàng cho mỗi vùng bao gồm các cột Thêmchiều thời gian vào phần tài chính của đơn vị sẽ tạo ra ma trận ba chiều cóthể được thể hiện sử dụng cube

Hình.4 Cài đặt OLAP

Ngày đăng: 20/05/2015, 22:56

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w