Theo Bill Inmon - người được biết đến như là cha đẻ của kho dữliệu, kho dữ liệu được quy định như sau: "Data warehoue là một tập hợp dữ liệu tương đối ổn định nonvolatile , liên kết với
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
BÀI TẬP LỚN
ĐỀ TÀI: Tìm hiểu Data warehouse và áp dụng
trong phân tích thông tin tại mạng xã hội Punica.
Cao học khóa : K18
Giảng viên hướng dẫn : Nguyễn Hà Nam.
Nhóm : 20
Sinh viên thực hiện : Nguyễn Đức Bình.
Sinh viên thực hiện : Phùng Thị Hương.
Trang 2
LỜI GIỚI THIỆU
Đề tài Data warehouse là một đề tài rất hay và có ứng dụng sâu rộng trong môitrường kinh doanh hiện tại Nhóm nghiên cứu đã chọn việc xây dựng kho dữliệu cho Công ty Punica – Đơn vị kinh doanh theo mô hình mạng với sản phẩmphần mềm website phục vụ cho khách hàng có nhu cầu về bất động sản Thôngqua việc xây dựng kho dữ liệu để có thể đưa ra các báo cáo hỗ trợ nhà quản lýđưa ra các chiến lược phát triển sản phẩm, các tư vấn kịp thời cho khách hàngNhưng do thời gian gấp rút, do việc phân tích dữ liệu nghiệp vụ thực tế củaCông ty Punica có nhiều phức tập Nên nhóm nghiên cứu không thể triển khaihoàn thành kho dữ liệu theo mong muốn
Nhóm muốn gửi lời cảm ơn đến thầy giáo Nguyễn Hà Nam đã tận tình hướngdẫn Mong nhận được sự thông cảm về việc không hoàn thành việc xây dựngkho dữ liệu thực tế
Hà nội, ngày 06/04/2012
Nhóm 20
Trang 3MỤC LỤC
Sinh viên thực hiện : Nguyễn Đức Bình 1
1
1.1 Lịch sử phát triển của Data warehouse 4
1.2 Data warehouse là gì? 4
1.3 Lợi ích data ware house đêm lại cho một tổ chức 8
1.4 Mô hình đa chiều (Dimensional modeling) 8
2 Phương pháp xây dựng kho dữ liệu 12
2.1 Kho dữ liệu doanh nghiệp (Enterprise data warehouse architecture) 14
2.2 Kho dữ liệu chiều (Dimensional data warehouse architecture): 16
2.3 So sánh kiến trúc Kimball và Inmon 17
2.4 Kho dữ liệu liên đoàn (Federated data warehouse architecture) 19
2.5 Data mart 21
3 Xây dựng kho dữ liệu 23
3.1 Hiện trạng dữ liệu và nhu cầu xây dựng kho dữ liệu 23
3.2 Xây dựng kho dữ liệu 24
Trang 41 Giới thiệu về Data warehouse
1.1 Lịch sử phát triển của Data warehouse
Kho dữ liệu đã được phát triển vào cuối những năm 1980 để đáp ứng nhucầu ngày càng tăng về phân tích dữ liệu và quản lý thông tin nhưng không thểđạt được bởi hệ thống đang được sử dụng Bởi vì các hệ thống đang hoạt độngđược thiết kế để tối ưu hóa cho giao dịch, số lượng dữ liệu giao dịch đã đượcphát triển một cách nhanh chóng giữa các phòng ban trong một tổ chức nên việcthực hiện tích hợp dữ liệu khó khăn hơn Điều này tạo ra khó khăn cho việc báo
cáo (tích hợp & phân tích dữ liệu)
Kết quả là, một hệ thống riêng được gọi là data warehouse được thiết kế đểgiải quyết những vấn đề Data warehouse có thể đưa dữ liệu từ các hệ thốngnguồn khác nhau như hệ thống quản lý dữ liệu quan hệ, các tập tin phẳng, bảngtính, dữ liệu ngay cả từ xa các nguồn bên ngoài tổ chức Dữ liệu này sau đóđược tổ chức trong một cách tối ưu hóa cho mục đích báo cáo Thân thiện vớingười sử dụng thông qua công cụ báo cáo được cung cấp bởi Data warehousecho phép người dùng doanh nghiệp nhanh chóng và dễ dàng nhận được cácthông tin hữu ích
1.2 Data warehouse là gì?
Trang 5Có nhiều định nghĩa kho dữ liệu những chúng đều có một số điểm chunggiống nhau Theo Bill Inmon - người được biết đến như là cha đẻ của kho dữ
liệu, kho dữ liệu được quy định như sau:
"Data warehoue là một tập hợp dữ liệu tương đối ổn định (nonvolatile) , liên kết với thời gian (time-variant), được tích hợp (integrated) theo một chủ đề (subject-oriented) nhằm hỗ trợ quá trình tạo quyết định về mặt quản lý
(Support management’s decision making process)"
Các thuật ngữ trong định nghĩa kho dữ liệu trên được giải thích như sau:
Tính bền vững (Nonvolatile): Dữ liệu lưu trong data warehouse là không thể
thay đổ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 Còn 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) Và yếu tố thời gian được lưu trữ trong CSDL
Trang 6Hướng chủ đề (subject-oriented): Dữ liệu được tổ chức trong các đối tượng
chính hoặc các quá trình kinh doanh Ví dụ phổ biến của các dữ liệu theo địnhhướng đối tượng là khách hàng, sản phẩm, nhà cung cấp và giao dịch bán Tậptrung 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
Trang 7Tích hợp (integrated) dữ liệu từ nhiều nguồn khác nhau của các phòng ban
trong tổ chức Nguồn dữ liệu khác nhau có thể có những cách khác nhau để xácđịnh một đối tượng cụ thể Tuy nhiên, trong một kho dữ liệu chỉ có một địnhnghĩa của sản phẩm Điều này đạt được bằng cách sử dụng giải quyết xung đột
tên trong kho dữ liệu Và khi chúng ta đạt được điều này, chúng ta nói rằng dữ
liệu được tích hợp
Hỗ trợ quá trình tạo quyết định (Support management’s decision making process) hiệu quả của một kho dữ liệu giúp đưa ra quyết định dựa trên dữ liệu
lịch sử hoặc sự kiện Sau đó, các quyết định kinh doanh, quy trình kinh doanh
có thể được tối ưu hóa để nâng cao hiệu quả
Trang 81.3 Lợi ích data ware house đêm lại cho một tổ chức.
Có rất nhiều lợi ích mà kho dữ liệu mang lại cho các tổ chức:
Giữ dữ liệu lịch sử để phân tích thậm chí nếu hệ thống nguồn không duy trì
dữ liệu lịch sử
Cho phép điểm trung tâm truy cập vào các dữ liệu trên toàn doanh nghiệp
Cải thiện chất lượng dữ liệu bằng cách làm sạch và chuyển đổi dữ liệu khi tảivào kho dữ liệu
Cung cấp cho bộ phận kinh doanh hoặc người ra quyết định một phiên bảnduy nhất của chân lý hoặc các thông tin được trình bày thống nhất
Cung cấp thông tin thay vì dữ liệu bộ phận kinh doanh hoặc người ra quyếtđịnh
Cung cấp hiệu suất truy vấn tối ưu hóa mà không ảnh hưởng đến hệ thốnghoạt động
Cung cấp thông tin để cải thiện quy trình kinh doanh
1.4 Mô hình đa chiều (Dimensional modeling).
Mô hình đa chiều là một thiết kế cơ sở dữ liệu kỹ thuật để hỗ trợ ngườidùng doanh nghiệp để truy vấn dữ liệu trong kho dữ liệu Các mô hình đa chiềuđược phát triển để hướng tới cải thiện hiệu suất truy vấn và dễ sử dụng Điềuquan trọng là cần lưu ý rằng các mô hình chiều là không cần thiết phụ thuộc vào
cơ sở dữ liệu quan hệ Các phương pháp tiếp cận mô hình đa chiều, ở mức hợp
lý, có thể được áp dụng cho bất kỳ hình thức vật lý, chẳng hạn như cơ sở dữ liệu
quan hệ và đa chiều
Trong mô hình đa chiều, có hai khái niệm quan trọng: sự kiện (fact) và kích
thước (dimensions)
Sự kiện (fact): còn được gọi là thước đo lường tình trạng kinh doanh Sự
kiện là giá trị số có thể được tổng hợp Ví dụ số lượng hàng bán ra
Trang 9 Kích thước (dimensions): được gọi là bối cảnh giúp xác định rõ các sự kiện,
ví dụ tên sản phẩm, thương hiệu, thời gian là những thành phần của kíchthước
Hình : Mô hình đa chiều của một doanh nghiệp có chiều Time, Product, Market.
Mô hình đa chiều được thiết kế theo 03 kiểu như sau:
Lược đồ sao (Star schema): là một thiết kế chiều cho một cơ sở dữ liệu quan
hệ thường được sử dụng trong data ware house Có một bảng sự kiện (fact)tại trung tâm của lược đồ bao quanh bởi một số bảng kích thước(dimensions) Trong lược đồ sao, kích thước liên quan đến nhóm lại với nhaunhư là các cột trong bảng kích thước và được sử dụng để lưu trữ dữ liệu của
sự kiện được lưu trữ trong sự kiện (fact)
Hình : Minh họa lược đồ ngôi sao.
Trang 10 Lược đồ bông tuyết (Snowflake schema): bao gồm một bảng sự kiện (fact)
bao quanh bởi nhiều bảng kích thước (dimensions) có thể được kết nối vớibảng kích thước (dimensions) khác thông qua mối quan hệ nhiều-một Lược
đồ bông tuyết là một loại lược đồ sao, tuy nhiên nó là phức tạp hơn so vớimột lược đồ sao Lược đồ bông tuyết được thiết kế từ các lược đồ sao bằngcách tiếp tục chuẩn hóa các bảng kích thước để loại bỏ dữ liệu dư thừa Do
đó trong lược đồ bông tuyết, thay vì có một bảng kích thước lớn kết nối vớimột bảng thực tế thì sẽ có một nhóm các bảng kích thước nhiều Giản đồ nàycũng giúp tiết kiệm không gian tuy nhiên nó làm tăng số lượng của bảngkích thước
Hình: Minh họa lược đồ bông tuyết.
So sánh lược đồ sao & lược đồ bông tuyết:
Lược đồ sao Lược đồ bông tuyết
Dễ hiểu Dễ dàng hơn cho người dùng
doanh nghiệp và các nhà phân tích truy vấn dữ liệu.
Có thể là khó khăn hơn cho người dùng doanh nghiệp
và các nhà phân tích do số lượng bàn, họ phải đối phó
Trang 11Kích thước bảng
Chỉ có một bảng kích thước cho mỗi kích thước Bảng kích thước không theo mức chuẩn hóa 3NF.
Có thể có nhiều hơn 1 bảng kích thước cho mỗi kích thước Kích thước bảng được chuẩn hóa theo 3NF.
Truy vấn phức tạp
Các truy vấn là rất đơn giản
và dễ hiểu
Truy vấn phức tạp hơn do phải kết hợp các khóa ngoại giữa các bảng kích thước
Hiệu suất truy vấn
Hiệu suất cao Engine có thể tối ưu hóa và tăng hiệu suất truy vấn dựa trên dự đoán.
Có nhiều liên kết khóa ngoài nên thời gian truy vấn lâu hơn so với lược đồ sao.
Không gian lưu trữ
Khi bảng kích thước lưu trữ tương đối số lượng nhỏ các hàng, không gian không phải
là một vấn đề lớn, chúng ta có thể sử dụng lược đồ sao.
Khi bảng kích thước lưu trữ
số lượng lớn hàng với dữ liệu dự phòng và không gian là một vấn đề, chúng
ta có thể chọn bông tuyết lược đồ để tiết kiệm không
gian.
Số lượng khóa ngoại Ít Cao hơn
Loại data warehouse Làm việc tốt nhất trong bất kỳ
data warhouse / data mart
Tốt hơn cho data warehouse nhỏ / data mart
Hướng dẫn xây dựng một mô hình đa chiều : Để xây dựng một mô hình dữ
liệu chiều thì cần một phương pháp phác thảo các quyết định cần phải thực hiện
để hoàn thành thiết kế cơ sở dữ liệu Phương pháp này sử dụng một cách tiếp cận từ trên xuống bởi vì nó lần đầu tiên xác định các quá trình chính trong tổ chức của bạn, nơi dữ liệu được thu thập Một nhiệm vụ quan trọng của các nhà thiết kế cơ sở dữ liệu là bắt đầu với các nguồn dữ liệu hiện có của tổ chức Sau
Trang 12khi quá trình được xác định, một hoặc nhiều bảng sự kiện được xây dựng từ mỗiquá trình kinh doanh Các bước sau đây mô tả các phương pháp sử dụng để xây
dựng các mô hình dữ liệu
Bước 1: Chọn quy trình kinh doanh muốn sử dụng để phân tích các vấn đề
được mô hình hóa
Bước 2: Xác định mức độ chi tiết của các bảng sự kiện (fact).
Bước 3: Xác định kích thước(dimensions) và phân cấp cho mỗi bảng sự kiện.
Bước 4: Xác định các biện pháp cho các bảng sự kiện.
Bước 5: Xác định các thuộc tính cho mỗi bảng kích thước.
Bước 6: Phản hồi của người dùng để xác minh các mô hình dữ liệu.
2 Phương pháp xây dựng kho dữ liệu.
Chọn lựa kiến trúc kho dữ liệu phù hợp để xây dựng data warehouse là mộtcông việc cực kỳ quan trọng nhằm đảm bảo data warehouse sẽ đáp ứng được
các yêu cầu kinh doanh
Một số kiến trúc kho dữ liệu thông dụng:
Kho dữ liệu doanh nghiệp (Enterprise data warehouse architecture): Theo
Inmon Bill về kiến trúc kho dữ liệu doanh nghiệp thì thông tin từ các hệthống nguồn khác nhau được hợp nhất thành một kho lưu trữ trung tâm gọi
là một kho dữ liệu doanh nghiệp Ứng dụng kho dữ liệu như các công cụ báocáo, dữ liệu được truy vấn từ data mart thay truy vấn trực tiếp vào kho dữ
liệu
Kho dữ liệu chiều (Dimensional data warehouse architecture): Trong kiến
trúc của Ralph Kimball về kho dữ liệu, dữ liệu được mang từ khắp các doanhnghiệp vào một địa điểm trung tâm được gọi là chiều kho dữ liệu Giống nhưkiến trúc của Inmon về kho dữ liệu, kho dữ liệu chiều cũng đã là trung tâmcủa doanh nghiệp Trong mô hình Kimball về kho dữ liệu kiến trúc, datamart là một tập hợp con của bảng liên kết với nhau bằng cách sử dụng lược
Trang 13đồ sao và bông tuyết Không giống như kiến trúc doanh nghiệp của Inmon
về kho dữ liệu, ở mô hình Kimball hệ thống phân tích có thể truy cập dữ liệu
trực tiếp từ kho dữ liệu chiều
Kho dữ liệu liên đoàn (Federated data warehouse architecture): cung cấp
một cách tiếp cận hiệu quả và thiết thực để xây dựng một kho dữ liệu mớitrong một môi trường không đồng nhất bằng cách tích hợp di sản kho dữ liệu
và hệ thống kinh doanh thông minh với nhau
Data Mart: gồm khái niệm của data mart và các loại data mart khác nhau đã
được triển khai thực hiện
Trang 142.1 Kho dữ liệu doanh nghiệp (Enterprise data warehouse architecture).
Để hiểu được kiến trúc dữ liệu của Inmon, hãy xem hình ảnh từ trái sangphải Một số yếu tố như sau:
Hình: Kiến trức kho dữ liệu của Inmon (CIF).
Ứng dụng trong tổ chức (Corporate Applications): Các ứng dụng này là hệ
thống hoạt động, các hệ thống giao dịch, phát triển để hỗ trợ kinh doanh Hệthống giao dịch được sử dụng để thu thập dữ liệu từ các giao dịch kinhdoanh như bán hàng, tiếp thị, quản lý vật liệu và được lưu trữ trong cáchình thức khác nhau bao gồm dữ liệu quan hệ, dữ liệu phân cấp hoặc thậmchí các bảng tính Trong kiến trúc Inmon, hệ thống giao dịch còn được gọi là
hệ thống nguồn cung cấp dữ liệu cho kho dữ liệu
Tiến trình ETL (ETL Processes): Để đưa dữ liệu từ hệ thống giao dịch, một
tiến trình được gọi là ETL được sử dụng ETL là viết tắt cho trích xuất,chuyển đổi và nạp ETL là quá trình hợp nhất dữ liệu, biến nó thành mộtđịnh dạng tiêu chuẩn cụ thể và tải nó vào một kho lưu trữ duy nhất được gọi
là kho dữ liệu doanh nghiệp hoặc EDW Tiến trình ETL có thể chạy như một
Trang 15quá trình thực thi định kỳ hoặc một giao dịch dựa trên dữ liệu thời gian thực
gần Tiến trình ETL được gọi là tích hợp dữ liệu hoặc các dịch vụ dữ liệu
Kho dữ liệu doanh nghiệp (Enterprise data warehouse): là một yếu tố trung
tâm trong kiến trúc kho dữ liệu của Inmon Theo định nghĩa của Inmon vềkho dữ liệu, kho dữ liệu doanh nghiệp là một kho lưu trữ tích hợp dữ liệunguyên tử Dữ liệu trong kho dữ liệu doanh nghiệp bị bắt ở một mức độ thấpnhất của chi tiết Dữ liệu trong kho dữ liệu doanh nghiệp được lưu trữ trong
cơ sở dữ liệu quan hệ và sử dụng thiết kế cơ sở dữ liệu theo dạng 3NF
Data mart: là góc nhìn thông tin theo dữ liệu hướng chủ đềc ủa một bộ phận
Data mart nhận dữ liệu từ kho dữ liệu doanh nghiệp Sự tổng hợp dữ liệu cóthể xảy ra khi dữ liệu được chuyển từ kho dữ liệu doanh nghiệp đến datamart Data mart sử dụng thiết kế chiều do đó các dữ liệu trong các Data mart
đã sẵn sàng để phân tích Điều quan trọng là cần lưu ý rằng tất cả các ứngdụng bên ngoài hoặc các công cụ báo cáo, quản trị doanh nghiệp thông minhtruy vấn dữ liệu từ data mart thay vì truy cập trực tiếp kho dữ liệu doanhnghiệp
Trang 162.2 Kho dữ liệu chiều (Dimensional data warehouse architecture):
Để hiểu được kiến trúc dữ liệu của Ralph Kimball, hãy xem hình ảnh từ tráisang phải Một số yếu tố như sau:
Hình: Kiến trức kho dữ liệu của Ralph Kimball.
Ứng dụng giao dịch (Transaction applications): là hệ thống hoạt động được
tạo ra để quản lý các giao dịch kinh doanh Các dữ liệu của hệ thống giaodịch thường được lưu trữ trong cơ sở dữ liệu quan hệ, tập tin hoặc dạng bằngphẳng như bảng tính Những hệ thống giao dịch là hệ thống nguồn của các
kho dữ liệu trong kho dữ liệu kiến trúc Ralph Kimball
ETL: Để đưa dữ liệu từ hệ thống giao dịch dược lưu trữ với các hình thức
khác nhau, các tiến trình ETL được sử dụng ETL là viết tắt của trích xuất(extract), chuyển đổi (transform) và tải (load) Các dữ liệu trong các địnhdạng khác nhau được tiêu chuẩn hóa và chuyển đổi sang định dạng mà đã
sẵn sàng để tải vào kho dữ liệu
Kho dữ liệu chiều (Dimensional data warehouse): là trái tim của kiến trúc
kho dữ liệu Kho dữ liệu chiều chứa các dữ liệu doanh nghiệp ở định dạnghạt cao Trong khi Bill Inmon kho dữ liệu kiến trúc bằng cách sử dụng mô