Tải bản đầy đủ (.doc) (25 trang)

Tìm hiểu chi tiết về OLTP, Data WareHouse và OLAP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (468.46 KB, 25 trang )

OLTP, Data WareHouse và OLAP
Họ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ế
Page 1
OLTP, Data WareHouse và OLAP
Mục Lục:
Page 2
OLTP, Data WareHouse và OLAP
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 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ệ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.
Page 3
OLTP, Data WareHouse và OLAP
Page 4
OLTP, Data WareHouse và OLAP
Cá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
Page 5
OLTP, Data WareHouse và OLAP
Phầ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 cho
cá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ài
chí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ệc
phâ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 ấy
cà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ới
nhau để 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ột
cô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 trong
tri 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ên
nhiề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
Page 6
OLTP, Data WareHouse và OLAP
(theo chiều thời gian), hay doanh số bán hàng theo sản phẩm trong tháng 12(theo chiều
sản phẩm) để từ đó dự đoán xu thế tiêu dùng của khách hàng để đưa ra kế hoạch kinh
doanh 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ỗi
chiề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àng
bở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ích
bá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ều
Vị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ười
dù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ỗi
cấ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ác
bang 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)
Page 7
OLTP, Data WareHouse và OLAP
Cá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ảng
liê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ều
thờ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 theo
né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 đường
hợp logic cho việc đào sâu (drill_down). Ví dụ: chiều thời gian được miêu tả ở trên cho
phé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 đa
doanh thu thì chúng ta cần quan sát ở những dữ liệu về doanh thu sản phẩm được gộp
theo 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ách
rấ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ác
mứ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ững
giá 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ượng
bán.
Các phân hoạch (Partitions)
Page 8
OLTP, Data WareHouse và OLAP
Tấ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 cho
mộ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 đối
vớ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ối
OLAP, đặ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ứa

trong 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ạch
cho 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ể được
hợ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ưu
trữ 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ệu
nguồ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ảng
củ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ác
bả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ên
ngoài cơ sở dữ liệu data mart hoặc kho dữ liệu.
Page 9
OLTP, Data WareHouse và OLAP
Mô 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ình
quan 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 gian
hơ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ý truy
vấ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 (off-
line).
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ợp
trong 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ác
bảng của data mart hoặc kho dữ liệu.
Page 10
OLTP, Data WareHouse và OLAP
Mô 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ảm
khô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ệu
trong 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. OLAP
Manager đượ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ính
toá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ản
trị hệ thống duy trì nó hiệu quả hơn.
- ROLAP hỗ trợ Microsoft SQL Server, Oracle, Access và Open Database
Connectivity (ODBC).
Mô hình Hybird OLAP (HOLAP):
Mô hình OLAP lai (HOLAP) là sự kết hợp giữa MOLAP và ROLAP.
Page 11
OLTP, Data WareHouse và OLAP
Mô 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ổng
hợ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ưu
trữ 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àng
thá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:
MOLAP ROLAP HOLAP
Lưu trữ dữ liệu cơ sở Khối
Bảng quan hệ Bảng quan hệ
Lưu trữ thông n 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
Page 12
OLTP, Data WareHouse và OLAP
6. 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ây
dự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ởi
OLAP 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 (data

warehouse) và cho phép các client truy xuất đến dữ liệu OLAP. Có thể hiểu rằng OLAP
server 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ực
hiện (wizard).
- Linh động: Mô hình dữ liệu mạnh cho định nghĩa khối (cube) và lưu trữ.
Page 13
OLTP, Data WareHouse và OLAP
- Các khối có thể ghi (Write-enable): Cho các kịch bản phân tích dạng “what if”.
- Kiến trúc có thể co dãn (scalable architecture): Cung cấp một sự đa dạng các kịch
bản lưu trữ và giải pháp tự động đối với “hội chứng bùng nổ dữ liệu” mà gây khó
chịu cho các kỹ thuật OLAP.
- Tích hợp các công cụ quản trị, bảo mật, nguồn dữ liệu và client/server caching.
- Hỗ trợ rộng rãi các hàm API và kiến trúc mở để hỗ trợ các ứng dụng tuỳ ý.
Page 14
OLTP, Data WareHouse và OLAP
Phần 2: OLTP và Data warehouse. Phân biệt OLTP và OLAP. Khả
năng tích hợp OLTP và OLAP
Như trong phần trước chúng ta đã có dịp tìm hiểu về OLTP trong so sánh giữa OLTP với
OLAP. Trong phần này ta sẽ tìm hiểu rõ hơn về OLTP và một hướng tiếp cận mới với cơ
sở dữ liệu(CSDL) là Data warehouse DWH(Kho dữ liệu).
1. Hệ thống OLTP [4] và các đặc điểm
Hệ thống OLTP cho phép các giao dịch thay đổi dữ liệu trong bảng (ví dụ bằng
các lệnh insert, update, delete,join ) trong quá trình xử lý. Hệ thống cho phép nhiều ứng
dụng truy cập dữ liệu cùng một thời gian.
Các ứng dụng trên client bao gồm tất cả các loại ứng dụng như ngân hàng, bán vé trực
tuyến, bán vé hàng không, thanh toán cước phí Sử dụng hệ thống OLTP có các ưu điểm
sau:
- Xử lý các chuyển tác tương tác.

