– Dữ kiện theo từng tuần, hay tháng cũng không phù hợp vì sẽ không phân tích được sự khác nhau giữa các ngày • Sự quyết định độ thô nào phụ thuộc vào tiến trình kinh doanh và các câu hỏi
Trang 1Chương 5: K ỹ thuật mô hình hoá
các chiều cơ sở
Trang 2Giới thiệu
• Các bước mô hình kho dữ liệu
• Độ thô dữ liệu (Data Granularity)
Trang 4Tầng trong hệ thống thông tin
Trang 6Account Week
Region Location Dimension
Store
Product_key Store_key Acct_Week_key
Sales Data
District
Trang 7Các tiến trình mô hình hóa
• Xác định yêu cầu của người dùng
• Hướng dẫn người dùng hiểu về công nghệ KDL
Trang 8Các tiến trình mô hình hóa
• Định nghĩa mô hình kinh doanh
• Mô hình hóa các chiều
• Chọn mô hình lưu trữ
Conceptual Model
Physical Model Logical Model
Trang 9Các công cụ và phương pháp
• Chọn các công cụ với giao diện đồ họa
– Tạo lập tài liệu
• Mô hình hoá
• Xây dựng sản phẩm
Trang 10Tóm lược các lược dồ
–Sao
–Bông tuyết
Trang 11Mô hình hóa các chiều
• Mô hình dựa vào nội dung của dữ liệu
• Mô hình với các tổng hợp cần thiết
• Mô hình phải đáp ứng yêu cầu phân tích sâu, và tổng hợp
• Có thể không chuẩn hóa - star
• Có thể chuẩn hóa - snowflake
• Xây dựng các phân cấp
Trang 12Mô hình các bảng tóm tắt
• Dùng các bảng riêng để chứa các tổng hợp/tóm tắt
SALES FACTS Sales$ Region Month 10,000 North Jan 97 12,000 South Feb 97 11,000 North Jan 97 15,000 West Mar 97 18,000 South Feb 97 20,000 North Jan 97 10,000 East Jan 97 2,000 West Mar 97
SALES BY MONTH/REGION Month Region Tot_Sales$ Jan 97 North 41,000
Jan 97 East 10,000 Feb 97 South 40,000 Mar 97 West 17,000
SALES BY MONTH Month Tot_Sales Jan 97 51,000 Feb 97 40,000 Mar 97 17,000
Trang 13Khi nào thì tóm tắt dữ liệu
• Phân tích và đưa ra quyết định để truy cập trực tiếp các tổng hợp có sẵn hay tính toán tại thời điểm thực hiện câu hỏi.
• Việc tính toán các tỉ số nén cho phép quyết định nên chọn phương án nào
Queried Rows Displayed Rows Calculation Ratio
1,341 22 22/11341 0.0164
234 22 22/234 0.09
30 22 22/30 0.73
Trang 15Ví dụ Kho dữ liệu: Grocery Store
• Một dây chuyền các cửa hàng tạp phẩm nằm rãi rác 3 bang ở Mỹ
• Các kho: các siêu thị với các cửa hàng như tạp phẩm, bơ sữa, thịt, thức ăn
lạnh, bánh mỳ, đồ uống,
• Khoảng 60.000 sản phẩm tại mỗi kho
Ví dụ điển hình của KDL trích từ KIM 96
Trang 16Cơ sở
• Dữ liệu sẵn sàng cho việc xây dựng KDL
– Dữ liệu từ các hệ thống nguồn: OLTP
• Xây dựng kho DL:
– Mô hình các tiến trình kinh doanh nào ?
– Mô hình hoá cấu trúc KDL
– Biến đổi dữ liệu theo cấu trúc Kho DL
– Tính toán các tổng hợp và các dữ kiện suy dẫn
Trang 17– Các câu hỏi được đặt ra ?
– Các thông tin cần thiết
– KDL trung tâm hay các chợ dữ liệu
Trang 18Tiến trình kinh doanh
Trang 19Ví dụ về độ thô
– Toàn tác đơn theo từng khách hàng từng sản
phẩm tại từng kho
– Toàn tác nhóm theo từng khách hàng từng sản phẩm tại từng kho
– Toàn tác nhóm hàng ngày theo từng kho từng sản phẩm
– Toàn tác nhóm hàng tuần theo từng kho từng sản phẩm
– Toàn tác nhóm hàng ngày từng sản phẩm tại từng vùng
Trang 20– Dữ kiện theo từng tuần, hay tháng cũng không phù hợp vì sẽ không phân tích được sự khác
nhau giữa các ngày
• Sự quyết định độ thô nào phụ thuộc vào tiến trình kinh doanh và các câu hỏi cần trả lời
Trang 21Tầng 2-Các phương pháp lưu trữ dl
• Dữ liệu được dùng cho việc phân tích trực tuyến phải được lưu trữ theo một loại CSDL để có thể truy cập bởi công
Trang 22ROLAP được dùng để lưu trữ KDL Grocery
Trang 23Các buớc thực hiện
• Chọn các tiến trình kinh doanh cho mô hình
– Sales
• Chọn cấp độ của tiến trình kinh doanh
– SKU by Store by Promotion by Day
Trang 25Ước luợng dung luợng
• Time dimension: 2 years = 730 days
• Store dimension: 300 stores reporting each day
• Product dimension: 30,000 products, only 3000 sell per day
• Promotion dimension: 5000 combinations, but a
product only appears in one combination per day
• Number of fact records: 730*300*3000*1 =
657,000,000
• Number of fields: 4 key + 4 fact = 8 fields
• Total DB size: 657,000,000 * 8 fields * 4 bytes = 21 GB
Trang 26Dữ kiện (Facts) và Chiều
• Dữ kiện:
– Miêu tả các vùng kinh doanh
• Chiều:
– Thông tin tham chiếu qua đó cỏc sự kiện
có thể được cấu trúc cho việc phân tích
Trang 28Chọn lược đồ nào cho Grocery ?
• Lược đồ bông tuyết có độ chuẩn hóa cao
• Sử dụng ít không gian đĩa hơn
• Việc truy cập các bảng phức tạp hơn bởi phải tham chiếu đến nhiều bảng
• Lược đồ hình sao dễ quản trị hơn, và đáp ứng yêu cầu trả lời nhanh câu hỏi
Chọn luợc đồ hình sao cho KDL Grocery
Trang 31Ví dụ của bảng dữ kiện
• Các thuộc tính dữ kiện bán hàng:
Keys
Time_key Product_key Store_Key Promotion_key
Facts
Dollars_sales Units_sales Dollars_cost Customer_count
Trang 32Ví dụ của bảng dữ kiện
• Khoá của bảng dữ kiện được hợp thành
từ bốn khóa ngoài của các bảng chiều
• Các dữ kiện được lấy từ hệ thống bánhàng POS
• Các thuộc tính suy dẫn dựng cho việc
phân tích
• Dung lượng: ???
Trang 33Ví dụ của chiều: thời gian
• Chiều thời gian (Time) là một chiều cơbản có trong tất cả các KDL
• Các thuộc tính phân cấp tự nhiên:
• Có cấu trúc không đơn giản do:
– Có nhiều loại phân cấp, đa phân cấp (Multi hierarchies)
Trang 34Ví dụ của chiều: thời gian
Trang 35Ví dụ của chiều: thời gian
Trang 36Ví dụ của chiều: Sản phẩm
• Nhận dạng mỗi sản phẩm bởi SKU
(Stock Keeping Unit)
• Dựa trên các mã sản phẩm phổ thông
(UPC - Universal Product Code (UPC) )
• Bao gồm các mã đặt biệt cho việc lưu trữ sản phẩm như thịt tươi,
• Lưu miêu tả của các sản phẩm
• Dung lượng, các nhóm sản phẩm, các nhánh,
Trang 37Ví dụ của chiều: sản phẩm
Trang 39Ví dụ của chiều: sản phẩm
• Được quản lý bởi tổng kho và đượcphân bố đến các kho
• Định nghĩa loại của phân cấp
• Chuẩn hóa và không chuẩn hóa
• Thường có thêm nhiều thuộc tính phụ
có trong chiều sản phẩm
Trang 40Ví dụ của chiều: kho
• Miêu tả mỗi kho của hệ thống liên kết các của hàng tạp phẩm
• Chiều địa lí
• Được tạo ra tại tổng kho bởi việc thu
thập thông tin từ các kho
• Có hai loại phân cấp: phân cấp địa lý vàvùng bỏn hàng
• Các thuộc tính miêu tả kho: dung
lượng, vị trí,
Trang 41Ví dụ của chiều: kho
Trang 42Ví dụ của chiều: kho
Trang 43Ví dụ của chiều: kho
Trang 44Ví dụ của chiều: Quảng cáo
• Miêu tả điều kiện để một sản phẩm được
bán, ví dụ: giảm giá tạm thời, sự trợ giúp của báo,
nghĩ tới để thay đổi việc bán sản phẩm
• Các điều kiện liên quan mật thiết: giảm giá, hay phiếu thưởng
lên trong quá trình quảng cáo
• Không dùng để phân tích các sản phẩm nào không bán được.
Trang 45Ví dụ của chiều: quảng cáo
Trang 46Ví dụ của chiều: quảng cáo
• Giành được trong giai đoạn khuyến mãi
• Có hay không các sản phẩm sự tụt
xuống ngay sau khi kết thúc quảng cáo
• Có hay không việc bán các sản phẩmtăng lên trong quá trình quảng cáo
• Có hay không việc bán các sản phẩmlàm tăng việc buôn bán tổng thể so vớigiai đoạn trước
Trang 47Ví dụ của bảng dữ kiện
• Các thuộc tính dữ kiện bán hàng:
Keys
Time_key Product_key Store_Key Promotion_key
Facts
Dollars_sales Units_sales Dollars_cost Customer_count
Các thuộc tính phụ trợ cho việc phân tích
Trang 48– Customer_count không phụ thuộc hoàn toàn vào các chiều
Trang 49• Customer_count theo từng tuần, từng nhúm( sản
phẩm hàng theo từng kho không thể tính toán được:
Trang 50Thay đổi customer_count:
• Thay đổi độ thô bằng việc lưu lại cáctoàn tác đơn theo từng customer-> customer_count có thể tính theo từngnhóm
• Tính customer_count theo phân cấpcủa chiều kho: store brand,
subcategory,…
Trang 51Các bảng tổng hợp
• Mục đích: trả lời nhanh các câu hỏi thường gặp
• Các bước:
– Nhận diện các câu hỏi thường gặp
– Nhận diện các chiều và các tổng hợp tương ứng
– Tạo một cách có chọn lựa các bảng dữ kiện tổng hợp tính toán trước
– Tạo các bảng chiều tổng hợp
Trang 52Nhận diện các câu hỏi thường gặp
• Tạo một danh sách các câu hỏi thường gặp
• Tiến hành trong giai đoạn thiết kế KDL
trình thao tác của KDL: xem thử các user
đang làm gì !
• Tác động của user với các khả năng
• Thiết lập danh sách
Trang 53Ví dụ nhận diện các câu hỏi
trong suốt các giai đoạn nghỉ so với các giai đoạn khác
phía tây so sánh với các quận phía đông
trong 24 tháng gần đây
• Sự có lợi của quảng cáo bằng báo chí so với radio, tv…
Trang 60Các bảng dữ kiện tổng hợp
• Nhận diện các bảng dữ kiện yêu cầu
• Các tổng hợp ở thứ tự cao có thể được tính toán từ các tổng hợp thứ tự thấp,
– ví dụ: lượng hàng bán được theo từng tháng có
thể tính được dựa trên lượng hàng bán được từng ngày trong tháng.
• Kiểm tra sự sẵn có của dữ liệu
• Kiểm tra các bảng tổng hợp chiều cần thiết
Trang 61Ví dụ bảng dữ kiện tổng hợp
• Các bảng dữ kiện tổng hợp được yêu cầu:
– Tổng hợp 1 chiều:
• Từng loại sp theo từng kho theo từng ngày
• Từng loại sp theo từng kho theo từng tháng
• Từng loại sp theo từng kho theo từng năm – Tổng hợp 2 chiều:
• Từng loại sp theo từng kho theo từng ngày
• Từng loại sp theo từng pho theo từng tháng
• Từng loại sp theo từng quận theo từng năm
Trang 63Liên kết giữa dữ kiện và chiều
• Liên kết giữa bảng dữ kiện với các
bảng chiều trong lược đồ hình sao
• Liên kết giữa các bảng dữ kiện tổng
hợp căn cứ trên các phân cấp của cácbảng chiều
• Định nghĩa các thuộc tính phân cấp tạicác bảng chiều
Trang 64Các bảng dữ kiện tổng hợp
• Các bảng dữ kiện phụ có thể được
thêm vào khi có yêu cầu cần thiết
• Số lượng và dung lượng của các bảng
dữ kiện có thể bùng nổ tổ hợp
• Kiểm tra các bảng dữ kiện nào là cầnthiết và có thể tính toán được
Trang 65Các bảng dữ kiện tổng hợp
• Tính theo các chiều
• Product: theo category, theo
• Store: theo district, theo region,
• Time: month, year
Trang 66Tổng hợp 1 chiều
• Category theo Store theo ngày
• Region theo Product theo ngày
• Theo tháng theo product và theo Store
• Toàn bộ các mặt hàng theo kho theongày
Trang 67Truy vấn bản dữ kiện tổng hợp
• Các câu hỏi được chuyển sang dạng lệnh SQL
• Ví dụ:
– Trình bày số lượng hàng bán được theo loại tại
kiện co sở:
Select category_description,sum(sales_dollars) From base_sales_fact,product,store,time
Where base_sales_fact.product_key=product.product_key And base_sales_fact.store_key=product.store_key
And base_sales_fact.time_key=product.time_key And store.city=“A” and time.day=“January 1 2003”
Group by category_description
Trang 68Truy v ấn bảng dữ kiện tổng hợp
• Nếu bảng tổng hợp category đã tồn tại
Select category_description,sum(sales_dollars) From category_sales_fact,product,store,time Where
category_sales_fact.product_key=product.product_key And category_sales_fact.store_key=product.store_key And category_sales_fact.time_key=product.time_key And store.city=“A” and time.day=“January 1 2003”
Trang 69trong suốt đối với người dùng
• Có thể xây dựng các câu hỏi thống kê
Trang 71Chi phí quản lí các view