Mục Lục: Giới thiệu : 3 Phần 1: Tìm hiểu về OLAP (online analytical processing). 3 1. OLAP là gì? 3 2. Tại sao lại cần OLAP? 2 3 3. Mô hình dữ liệu đa chiều của OLAP 3 4. Các khái niệm cơ bản trong OLAP1 3 5. Các mô hình lưu trữ cho OLAP3 3 6. Tool cho OLAP ? 3 Phần 2: OLTP và Data warehouse. Phân biệt OLTP và OLAP. Khả năng tích hợp OLTP và OLAP 3 1. Hệ thống OLTP 4 và các đặc điểm 3 2. Giới thiệu về Data warehouse5 3 a) Định nghĩa kho dữ liệu DWH 3 b. Đặc tính của kho dữ liệu 3 c. Kho dữ liệu và các cơ sở dữ liệu 3 d. Lợi ích của kho dữ liệu 3 e. Kho dữ liệu hiện nay 3 3. Phân biệt OLAP và OLTP 3 4. Khả năng tích hợp OLAP và OLTP7 3 Tổng kết 3 Giới thiệu : Như chúng ta đã biết, với tốc độ phát triển của ngành công nghệ thông tintruyền thông, và đặc biệt là sự phát triển của Internet, việc trao đổi, mua bán trên mạng đã không còn là một viễn cảnh tương lai mà đang hàng ngày hàng giờ xuất hiện xung quanh chúng ta. Nhu cầu trao đổi càng lơn, thương mại điện tử càng phát triển thì đòi hỏi cơ sở dữ liệu càng lớn và tốc độ xử lí các giao dịch trên cơ sở dữ liệu càng nhanh để đáp ứng các yêu cầu, các truy vấn ngày càng phức tạp hơn. Cùng với đó là việc lấy các thông tin, các báo cáo thị trường từ nguồn thông tin sẵn có trong CSDL cũng được đặt ra để làm sao tăng tính chính xác trong dự đoán nhu cầu thị trường, xu thế mua hàng để từ đó đưa ra các trợ giúp quyết định cho người kinh doanh. Từ thực tế đó bài toán đặt ra cho việc thiết kế cơ sở dữ liệu là làm sao để có thể lưu giữ một lượng lớn giữ liệu phục vụ cho việc chiết tách các thông tin, phân tích để đưa ra các báo cáo đánh giá cần thiết một cách nhanh nhất, vừa có thể đảm bảo cho việc phục vụ giao dịch trực tuyến với khách hàng một cách tức thời. Trong phạm vi của bài viết này, chưa có bất kì một thiết kế nào tối ưu cho cả 2 mục đích trên được đưa ra, nhưng để đảm bảo cho từng mục đich, đã có các kĩ thuật được đưa ra.Trong đây, chúng ta sẽ tìm hiểu về các kĩ thuật phổ biến đang được sử dụng trong các thiết kế CSDL hiện thời để giúp ta có định hướng tốt trước khi nghiên cứu xây dựng một hệ CSDL doanh nghiệp thực sự. Các kĩ thuật đó bao gồm OLTP, OLAP và DataWare –House. Với sự phát triển lớn mạnh không ngừng của thương mại điện tử như hiện nay, việc có một cái hiểu đúng đắn về các hệ CSDL sẽ giúp ta định hướng đúng khi xây dựng hệ thống. Không thể hy vọng qua tài liệu này ta có thể thiết kế hay xây dựng một hệ thống thực sự, nhưng ít nhất nó cũng cho ta thấy một cái nhìn chi tiết về mục đích, cách thức xây dựng chúng, những hệ thống mà đang ngày càng trở nên phổ biến trên thế giới. Cụ thể trong tài liệu này sẽ trình bày các khái niệm, đặc điểm, các ví dụ minh họa cho các kĩ thuật trên, cùng với đó là các đánh giá ưu nhược điểm của từng kĩ thuật, các so sánh, phân biệt để thấy được sự khác nhau cũng như môi trường áp dụng với các tài liệu tham khảo được lấy từ nhiều nguồn khác nhau. Bài viết sẽ được trình bày như một chủ đề xuyên suốt chứ không trình bày thành 2 phần tách rời riêng biệt. Cám ơn.
Trang 1Học viện công nghệ BCVT
Lớp D07cnpm1
Chuyên đề : Tìm hiểu chi tiết về OLTP, Data WareHouse và OLAP
Sinh viên : Khuất Quang Quân Giảng viên : Trần Đình Quế
Trang 2Mục Lục:
Giới thiệu : 3 Phần 1: Tìm hiểu về OLAP (online analytical processing). _5
1 OLAP là gì? _5
2 Tại sao lại cần OLAP? [2] 5
3 Mô hình dữ liệu đa chiều của OLAP _5
4 Các khái niệm cơ bản trong OLAP[1] 6
5 Các mô hình lưu trữ cho OLAP[3] 8
6 Tool cho OLAP ? 12
Phần 2: OLTP và Data warehouse Phân biệt OLTP và OLAP Khả năng tích hợp OLTP và OLAP _14
1 Hệ thống OLTP [4] và các đặc điểm _14
2 Giới thiệu về Data warehouse[5] 15 a) Định nghĩa kho dữ liệu DWH 15
b Đặc tính của kho dữ liệu 17
c Kho dữ liệu và các cơ sở dữ liệu 18
d Lợi ích của kho dữ liệu _19
e Kho dữ liệu hiện nay _19
3 Phân biệt OLAP và OLTP _22
4 Khả năng tích hợp OLAP và OLTP[7] _24
Tổng kết _24
Trang 3Giới thiệu :
Như chúng ta đã biết, với tốc độ phát triển của ngành công nghệ thông tin-truyền thông,
và đặc biệt là sự phát triển của Internet, việc trao đổi, mua bán trên mạng đã không còn làmột viễn cảnh tương lai mà đang hàng ngày hàng giờ xuất hiện xung quanh chúng ta.Nhu cầu trao đổi càng lơn, thương mại điện tử càng phát triển thì đòi hỏi cơ sở dữ liệucàng lớn và tốc độ xử lí các giao dịch trên cơ sở dữ liệu càng nhanh để đáp ứng các yêucầu, các truy vấn ngày càng phức tạp hơn Cùng với đó là việc lấy các thông tin, các báocáo thị trường từ nguồn thông tin sẵn có trong CSDL cũng được đặt ra để làm sao tăngtính chính xác trong dự đoán nhu cầu thị trường, xu thế mua hàng để từ đó đưa ra các trợgiúp quyết định cho người kinh doanh Từ thực tế đó bài toán đặt ra cho việc thiết kế cơ
sở dữ liệu là làm sao để có thể lưu giữ một lượng lớn giữ liệu phục vụ cho việc chiết táchcác thông tin, phân tích để đưa ra các báo cáo đánh giá cần thiết một cách nhanh nhất,vừa có thể đảm bảo cho việc phục vụ giao dịch trực tuyến với khách hàng một cách tứcthời Trong phạm vi của bài viết này, chưa có bất kì một thiết kế nào tối ưu cho cả 2 mụcđích trên được đưa ra, nhưng để đảm bảo cho từng mục đich, đã có các kĩ thuật được đưara.Trong đây, chúng ta sẽ tìm hiểu về các kĩ thuật phổ biến đang được sử dụng trong cácthiết kế CSDL hiện thời để giúp ta có định hướng tốt trước khi nghiên cứu xây dựng một
hệ CSDL doanh nghiệp thực sự Các kĩ thuật đó bao gồm OLTP, OLAP và DataWare –House Với sự phát triển lớn mạnh không ngừng của thương mại điện tử như hiện nay,việc có một cái hiểu đúng đắn về các hệ CSDL sẽ giúp ta định hướng đúng khi xây dựng
hệ thống Không thể hy vọng qua tài liệu này ta có thể thiết kế hay xây dựng một hệthống thực sự, nhưng ít nhất nó cũng cho ta thấy một cái nhìn chi tiết về mục đích, cáchthức xây dựng chúng, những hệ thống mà đang ngày càng trở nên phổ biến trên thế giới
Cụ thể trong tài liệu này sẽ trình bày các khái niệm, đặc điểm, các ví dụ minh họa cho các
kĩ thuật trên, cùng với đó là các đánh giá ưu nhược điểm của từng kĩ thuật, các so sánh,phân biệt để thấy được sự khác nhau cũng như môi trường áp dụng với các tài liệu thamkhảo được lấy từ nhiều nguồn khác nhau
Bài viết sẽ được trình bày như một chủ đề xuyên suốt chứ không trình bày thành 2 phầntách rời riêng biệt
Cám ơn
Trang 5Các nguồn tham khảo chính: 5 bài viết chính sẽ được tham khảo:
- Giới thiệu về kiến trúc khối của OLAP_Ths:Nguyễn Thế Quyền
- Giới thiệu về OLAP-Lê Hoàng Dũng
- Data Warehouse hay DWH - Kho dữ liệu: Ths.Nguyễn Xuân Tùng
- Tổng quan về Data WareHouse
- OLTP and OLAP Data Integration: A Review of Feasible Implementation Methods and Architectures for Real Time Data Analysis- Samuel S Conn
Trang 6Phần 1: Tìm hiểu về OLAP (online analytical processing).
1 OLAP là gì?
[1]OLAP là một kỹ thuật sử dụng các thể hiện dữ liệu đa chiều gọi là các khối(cube) nhằm cung cấp khả năng truy xuất nhanh đến dữ liệu của kho dữ liệu Tạo khối(cube) cho dữ liệu trong các bảng chiều (dimension table) và bảng sự kiện (fact table)trong kho dữ liệu và cung cấp khả năng thực hiện các truy vấn tinh vi và phân tích chocác ứng dụng client
OLAP cũng đang nhanh chóng trở thành nền tảng cơ bản cho các giải pháp thông minh
bao gồm có: quản lí hiệu suất kinh doanh, lập kế hoạch, ngân sách, dự báo, báo cáo tàichính, phân tích, các mô hình mô phỏng, khai phá tri thức, báo cáo kho dữ liệu
2 Tại sao lại cần OLAP? [2]
OLAP là nền tảng cho tất cả các quyết định thành công Để kinh doanh thành
công đòi hỏi phải lập kế hoạch, phân tích, lập báo cáo liên tục về các sản phẩm, các hoạtđộng có thể để tăng cường tối đa hiệu quả, giảm phí tổn và tăng thị phần Các nhà thống
kê sẽ cho bạn biết rằng khi bạn thu thập được càng nhiều mẫu dữ liệu thì kết quả của việcphân tích sẽ càng chính xác Theo tự nhiên thì khi công ty có thể truy cập càng nhiều dữliệu về các hoạt động đặc biệt thì đương nhiên các kế hoạch để cải thiện các hoạt động ấycàng hiệu quả hơn Tất cả các công việc kinh doanh có thể thu thập dữ liệu nhờ vào nhiều
hệ thống khác nhau, và thách thức còn lại là: Làm thế nào để lấy tất cả dữ liệu cùng vớinhau để tạo ra một nguồn thông tin chính xác, tin cậy, và nhanh cho việc kinh doanh Mộtcông ty mà có thể có được thuận lợi của nguồn thông tin tin cậy và chuyển nó vào trongtri thức chung một cách chính xác và nhanh chóng chắc chắn sẽ có được tư thế tốt hơn đểđưa ra các quyết định kinh doanh thành công và nâng cao tính cạnh tranh
3 Mô hình dữ liệu đa chiều của OLAP
OLAP được thiết kế cho mục đích phân tích, báo cáo phục vụ cho việc ra quyếtđịnh trong kinh doanh, trong khi một quyết định trong kinh doanh được đưa ra dựa trênnhiều phương diện (chiều) Ví dụ : tổng kết năm thì các mặt hàng nào doanh số bán tăng
Trang 7(theo chiều thời gian), hay doanh số bán hàng theo sản phẩm trong tháng 12(theo chiềusản phẩm) để từ đó dự đoán xu thế tiêu dùng của khách hàng để đưa ra kế hoạch kinhdoanh trong tháng hay năm sau.
Mô hình đa chiều của OLAP
4 Các khái niệm cơ bản trong OLAP[1]
Khối (Cube)
Khối là phần tử chính trong xử lý phân tích trực tuyến, là tập con (subset) dữ liệu từ kho
dữ liệu, được tổ chức và tổng hợp trong các cấu trúc đa chiều
Để xác định một khối, ta chọn một bảng Fact và các đơn vị đo lường đồng nhất (các cột
số theo sự quan tâm của người dùng khối) trong bảng Fact Sau đó chọn các chiều, mỗichiều gồm một hay nhiều cột từ bảng liên quan khác Các chiều cung cấp mô tả rõ ràngbởi các đơn vị đo lường được chia ra của người dùng khối Ví dụ: một khối cho phân tíchbán hàng bao gồm các đơn vị đo lường Sảnphẩm_Bánhàng_Giá (Item_Sale_Price) vàSảnphẩm_Chiphí (Item_Cost) từ bảng Bánhàng_chính (Sales_Fact), và các chiềuVịtrí_Kho (Store_Location), Dòng_sảnphẩm (Product_Line), và Năm_Tàichính(Fiscal_Year) Khối này cho phép người dùng phân chia Sản phẩm_Bánhàng_Giá (Item_Sale_Price) và Sảnphẩm_Chiphí (Item_Cost) thành các loại khác nhau bởi Vịtrí_Kho,Dòng_Sảnphẩm và Năm_Tàichính
Mỗi chiều có thể chứa một hệ thống các cấp độ để chỉ sự phân chia rõ ràng của ngườidùng Ví dụ: Chiều Vịtrí_Kho có thể gồm hệ thống các cấp độ: Châu lục, nước, vùng,tỉnh, thành phố (Continent, Country, Region, State_Province, City, Store_Number) Mỗicấp độ trong chiều lại chi tiết hơn mức cha của nó Ví dụ: lục địa chứa các quốc gia, cácbang hay các tỉnh chứa các thành phố Tương tự, hệ thống chiều thời gian có thể gồm cócác cấp độ năm, quý, tháng và ngày
Chiều (Dimension)
Trang 8Các chiều là cách mô tả chủng loại mà theo đó các dữ liệu số trong khối được phân chia
để phân tích Khi xác định một chiều, chọn một hoặc nhiều cột của một trong các bảngliên kết (bảng chiều) Nếu ta chọn các cột phức tạp thì tất cả cần có quan hệ với nhau,chẳng hạn các giá trị của chúng có thể được tổ chức theo hệ thống phân cấp đơn Để xácđịnh hệ thống phân cấp, sắp xếp các cột từ chung nhất tới cụ thể nhất Ví dụ: một chiềuthời gian (Time) được tạo ra từ các cột Năm, Qúy, Tháng, Ngày (Year, Quarter, Month
và Day)
Mỗi cột trong chiều góp phần vào một cấp độ cho chiều Các cấp độ được sắp đặt theonét riêng biệt và được tổ chức trong hệ thống cấp bậc mà nó thừa nhận các con đườnghợp logic cho việc đào sâu (drill_down) Ví dụ: chiều thời gian được miêu tả ở trên chophép người dùng khối đào sâu (drill_down) từ Năm tới Qúy, từ Qúy tới Tháng và từTháng tới Ngày Mỗi drill_down cung cấp nét đặc trưng hơn
Chiều có phân cấp
Phân cấp là cột sống của việc gộp dữ liệu hay nói một cách khác là dựa vào các phân cấp
mà việc gộp dữ liệu mới có thể thực hiện được Phần lớn các chiều đều có một cấu trúc
đa mức hay phân cấp Nếu chúng ta làm những quyết định về giá sản phẩm để tối đadoanh thu thì chúng ta cần quan sát ở những dữ liệu về doanh thu sản phẩm được gộptheo giá sản phẩm, tức là chúng ta đã thực hiện một cách gộp Khi cần làm những quyếtđịnh khác thì chúng ta cần thực hiện những phép gộp tương ứng khác Như vậy có thể cóquá nhiều tiến trình gộp Thế nên các tiến trình gộp này cần phải được thực hiện một cáchrất dễ dàng, linh hoạt để có thể hỗ trợ những phân tích không hoạch định trước Điều này
có thể được giải quyết trên cơ sở có sự trợ giúp của những phân cấp rộng và sâu
Roll_up và Drill_down dựa trên phân cấp chiều
Dựa trên phân cấp theo chiều, từ một mức dưới, chúng ta có thể cuộn lên (Roll_up) cácmức trên, thực hiện một phép gộp, để có được kết qủa tổng hợp hơn Và từ một mức trên,
có thể khoan sâu xuống (Drill_down) các mức dưới, để có các kết quả chi tiết hơn Xem
ví dụ sau:
Các đơn vị đo lường (Measures)
Các đơn vị đo của khối là các cột trong bảng Fact Các đơn vị đo lường xác định nhữnggiá trị số từ bảng Fact mà được tổng hợp phân tích như định giá, trị giá, hoặc số lượngbán
Các phân hoạch (Partitions)
Trang 9Tất cả các khối đều có tối thiểu một phân hoạch để chứa dữ liệu của nó; một phân hoạchđơn được tự động tạo ra khi khối được định nghĩa Khi ta tạo một phân hoạch mới chomột khối, phân hoạch mới này được thêm vào trong tập hợp các phân hoạch đã tồn tại đốivới khối Khối phản ánh dữ liệu đã được kết nối có trong tất cả các phân hoạch của nó.Một bảng phân hoạch của khối là vô hình đối với người dùng.
Các phân hoạch tiêu biểu cho một công cụ mạnh, mềm dẻo cho việc quản trị các khốiOLAP, đặc biệt các khối lớn Ví dụ: một khối chứa thông tin thương mại có thể chứatrong một hoặc nhiều phân hoạch cho dữ liệu của những năm trước và các phân hoạchcho mỗi quý của năm hiện tại Cuối năm các bảng phân hoạch của bốn quý có thể đượchợp nhất trong một phân hoạch đơn cho năm đó Các bảng phân hoạch có thể được lưutrữ với các sự lựa chọn kết hợp khác nhau theo phương thức lưu trữ, định vị dữ liệunguồn và thiết kế kết hợp Tính mềm dẻo này cho phép ta thiết kế các chiến lược lưu trữkhối thích hợp với các yêu cầu của ta
5 Các mô hình lưu trữ cho OLAP[3]
Dịch vụ OLAP hỗ trợ nhiều mô hình lưu trữ dữ liệu khác nhau, mỗi mô hình cócác ưu và khuyết điểm riêng, chúng được sử dụng tuỳ theo mục đích khai thác
Mô hình Multidimensional OLAP (MOLAP):
Mô hình OLAP đa chiều (MOLAP) lưu trữ dữ liệu cơ sở (là dữ liệu từ các bảngcủa kho dữ liệu hoặc data mart) và thông tin tổng hợp (là các độ đo được tính toán từ cácbảng) trong các cấu trúc đa chiều gọi là các khối (cube) Các cấu trúc này được lưu bênngoài cơ sở dữ liệu data mart hoặc kho dữ liệu
Trang 10Mô hình dữ liệu MOLAP
Lưu trữ các khối (cube) trong cấu trúc MOLAP là tốt nhất cho các truy vấn tổng
hợp dữ liệu thường xuyên mà cần thời gian hồi đáp nhanh Ví dụ, tổng sản phẩm bán
được của tất cả các vùng theo quý
Mô hình MOLAP cho phép thực hiện các truy vấn phân tích dữ liệu tốt nhất vì cácđặc điểm sau:
- Thông tin tổng hợp và dữ liệu cơ sở được lưu trữ trong cấu trúc đa chiều
- Các thao tác kết (join), là một trong những thao tác tốn chi phí nhất của mô hìnhquan hệ, thì không cần thiết
- MOLAP sử dụng các thuật toán nén dữ liệu cho phép lưu trữ với ít không gianhơn
- MOLAP sử dụng chỉ mục bitmap cho hiệu quả thực thi tốt hơn
- MOLAP lấy dữ liệu trong khối (cube) rất nhanh bằng cách sử dụng các xử lý truyvấn tốc độ cao và cache dữ liệu (data cache) Thông tin nhận được từ khối (cube)
và các bảng OLAP cơ sở chỉ được truy xuất thông tin chi tiết
- MOLAP không xử dụng cơ chế khoá vì dữ liệu là chỉ đọc
- MOLAP có thể được nạp trước vào bộ nhớ cache
- Dữ liệu có thể dễ dàng sao chép đến client cho phân tích không trực tuyến line)
(off-Mô hình Relational OLAP (ROLAP):
Mô hình OLAP quan hệ (ROLAP) lưu trữ dữ liệu cơ sở và thông tin tổng hợptrong các bảng quan hệ Các bảng này được lưu trữ trong cùng cơ sở dữ liệu như là cácbảng của data mart hoặc kho dữ liệu
Trang 11Mô hình dữ liệu ROLAP
Lưu trữ các khối trong cấu trúc ROLAP là tốt nhất cho các truy vấn dữ liệu không
thường xuyên Ví dụ như nếu 80% người dùng truy vấn chỉ dữ liệu trong vòng một năm
trở lại đây, các dữ liệu cũ hơn một năm sẽ được đưa vào một cấu trúc ROLAP để giảmkhông gian đĩa bị chiếm dụng, hơn nữa còn để loại trừ dữ liệu trùng lắp Lưu trữ dữ liệutrong cấu trúc ROLAP cung cấp các lợi ích sau:
- ROLAP cho phép Cube Builder tự động tạo chỉ mục
- ROLAP ánh xạ các tổng hợp có sẵn từ data mart hoặc kho dữ liệu OLAPManager được phép xử dụng các tổng hợp có sẵn để tổng hợp mà không cần tínhtoán lại cho mỗi truy vấn
- ROLAP tạo đòn bẩy cho hệ quản trị cơ sở dữ liệu quan hệ nhằm cho các nhà quảntrị hệ thống duy trì nó hiệu quả hơn
- ROLAP hỗ trợ Microsoft SQL Server, Oracle, Access và Open DatabaseConnectivity (ODBC)
Mô hình Hybird OLAP (HOLAP):
Mô hình OLAP lai (HOLAP) là sự kết hợp giữa MOLAP và ROLAP
Trang 12Mô hình dữ liệu HOLAP
Lưu trữ các khối (cube) trong cấu trúc HOLAP là tốt nhất cho các truy vấn tổnghợp dữ liệu thường xuyên dựa trên một lượng lớn dữ liệu cơ sở Ví dụ, chúng ta sẽ lưutrữ dữ liệu bán hàng theo hàng quý, hàng năm trong cấu trong MOLAP và dữ liệu hàngtháng, hàng tuần và hàng ngày trong cấu trúc ROLAP
Lợi ích của việc lưu trữ trong cấu trúc HOLAP là:
- Lấy dữ liệu trong khối (cube) nhanh hơn bằng cách sử dụng xử lý truy vấn tốc độcao của MOLAP
- Tiêu thụ ít không gian lưu trữ hơn MOLAP
- Tránh trùng lắp dữ liệu
So sách các mô hình:
- Bảng sau so sánh tổng hợp ba mô hình lưu trữ hỗ trợ OLAP:
Lưu trữ dữ liệu cơ sở Khối Bảng quan hệ Bảng quan hệLưu trữ thông tin tổng hợp Khối Bảng quan hệ Khối
Hiệu suất thực hiện truy vấn Nhanh nhất Chậm nhất Nhanh
Tiêu thụ không gian lưu trữ Nhiều Thấp Trung bình
Chi phí bảo trì Cao Thấp Trung bình
Trang 136 Tool cho OLAP ?
Giới thiệu dịch vụ OLAP (OLAP Services) của Microsoft SQL Server:
Dịch vụ OLAP là một server tầng giữa (midle-tier server) phục vụ cho phân tích
xử lý trực tuyến (OLAP) Hệ thống dịch vụ OLAP là một công cụ mạnh trong việc xâydựng các khối đa chiều của dữ liệu cho phân tích và cung cấp khả năng truy xuất nhanhđến thông tin khối cho các client
Kiến trúc dịch vụ OLAP được chia thành 2 phần: Phần server (được đại diện bởiOLAP server) và phần client (là dịch vụ PivotTable) Cả dịch vụ OLAP và dịch vụPivotTable đều cho phép thiết kế, tạo mới và quản lý các khối (cube) từ kho dữ liệu (datawarehouse) và cho phép các client truy xuất đến dữ liệu OLAP Có thể hiểu rằng OLAPserver quản lý dữ liệu còn dịch vụ PivotTable làm việc với server để cho client truy xuất
dữ liệu
Các đặc điểm của dịch vụ OLAP:
- Dễ sử dụng: Bằng cách cung cấp các giao diện người dùng và các trợ giúp thựchiện (wizard)
- Linh động: Mô hình dữ liệu mạnh cho định nghĩa khối (cube) và lưu trữ