- Dễ bảo trì và khống chế dữ liệu thừa.
- Thiết lập dữ liệu quan hệ trọn vẹn.
- Tính hiệu quả cao.
- Giảm thời gian của khách hàng.
Các CSDL trong các hệ OLTP thường được thiết kế thoả mãn 3NF (Third Normal Form)
hoặc tốt hơn. Đặc điểm của hệ thống OLTP là nó lưu trữ các dữ liệu "thô", có nghĩa là
mức độ tổng quát, trừu tượng của dữ liệu này rất thấp. Nói cách khác OLPT rất có ích để
tìm trả lời những câu truy vấn dạng: Tổng sản lượng sản phẩm X do công ty bán được
trong 6 tháng đầu năm, mặt hàng nào bán chạy nhất tại địa phương Y trong tháng vừa
qua Trong khi đó các nhà quản lý ở mức cao của công ty rất ít khi quan tâm đến những
câu hỏi loại đó. Điều họ cần chú ý là những câu hỏi trừu tượng hơn như: Tiêu thụ A tại B
đang giảm, nếu thay đổi 3%-5% giá của sản phẩm A tại khu vực B, tình trạng tiêu thụ sẽ
thay đổi ra sao trong 6 tháng cuối năm và tại sao?
Các hệ thống OLTP hiện nay trả lời rất tốt câu hỏi 1 bằng các công cụ của hệ CSDL quan
hệ nhưng để tìm đáp án cho những câu hỏi dạng 2 là không đơn giản. Những yếu tố căn
bản cản trở việc sử dụng dữ liệu của các hệ thống OLPT trong việc phân tích dữ liệu là:
+ Các số liệu ở mức quá chi tiết
+ Các số liệu được phân bố ở những hệ thống khác nhau, có các thủ tục truy cập khác
nhau và ở những CSDL hoàn toàn khác nhau.
Page 15
OLTP, Data WareHouse và OLAP
+ Các số liệu không được cập nhập cùng một chu kỳ dẫn đến sự mất đồng bộ.
+ Việc tổ chức truy cập từ rất nhiều bảng dữ liệu khác nhau có ảnh hưởng rất xấu tới hiệu
suất của các hệ thống vì mục đích của các hệ thống này là nhằm phục vụ các giao dịch
trực tuyến.
Trong môi trường thừa thãi số liệu, nhà phân tích không thể tìm ra cho mình thông tin
cần thiết nhằm có được sự hiểu biết thấu đáo về những quá trình xảy ra xung quanh. Tình
trạng số liệu quá chi tiết và không có được sự liên kết với nhau của các số liệu phản ánh
các quá trình tương đối độc lập của một thực thể là lý do trực tiếp dẫn đến sự khủng
hoảng này.

