Chapter 1: Tổng quan về kho dữ liệu
1. Data Warehousing là gì?
-
Data Warehousing - Lưu kho dữ liệu không phải
là một sản phẩm, nhóm sản phẩm. Nó giúp trả lời câu hỏi làm thế
nào để ra quyết định tốt nhất, nhưng nó chỉ là một phần của toàn
bộ quy trình hệ thống.
-
Lưu kho dữ liệu là việc thiết kế và thực
hiện các quy trình, công cụ và cơ sở để quản lý và cung cấp đầy
đủ, kịp thời, chính xác và dễ hiểu thông tin để ra quyết định.
2. Why Data Warehousing?
-
Đối với các tổ chức có lượng dữ liệu
ngày càng lớn thì càng khó truy cập và sử dụng dữ liệu.
-
Dữ liệu trong nhiều định dạng khác nhau,
tồn tại trên nhiều nền tảng khác nhau, và lưu trữ trong nhiều tập tin
khác nhau, cấu trúc cơ sở dữ liệu khác nhau được phát triển bởi các
nhà cung cấp khác nhau.
-
Tổ chức phải viết và duy trì hàng trăm
chương trình để trích xuất, chuẩn bị, hợp nhất dữ liệu để sử dụng
cho nhiều chương trình khác nhau dùng để phân tích và báo cáo.
-
Người ra quyết định muốn khai thác sâu hơn
vào các dữ liệu.
-
Điều này dẫn đến các yêu cầu phát triển
chương trình trích xuất mới hơn. Quá trình này rất tốn kém, không
hiệu quả và tốn thời gian. Data Warehousing cung cấp một phương pháp
tiếp cận tốt hơn.
-
Data Warehousing thực hiện quá trình truy
cập dữ liệu từ các nguồn không đồng nhất; làm sạch, lọc và chuyển
đổi dữ liệu; lưu trữ dữ liệu theo cấu trúc để dễ dàng truy cập,
hiểu rõ và sử dụng.
-
Dữ liệu sau đó được dùng để truy vấn,
báo cáo và phân tích dữ liệu.
-
Khối lượng dữ liệu trong kho dữ liệu có
thể rất lớn, đặc biệt khi xem xét các yêu cầu phân tích dữ liệu mang
tính lịch sử.
-
Chương trình phân tích dữ liệu đòi hỏi
phải quét qua khối lượng dữ liệu rất lớn, có thể dẫn đến kết quả
không tốt cho các ứng dụng hoạt động.
è
Do đó có một yêu cầu tách riêng hai môi
trường để giảm thiểu xung đột và sự xuống cấp của hiệu suất trong
môi trường hoạt động.
3. Lịch sử hình thành
-
Khái niệm Data Warehousing được xuất hiện
vào những năm 80, khi mà các hệ thống quản lý cở sở dữ liệu quan
hệ nổi lên như những sản phẩm thương mại.
-
Năm 1988, có một bài báo mô tả định nghĩa
đầu tiên về kiến trúc kho dữ liệu. Bài báo mô tả những công việc đã
thực hiện để thiết kế kho dữ liệu phục vụ chi nhánh IBM tại châu Âu.
-
Đầu thập niên 90, cuộc cách mạng về xử
lý dữ liệu không chỉ là phổ cập kho dữ liệu mà còn tạo điều kiện
để mở rộng khái niệm kho dữ liệu.
-
Thế kỷ 20 – kỷ nguyên của quản lý dựa
trên thông tin.
-
Ngày nay, chúng ta chờ đợi và dự đoán
tương lai dựa trên những phác thảo quá khứ. Nhu cầu về lợi thế cạnh
tranh tăng ca khiến nền tảng để hỗ trợ việc ra quyết định chuyển từ
dữ liệu dạng số sang thông tin và việc này có thể được mô tả bởi
thuật ngữ quản lý dựa trên thông tin.
4. Khái niệm
4.1
OLTP
Hệ thống
OLTP(On-Line Transaction Processing – Xử lý giao dịch trực tuyến)
-
Dữ liệu phát sinh từ các hoạt động hằng
ngày
-
Thu thập xử lý để phục vụ công việc
nghiệp vụ cụ thể của một tổ chức
-
Thường được gọi là dữ liệu tác vụ và
hoạt động thu thập xử lý dữ liệu này
-
Ví dụ: phần mềm kế toán, phần mềm bán
hàng, phần mềm nhân sự, lương,… được nhập liệu thường xuyên bởi những
người dùng cuối và dữ liệu chi tiết tới từng nghiệp vụ, mô hình
thiết kế theo quan hệ thực thể.
4.2
Data warehouse
-
Kho dữ liệu phục vụ cho việc phân tích
với kết quả mang tính thông tin cao
-
Kho dữ liệu là nơi dữ liệu được tuyển
tập và lưu trữ:
o
Hướng chủ đề
o
Tích hợp
o
Biến đổi theo thời gian
o
Ổn định
-
Kho dữ liệu dùng để hỗ trợ ra quyết định
trong quản lý
4.3
OLAP
Hệ thống
OLAP(On-Line Analytical Processing – Xử lý phân tích trực tuyến)
-
OLAP là kỹ thuật sử dụng các cube(khối –
thể hiện dữ liệu đa chiều) 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) 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.
- Trong
khi Data warehouse và Data mart lưu trữ dữ liệu cho phân tích, thì OLAP
là kỹ thuật cho phép các ứng dụng client truy xuất hiệu quả dữ liệu
này.
- OLAP
cung cấp nhiều lợi ích cho người phân tích như sau:
o Cung
cấp mô hình dữ liệu đa chiều trực quan cho phép dễ dàng lựa chọn,
định hướng và khám phá dữ liệu.
o Cung
cấp một ngôn ngữ truy vấn phân tích, cung cấp sức mạnh để khám phá
các mối quan hệ trong dữ liệu kinh doanh phức tạp.
o Dữ
liệu được tính toán trước đối với các truy vấn thường xuyên nhằm
làm cho thời gian trả kết quả của các truy vấn đặc biệt trở nên
nhanh chóng hơn.
o Cung
cấp các công cụ mạnh mẽ giúp người dùng tạo các khung nhìn mới của
dữ liệu dựa trên một tập các hàm tính toán đặc biệt.
- OLAP
được đặt ra để xử lý các truy vấn liên quan đến lượng dữ liệu rất
lớn mà nếu cho thực thi các truy vấn này trong hệ thống OLTP sẽ không
thể cho kết quả hoặc sẽ mất rất nhiều thời gian.
5. Các đặc tính của kho dữ liệu
5.1 Subject Oriented – Hướng chủ đề
-
Kho dữ
liệu được thiết kế để hỗ trợ trong việc phân tích dữ liệu
-
Được tổ
chức xung quanh các chủ đề chính như: khách hàng, sản phẩm, bán
hàng,…
-
Loại bỏ
những dữ liệu không hữu ích cho trình ra quyết định
à Việc này giúp cho người dùng hướng theo
một chủ đề nhất định giúp xác định được những thông tin cần thiết
trong hoạt động của mình.
5.2 Integrated – Tích hợp
-
Là đặc
tính quan trọng nhất của kho dữ liệu
-
Dữ liệu
được tập hợp từ nhiều nguồn khác nhau:
o
Cở sở
dữ liệu quan hệ(relational databases), flat files, các bảng ghi toàn tác
trực tuyến. à Điều này sẽ
dấn đến việc trong quá trình tập hợp dữ liệu phải thực hiện việc
làm sạch, sắp xếp, rút gọn dữ liệu.
5.3 Non Volatile – Ổn định
-
Được lấy
từ nhiều nguồn dữ liệu của hệ thống tác nghiệp có sẵn
-
Kho dữ
liệu tách rời vật lý với môi trường tác nghiệp, nên dữ liệu trong
kho dữ liệu là dữ liệu chỉ đọc, không chỉnh sửa hoặc thêm mới được.
5.4 Time Variant – Biến đổi theo thời gian
- Dữ
liệu quá khứ và hiện tại
- Mỗi
dữ liệu trong kho dữ liệu đều được gắn với thời gian và có tính
lịch sử
*** Dữ liệu
trong kho dữ liệu rất lớn và không được thêm, xóa, sửa dữ liệu.
6. Mục đích của kho dữ liệu
- Kho
dữ liệu phải đáp ứng những yêu cầu sau:
o Phải
có khả năng đáp ứng mọi yêu cầu về thông tin của người sử dụng.
o Hỗ
trợ để các nhân viên của tổ chức thực hiện tốt, hiệu quả công việc
của mình.
o Giúp
cho tổ chức xác định, quản lý và điều hành dự án, các nghiệp vụ
một các hiệu quả và chính xác.
- Tích
hợp dữ liệu và các siêu dữ liệu từ nhiều nguồn khác nhau.
- Dùng
trong các hệ thống hỗ trợ quyết định(DSS), các hệ thống thông tin
tác nghiệp hoặc hỗ trợ cho các truy vấn đặc biệt.
7. Các thành phần kho dữ liệu
7.1 Methodology – Phương
pháp luận
- Đảm
bảo sự thành công của kho dữ liệu
- Thúc
đẩy việc phát triển
- Cung
cấp một hướng ổn định cho kho dữ liệu lớn:
o An
toàn
o Quản
lý được
o Kiểm
chứng tốt
o Ấn
tượng tốt
7.2 Design and Modeling –
Thiết kế và mô hình hóa
- Các
điểm khác của kho dữ liệu so với các hệ thống OLTP
o Thiết
kế các thành phần phục vụ các yêu cầu phân tích
o Định
hướng chủ đề
- Dữ
liệu được ánh xạ vào thông tin hướng chủ đề
o Nhận
dạng các chủ thể kinh doanh
o Định
nghĩa quan hệ giữa các chủ đề để xây dựng mô hình dữ liệu
- Mô
hình hóa là một quá trình lặp
7.3 ETL(Extract,
Transform, Load)
- Extract:
chọn lựa dữ liệu bằng nhiều hình thức
- Transform:
xác nhận hợp lệ, làm sạch, tích hợp và dữ liệu nhãn thời gian
- Load:
nạp dữ liệu vào kho dữ liệu
7.4 Data Management
- Các
công cụ phục vụ cho việc quản lý một cách hiệu quả
- Các
yêu cầu:
o Mềm
dẻo
o Tự
động
o Hiệu
quả
- Quản
lý phần cứng, hệ điều hành và mạng
7.5 Data Access and
Analysis
- Các
công cụ dùng để truy tìm dữ liệu cho việc phân tích kinh doanh
- Các
yêu cầu:
o Dễ
dàng
o Trực
quan
o Siêu
dữ liệu
o Dễ
huấn luyện
8. So sánh OLTP và OLAP
OLTP
Công nghệ: CSDL quan hệ
Chuẩn hóa, không dư thừa
Tập trung vào dữ liệu hiện
tại
Trả lời các truy vấn đơn
Toàn tác: tính toàn vẹn, bảo mật, đồng thời, locking
Trả lời các truy vấn đơn
Toàn tác: tính toàn vẹn, bảo mật, đồng thời, locking
Xử lý giao dịch
Data warehouse & OLAP
CSDL quan hệ, CSDL đa chiều
Chấp nhận dư thừa
Tiền tính toán tổng hợp
Dữ liệu lịch sử
Hỗ trợ phân tích phức tạp
Tích hợp dữ liệu từ đa nguồn
Dữ liệu rất lớn
Các câu hỏi phức tạp
OLTP
|
OLAP
|
|
Users
|
Chuyên viên
|
Các chuyên gia
|
Function
|
Thao tác hàng ngày
|
Hỗ trợ ra quyết định
|
DB Design
|
Hướng ứng dụng
|
Hướng chủ đề
|
Data
|
Hiện thời, cập nhật, chi
tiết, và là các CSDL độc lập
|
Lịch sử, tóm tắt, tích hợp
đa chiều và tổng hợp
|
Access
|
Đọc/ghi/lập chỉ mục
|
Duyệt nhiều lần
|
Unit of work
|
Toàn tác ngắn, đơn giản
|
Câu hỏi phức tạp
|
#Records accessed
|
Vài chục
|
Vài triệu
|
#Users
|
Vài ngàn
|
Vài trăm
|
DB size
|
100MB-GB
|
100GB-TB
|
Các ví dụ về OLTP và OLAP
- Xử
lý giao dịch trực tuyến OLTP
o Số
lượng coca cola vừa được bán
- Xử
lý phân tích trực tuyến OLAP
o Số
lượng coca cola được bán tháng trước tại các cửa hàng phía bắc tỉnh
Thừa Thiên Huế
o Cửa
hàng nào phía bắc tỉnh Thừa Thiên Huế có số lượng coca cola được
bán ra tháng trước lớn nhất
o Tháng
nào trong năm có số lượng coca cola được bán ra nhiều nhất tại tỉnh
Thừa Thiên Huế
9. Data source – Nguồn dữ liệu
- Data
source là các ứng dụng tác nghiệp hoặc các cơ sở dữ liệu tác
nghiệp, và các công cụ chiết xuất, làm sạch và chuyển đổi dữ liệu
- Data
source có thể là một tập tin, hay một cơ sở dữ liệu của một Hệ
quản trị CSDL nào bất kỳ:
o SQL
Server Databases
o Flat
files
o Microsoft
Access Databases
o Microsoft
Excel Worksheets
o Other
OLE DB providers
10. Meta Data – Siêu dữ liệu
- Siêu
dữ liệu là tất cả những thông tin để miêu tả dữ liệu trong môi
trường kho dữ liệu(siêu dữ liệu là dữ liệu của dữ liệu)
Đối với nhóm kho dữ liệu, siêu
dữ liệu gồm:
- Thư
mục về những gì có trong kho dữ liệu
o Thư
mục chỉ rõ nơi lưu trữ dữ liệu: thư mục là chỉ mục dùng cho câu truy
vấn thiên về việc tìm kiếm những thông tin đúng
- Những
ánh xạ tương ứng giữa tác vụ và các thao tác trong kho dữ liệu
- Dữ
liệu được đưa vào kho dữ liệu phải ở dạng chuẩn và phải theo những
quy ước của kho dữ liệu. Nghĩa là phải được làm sạch.
- Những
luật dùng để tổng hợp dữ liệu: thuật ngữ dùng để miêu tả dữ liệu,
kỹ thuật tương ứng sử dụng để truy xuất dữ liệu.
- Nguồn
dữ liệu, những luật dùng để suy dẫn nguồn dữ liệu và tạo ra nguồn
dữ liệu.
11. Data Mart
- Data
mart là một dạng thu nhỏ của kho dữ liệu
- Nếu
kho dữ liệu mô tả thông tin của một tổ chức thương mại thì:
o Data
mart mô tả thông tin cho từng phòng ban của tổ chức đó(như phòng kinh
doanh, phòng nhân sự…)
o Hoặc
chứa thông tin cho mỗi chi nhánh của tổ chức
- Data
mart đôi khi không thật sự cần thiết vì chúng có thể làm tốn thời
gian xử lý
- Tuy
nhiên, sử dụng Data mart cho phép thực thi các truy vấn nhanh hơn vì dữ
liệu của chúng ít hơn so với kho dữ liệu.
12. Data mining
- Khai
thác dữ liệu là kỹ thuật không dùng những truy vấn mà là những
thuật toán đặc biệt để phân tích dữ liệu và báo cáo cần khai phá.
- Khai
thác dữ liệu dùng để phân tích dữ liệu thống kê và khám phá tri
thức.
- Phân
tích dữ liệu thống kê phát hiện hình thức khác thường trong dữ liệu
và áp dụng kỹ thuật mô hình thống kê và toán học để giải thích
các mô hình.
- Các
mô hình này được dùng để dự báo và dự đoán.
- Các
loại kỹ thuật phân tích số liệu thống kê bao gồm phân tích tuyến
tính và phi tuyến tính, phân tích hồi quy, phân tích đa biến và phân
tích chuỗi thời gian.
- Việc
khám phá các tri thức giúp tìm ra các thông tin chưa từng biết trong
dữ liệu. Kết quả của nó là khám phá những sự thật kinh doanh không
rõ ràng.
- Khai
thác dữ liệu mang tính định hướng dữ liệu
- Truy
vấn và báo cáo mang tính định hướng phân tích
- Phân
tích đa chiều hỗ trợ phân tích.
13. Ứng dụng của kho dữ liệu
- Theo
cách khai thác truyền thống: các công cụ truy vấn, báo cáo
- Xử
lý phân tích trực tuyến OLAP
- Khai
phá dữ liệu – Data mining
Hệ hỗ trợ ra
quyết định (DSS – Decision Support System)
- DSS
giúp người lãnh đạo, quản lý và phân tích làm việc hiệu quả hơn
- Hỗ
trợ cho việc ra quyết định trong quản lý, kinh doanh 1 cách hiệu quả
và nhanh chóng.
- DSS
mức tổng quát gồm 3 tầng:
o Tầng
1: Data warehouse
o Tầng
2: Hệ quản trị OLAP có thể là ROLAP, MOLAP, HOLAP
o Tầng
3: tầng người dùng hỗ trợ các công cụ truy vấn, báo cáo, phân tích,
khai phá dữ liệu
---Mai Huynh biên soạn---
---Mai Huynh biên soạn---