Vì vậy, người ta đã đưa ra giải pháp tích hợp các hệ thống OLTP để tạo ra một hệ thống
chứa đầy đủ thông tin. Tuy nhiên giải pháp này có hai nhược điểm lớn:
a. Phải liên kết các hệ thống có xuất xứ khác nhau về phần cứng và phần mềm hệ thống.
Các chương trình cần có sự thống nhất về định nghĩa dữ liệu cũng như phương pháp biểu
diễn dữ liệu. Vấn đề này rất phức tạp thậm chí đối với các hệ thống có thiết kế phân tích
tốt và hoàn toàn không khả thi đối với những hệ thống được mô tả kém.
b.Việc truy vấn để tạo báo cáo thường xuyên phải khoá rất nhiều bảng, cản trở sự truy
xuất của nhân viên khai thác trong quá trình làm việc hàng ngày và làm ảnh hưởng trực
tiếp đến khách hà
2. Giới thiệu về Data warehouse[5]
a) Định nghĩa kho dữ liệu DWH
Định nghĩa do W.H. Inman đề xướng: DATA WAREHOUSE (DWH) được hiểu là một
tập hợp các dữ liệu tương đối ổn định (không hay thay đổi), cập nhật theo thời gian, được
tích hợp theo hướng chủ đề nhằm hỗ trợ quá trình tạo quyết định về mặt quản lý.
Từ thực tế và phân tích, người ta thấy rằng tiến hành phân tích trực tiếp trên dữ liệu của
các hệ xử lý giao dịch và không hiệu quả. Các dữ liệu từ một vài OLTP được biến đổi và
sau đó đưa vào một nguồn dữ liệu duy nhất là DWH. Quá trình này được gọi là đưa dữ
liệu vào DWH, gồm các công đoạn chính sau:
+ Làm sạch (Bỏ các dữ liệu không cần thiết hoặc quá chuyên dụng)
+ Liên kết các số liệu (Tính trước số liệu tích, tổng, trung bình )
+ Biến đổi dữ liệu: số liệu được biến đổi thành dạng thích hợp, tổ chức lại phù hợp với
DWH
Page 16
OLTP, Data WareHouse và OLAP
+ Tích hợp số liệu từ các nguồn khác nhau.
+ Đồng bộ hoá số liệu ở một thời điểm xác định.
Đặc tính :
Hướng chủ đề (subject-oriented):
• Được tổ chức xung quanh các chủ đề chính, như khách hàng (customer), sản phẩm
(product), bán hàng (sales).

• Tập trung vào việc mô hình hóa và phân tích dữ liệu cho các nhà đưa ra quyết định, mà
không tập trung vào các hoạt động hay các xử lý giao dịch hàng ngày.
• Cung cấp một khung nhìn đơn giản và súc tích xung quanh các sự kiện của các chủ đề.
Tích hợp (integrated):
• Được xây dựng bằng việc tích hợp dữ liệu từ các nguồn dữ liệu hỗn tạp, đa bộ: Cơ sở
dữ liệu quan hệ (relational databases), flat files, các bảng ghi giao dịch trực tuyến.
• Các kỹ thuật làm sạch và tích hợp dữ liệu được áp dụng:
– Đảm bảo sự đồng nhất trong các quy ước tên, cấu trúc mã hóa, các đơn vị đo, thuộc
tính,…giữa các nguồn khác nhau .
– Khi dữ liệu được chuyển đến kho dữ liệu, nó sẽ được chuyển đổi.
Biến thời gian (time-variant):
• Yêu cầu quan trong cho kho dữ liệu là phạm vi về thời gian dài hơn so với các hệ thống
tác nghiệp.
– Cơ sở dữ liệu tác nghiệp: dữ liệu có giá trị hiện thời.
– Dữ liệu của kho dữ liệu: cung cấp thông tin lịch sử (ví dụ như, 5-10 năm trước).
• Yếu tố thời gian được lưu trữ trong CSDL
Bền vững (non-volatile):
• Là một lưu trữ vật lý của dữ liệu được chuyển đổi từ môi trường tác nghiệp.
• Cập nhật tác nghiệp của dữ liệu không xuất hiện trong môi trường kho dữ liệu.
– Không yêu cầu các cơ chế xử lý giao dịch, phục hồi và điều khiển tương tranh.
– Chỉ yêu cầu hai thao tác trong truy cập dữ liệu: Nạp và truy cập dữ liệu.
b. Đặc tính của kho dữ liệu
Trước hết ta tìm hiểu khái niệm về vùng chủ đề (Subject Area – SA): một SA là một chủ
đề được tách ra từ tập hợp lớn các chủ đề mà người sử dụng cuối quan tâm trong một lĩnh
vực tác nghiệp cụ thể nào đó.
Những đặc điểm cơ bản của DWH:
• Tính tích hợp:
Khái niệm tích hợp có nghĩa là kho dữ liệu có khả năng thu thập dữ liệu từ nhiều nguồn
và trộn ghép với nhau tạo thành một thể thống nhất.
Page 17

OLTP, Data WareHouse và OLAP
Một kho dữ liệu là một khung nhìn tổng thể thống nhất các khung nhìn khác nhau. Ví dụ:
một hệ thống tác nghiệp như bán hàng hoặc tiếp thị có thể có chung một dạng thông tin
về khách hàng, nhưng các vấn đề về tài chính cần một khung nhìn khác cho thông tin về
khách hàng. Một kho sẽ có một khung nhìn toàn thể về một khách hàng. Khung nhìn đó
bao gồm các phần dữ liệu khác nhau từ các hệ thống tác nghiệp khác nhau.
• Gắn thời gian:
Mỗi bản ghi của kho dữ liệu chứa một yếu tố thời gian như một phần của khóa chính để
bảo đảm tính duy nhất của mỗi bản ghi và cung cấp một đặc trưng về thời gian cho dữ
liệu. Toàn bộ dữ liệu trong kho được tạo ra và gắn liền với một giá trị thời gian nhất định.
• Có tính lịch sử:
Các thông tin trong kho dữ liệu được tập trung theo thời gian và thể hiện một khung nhìn
của một chủ đề trong một giai đoạn.
• Chỉ đọc:
Dữ liệu trong kho là dữ liệu chỉ đọc và chỉ có thể tra cứu, không được sửa đổi bởi người
sử dụng cuối.
• Không biến động:
Tính không biến động của kho dữ liệu được hiểu theo nghĩa: dữ liệu được lưu trữ lâu dài
trong kho dữ liệu. Mặc dù có thêm dữ liệu mới nhập vào nhưng dữ liệu cũ trong kho vẫn
không bị xóa, điều đó cho phép cung cấp thông tin về một khoảng thời gian dài, cung cấp
đủ số liệu cần thiết cho các mô hình nghiệp vụ phân tích, dự báo.
• Dữ liệu tổng hợp và chi tiết:
Dữ liệu chi tiết là thông tin mức thấp nhất được lưu trữ trong kho dữ liệu. Dữ liệu tác
nghiệp chính là thông tin mức thấp nhất. Dữ liệu tổng hợp được tích hợp lại qua nhiều
giai đoạn khác nhau.
c. Kho dữ liệu và các cơ sở dữ liệu
DWH về bản chất cũng là một database bình thường, các hệ quản trị cơ sở dữ liệu quản
lý và lưu trữ nó như các database thông thường (tuy nhiên có hỗ trợ thêm về quản lý dữ
liệu lớn và truy vấn). Thực ra nét khác biệt của DWH so với database là ở quan niệm,
cách nhìn vấn đề:

- Trước tiên DWH là database rất lớn (very large database-VLDB).
- Database hướng về xử lý thời gian thực, DWH hướng về tính ổn định.
Page 18
OLTP, Data WareHouse và OLAP
- Phục vụ xử lý transaction, cập nhật. Datawarehouse thường chỉ đọc, phục vụ cho những
nhu cầu báo cáo. VD: Chúng ta sẽ yêu cầu hãy cho biết trong 5 năm, bộ phận phần mềm
đã làm được những dự án nào từ đó chúng ta sẽ có quyết định về hiệu năng của nhóm
này.
- DWH sẽ lấy thông tin có thể từ nhiều nguồn khác nhau: DB2, Oracle, SQLserver thậm
chí cả File thông thưởng rồi làm sạch chúng và đưa vào cấu trúc của nó-đó là VLDB(very
large database). DWH rất lớn nên muốn cho từng bộ phận chuyên biệt người sử dụng
cuối cùng có thể khai thác thông dễ dàng thì bản thân DWH phải được chuyên hoá, phân
ra thành những chủ đề, do đó những chủ đề chuyên môn hóa đó tạo thành một Database
chuyên biệt-đó là Data mart. VD: DWH của Microsoft là rất lớn, trong một núi thông tin
đó làm sao khai thác? Vì thế có rất nhiều Data mart về kinh doanh, tiếp thị, kỹ thuật,
testing,…. Có một điểm lưu ý ở đây là có một công cụ hay đúng hơn là một chuẩn công
cụ mà mọi hệ quản trị Database hỗ trợ cho việc truy vấn thông tin trong Datamart rồi đưa
ra những quyết định, nhận dịnh những thông tin trong Datamart - Đó là OLAP, bộ phân
tích trực tuyến.
- Một điểm quan trọng là Database thường được chuẩn hóa (Dạng chuẩn 1, 2, 3, BCK) để
khai thác. DWH phải phi chuẩn hoá rồi sau đó có thể chuẩn hoá theo start chema trong
Data mart, điều này đồng nghĩa vớI việc DWH sẽ trùng lắp thông tin. Thật ra điều này là
hiển nhiên vì việc chuẩn hoá nhằm tránh sự trùng lắp thông tin, do đó sẽ nhất quán trong
việc cập nhật, thêm, xoá, sửa, tuy nhiên DWH là Database rất lớn phục vụ cho báo cáo,
truy vấn chỉ đọc nên việc trùng lắp thông tin sẽ giúp thao tác tìm kiếm sẽ nhanh hơn. Đây
cũng là một quy luật: Càng trùng lắp thông tin thì tìm kiếm càng dễ dàng và ngược lại.
d. Lợi ích của kho dữ liệu
Tạo ra những quyết định có ảnh hưởng lớn: Một DWH cho phép trích rút tài nguyên nhân
lực và máy tính theo yêu cầu để cung cấp các câu truy vấn và các báo cáo dựa vào cơ sở
dữ liệu hoạt động và sản xuất. Điều này tạo ra sự tiết kiệm đáng kể. Có kho dữ liệu cũng

trích rút tài nguyên khan hiếm của hệ thống sản xuất khi thực thi một chương trình quá
lâu hoặc các báo cáo và các câu truy vấn phức hợp.
Công việc kinh doanh trở nên thông minh hơn: Tăng thêm chất lượng và tính linh hoạt
của việc phân tích kinh doanh do phát sinh từ cấu trúc dữ liệu đa tầng của kho dữ liệu, đó
là nơi cung cấp dữ liệu được sắp xếp từ mức độ chi tiết của công việc kinh doanh cho đến
mức độ cao hơn - mức độ tổng quát. Đảm bảo được dữ liệu chính xác và đáng tin cậy do
đảm bảo được là trong kho dữ liệu chỉ chứa duy nhất dữ liệu có chất lượng cao và ổn
định (trusted data).
Page 19
OLTP, Data WareHouse và OLAP
Dịch vụ khách hàng được nâng cao: Một doanh nghiệp có thể giữ gìn mối quan hệ với
khách hàng tốt hơn do có mối tương quan với dữ liệu của tất cả khách hàng qua một kho
dữ liệu riêng.
Tái sáng tạo những tiến trình kinh doanh: Sự cho phép phân tích không ngừng thông tin
kinh doanh thường cung cấp sự hiểu biết mọi mặt của phương thức kinh doanh do đó có
thể làm nảy sinh ra những ý kiến cho sự sáng tạo ra những tiến trình này lại. Chỉ khi xác
định chính xác các nhu cầu từ kho dữ liệu thì mới giúp ta đánh giá được những hạn chế
và mục tiêu kinh doanh một cách chính xác hơn.
Tái sáng tạo hệ thống thông tin: Một DWH là nền tảng cho các yêu cầu dữ liệu trong mọi
lĩnh vực kinh doanh, nó cung cấp một chi phí ảnh hưởng nghĩa là đưa ra thói quen cho
cho cả hai sự chuẩn hóa dữ liệu và sự chuẩn hóa hoạt động của hệ điều hành theo chuẩn
quốc tế.
e. Kho dữ liệu hiện nay
Ngày nay, hầu hết các kho dữ liệu đang được dùng cho quản trị doanh nghiệp thông minh
làm tăng mối quan hệ khách hàng (CRM - Customer Relationship Management) và khai
thác dữ liệu. Một số được sử dụng để báo cáo tổng hợp, một số được sử dụng để tích hợp
dữ liệu. Các cách sử dụng này đều tương quan với nhau; ví dụ, quản trị doanh nghiệp
thông minh (Business Intelligence - BI) và CRM sử dụng khai thác dữ liệu, kinh doanh
thông minh sử dụng báo cáo, còn BI và CRM còn sử dụng tích hợp dữ liệu. Trong các
phần sau sẽ mô tả cách sử dụng chính, bao gồm quản trị doanh nghiệp thông minh, CRM

và khai thác dữ liệu.
• Quản trị doanh nghiệp thông minh:
Dường như nhiều nhà cung cấp thích dùng quản trị doanh nghiệp thông minh hơn là
DWH. Nói cách khác, họ tập trung hơn vào việc xem DWH có thể làm gì cho doanh
nghiệp. Nhiều DWH hiện nay được dùng cho BI: giúp nhà kinh doanh hiểu công việc
kinh doanh của họ hơn; giúp họ đưa ra các quyết định hành động, chiến lược, và mục tiêu
kinh doanh tốt hơn; giúp họ cải tiến hoạt động kinh doanh.
Một số các nhà lãnh đạo doanh nghiệp ngày nay ra quyết định dựa trên dữ liệu. Và 1
công cụ quản trị doanh nghiệp thông minh chạy và vận hành trên của kho dữ liệu có thể
là một công cụ hỗ trợ tốt cho mục đích đó. Điều này có được là do sử dụng báo cáo và
OLAP. Báo cáo DWH được sử dụng để đưa ra số liệu kinh doanh đã tổng hợp trong
Page 20
OLTP, Data WareHouse và OLAP
DWH tới những người kinh doanh. OLAP cho phép doanh nghiệp phân tích sự ảnh
hưởng lẫn nhau của dữ liệu giao dịch kinh doanh được lưu trữ trong DWH đa chiều.
• Quản lý mối quan hệ khách hàng:
Một hệ thống quản lý mối quan hệ khách hàng (CRM - Customer Relationship
Management) gồm có những ứng dụng mà hỗ trợ quản lý mối quan hệ khách hàng. Trong
một hệ thống CRM, chức năng lý tưởng sau đây được xây dựng trong một DWH đa
chiều:
o Đồng nhất khách hàng.
o Quản lý cho phép.
o Phân đoạn chiến dịch.
o Dịch vụ/hỗ trợ khách hàng.
o Phân tích khách hàng.
o Cá nhân hóa,…
• Khai phá dữ liệu:
Data Mining là quá trình tìm kiếm các mẫu mới, những thông tin tiềm ẩn mang tính dự
đoán trong các khối dữ liệu lớn. Những công cụ data mining có thể phát hiện những xu
hướng trong tương lai, các tri thức mà data mining mang lại cho các doanh nghiệp có thể

ra các quyết định kịp thời và trả lời những câu hỏi trong lĩnh vực kinh doanh mà trước
đây tốn nhiều thời gian để xử lý. Với ưu điểm trên, Data mining đã chứng tỏ được tính
hữu dụng của nó trong môi trường kinh doanh đầy tính cạnh tranh ngày nay và được ứng
dụng rộng rãi trong các lĩnh vực thương mại, tài chính, điều trị y học, giáo dục, viễn
thông,…
• Quản lý dữ liệu chủ:
Trong hệ thống OLTP, có hai loại dữ liệu: dữ liệu giao dịch và dữ liệu chủ. Dữ liệu giao
dịch ghi các sự kiện kinh doanh. Dữ liệu chủ bao gồm các thực thể mô tả các sự kiện kinh
doanh. Dữ liệu chủ bao gồm những câu trả lời của những câu hỏi của ai, cái gì, và ở đâu
về một giao dịch kinh doanh.
Ví dụ: Trong cửa hàng âm nhạc trực tuyến, sự kiện kinh doanh là một khách hàng mua
một bài hát đây là dữ liệu giao dịch. Dữ liệu chủ là khách hàng, sản phẩm, nhãn hiệu.
MDM là quá trình chiết, làm sạch, lưu trữ, cập nhật, và phân phối dữ liệu chủ. Một hệ
thống MDM khôi phục dữ liệu chủ từ hệ thống OLTP. Hệ thống MDM cũng cố dữ liệu
chủ và xử lý dữ liệu thông qua việc định nghĩa trước các quy tắc về chất lượng dữ liệu.
Page 21
OLTP, Data WareHouse và OLAP
Dữ liệu chủ sau đó được nạp tới DWH chủ. Bất kỳ sự thay đổi nào trên dữ liệu chủ trong
hệ thống OLTP được gửi tới hệ thống MDM, và DWH chủ được cập nhật để phản ánh
những thay đổi đó. Hệ thống MDM sau đó chuyển dữ liệu chính tới những hệ thống khác.
• Tích hợp dữ liệu khách hàng:
Tích hợp dữ liệu khách hàng (CDI- Customer Data Integration) là MDM cho dữ liệu
khách hàng. CDI là một quá trình chiết, làm sạch, lưu trữ, duy trì, và phân phối dữ liệu
của khách hàng. CDI hệ thống chiết dữ liệu khách hàng từ hệ thống OLTP, làm sạch nó,
lưu trữ trong một kho dữ liệu khách hàng chính, duy trì dữ liệu khách hàng, lưu giữ và
phân phối các dữ liệu khách hàng cho các hệ thống khác.
Hệ thống CDI cho phép chúng ta có một phiên bản dữ liệu khách hàng sạch hơn, duy
nhất, đáng tin cậy mà các ứng dụng khác trong các doanh nghiệp có thể sử dụng. Điều
này cũng có thể gia tăng lợi ích kinh doanh chẳng hạn như tăng sự hài lòng của khách
hàng và phân tích kinh doanh tốt hơn, và nó làm giảm sự phức tạp của các quá trình sử

dụng dữ liệu khách hàng. Tất cả các loại khác nhau của quản lý dữ liệu chính, CDI là sử
dụng rộng rãi nhất bởi vì mỗi tổ chức có khách hàng. CDI cung cấp dữ liệu tích hợp sạch
cho quản lý mối quan hệ khách hàng.
3. Phân biệt OLAP và OLTP
Vì thực tế DWH chỉ là một hình thức nâng cao của OLTP nên ở đây ta chỉ so sánh
tổng quát nhất giữa OLAP và OLTP
OLTP(online transaction process) là công nghệ thiết kế các CSDL để tối ưu hóa tốc độ
giao dịch. Về mặt cấu trúc các databases này không có gì khác biệt các databases thông
thường khác, nó chỉ khác ở cách dữ liệu được tổ chức và lưu trữ trên đó. Với mục đích tối
ưu vi khi người dùng mua hàng trực tuyến thì họ mong chờ giao dịch phải xuất hiện tức
thì (ví dụ: Khi người dùng chọn một mặt hàng thì thông tin chi tiết mặt hàng đó phải hiện
ra ngay chứ không thể chờ vài phút mới hiện ra.)
Trong khi đó OLAP được thiết kế cho mục đích phân tích, tổng kết thông tin từ một hay
nhiều CSDL hợp nhất lại trong thời gian dài. OLAP quan tâm đến số lượng truy vấn đưa
vào, thời gian đưa kết quả ra, tính chính xác của kết quả chứ không quan tâm đến các
giao dịch và tính tức thời của nó.
Ví dụ về sự khác nhau trong mô hình thiết kế CSDL OLTP và OLAP[6]
Page 22
OLTP, Data WareHouse và OLAP

Page 23
OLTP, Data WareHouse và OLAP
4. Khả năng tích hợp OLAP và OLTP[7]
Do yêu cầu và mục đích thiết kế cho OLAP và OLTP là khác nhau nên việc thiết kế một
cơ sở dữ liệu chung tương thích với cả 2 hệ thống là điều không thể. CSDL
OLTP được thiết kế cho mục đích loại bỏ các truy vấn thêm,xóa sửa CSDL bất thường,
nó được đánh chỉ số và tối ưu tốc độ truy vấn và giao dịch. Do vậy trong hệ thống OLDP,
CSDL phải thật tối ưu để đáp ứng yêu cầu về tốc độ xử lí càng nhanh càng tốt của nó.
Trong khi đó, các câu truy vấn của OLAP nếu được thiết kế trên cùng CSDL hay DWH
có thể làm cạn kiệt tài nguyên hệ thống khi được chạy và có thể làm tê liệt thời gian đáp

ứng của hệ thống OLTP.
Tổng kết
Việc hiểu rõ về mục đích của các hệ thống OLAP hay OLTP sẽ giúp ta đưa ra quyết định
lựa chọn chính xác kĩ thuật nào sẽ được sử dụng cho hệ thống CSDL ta cần. Khi mà
thương mại điện tử ngày càng phát triển, thì việc thiết kế các hệ thống phục vụ cho phân
tích thông tin hay xử lí giao dịch trực tuyến sẽ ngày càng đòi hỏi yêu cầu cao hơn, do đó
OLAP hay OLTP sẽ ngày càng phát triển hơn để phục vụ cho yêu cầu đó.
Page 24
OLTP, Data WareHouse và OLAP
Tham khảo:
[1] Giới thiệu về kiến trúc khối của OLAP_Ths:Nguyễn Thế Quyền đăng trên tạp
chí BCVT ngày 10-10-2003
[2] />[3]Lê Hoàng Dũng-Nguyễn Trần Minh Khuê sưu tầm: Giới thiệu về OLAP
[4]. Data Warehouse hay DWH - Kho dữ liệu: Ths.Nguyễn Xuân Tùng-tạp chí
BCVT
[5]. TỔNG QUAN VỀ DATA WAREHOUSE: Trang tin KHCN-Trung tâm phát
triển KHCN ngày 26-6-2010
[6] />[7] OLTP and OLAP Data Integration: A Review of Feasible Implementation
Methods and Architectures for Real Time Data Analysis- Samuel S. Conn – section
4.
Page 25

×