Contents I. Giới Thiệu Đề Tài 3 II. OLap 5 2.1. OLap là gì ? 5 2.2. Mô hình dữ liệu đa chiều 5 2.3. Giới thiệu dịch vụ OLAP (OLAP Services) của Microsoft SQL Server 7 2.4. So sánh OLAP với OLTP: 8 2.5. Các mô hình lưu trữ hỗ trợ OLAP 9 2.5.1. Mô hình Multidimensional OLAP (MOLAP) 9 2.5.2. Mô hình Relational OLAP (ROLAP) 10 2.5.3. Mô hình Hybird OLAP (HOLAP) 10 2.5.4. So sách các mô hình 11 2.6. Kiến trúc khối (cube) của OLAP 12 2.7. Mô hình kiến trúc dịch vụ OLAP 13 2.7.1. Kiến trúc thành phần Server 13 2.7.2. Kiến trúc thành phần Client 14 III. Data Mining 16 3.1. Data Mining là gì ? 16 3.2. Các thành phần cơ bản của Data mining 17 3.3. Phạm vi ứng dụng 17 3.4. Giới thiệu ứng dụng của Data mining vào quản lý dự án Agile 18 3.5. Project Data Mining and Project Estimation 22 IV. Web – Mining Thuật Toán VIPS 25 4.1. Tổng quan về web và web mining 25 4.2. Phân loại web mining 26 4.3. Thuật toán phân đoạn trang dựa vào trực quan với thuật toán VIPS 26 4.3.1. Giới thiệu 26 4.3.2. Một số định nghĩa có liên quan cần quan tâm 29 4.3.3. Cách làm việc của thuật toán VIPS 29 4.3.4. Quá trình xuất khối (Visual block extraction) 32 4.3.5. Quá trình xác định các phân cách (Separator Detection) 36 V. Tài Liệu Tham Khảo 37 5.1. OLAP 37 5.2. DATA MINING 37 5.3. WEB MINING 37 I. Giới Thiệu Đề Tài Như chúng ta đã biết ngày nay mạng Internet đã rất phát triển và trở nên không thể thiếu trong xã hội hiện đại chúng ta có thể tìm kiếm tra cứu hầu hết là bất cứ thông tin nào trên mạng từ các nguồn dữ liệu khổng lồ trên toàn thế giới đó là cách nhìn của một người sử dụng bình thường nhất cũng có thể nhận ra còn trên cách nhìn của một người làm trong lĩnh vực công nghệ thông tin chúng ta đặt ra câu hỏi là phải làm thế nào để tập hợp chọn lọc tạo ra các thông tin hưu ích cho người dùng. Có lẽ không ai là không biết đến các hệ thống như Google, Yahoo, Facebook, Twitte
Trang 2Contents 2
Như chúng ta đã biết ngày nay mạng Internet đã rất phát triển và trở nên không thể thiếu trong xã hội hiện đại chúng ta có thể tìm kiếm tra cứu hầu hết là bất cứ thông tin nào trên
Trang 3mạng từ các nguồn dữ liệu khổng lồ trên toàn thế giới đó là cách nhìn của một người sử dụng bình thường nhất cũng có thể nhận ra còn trên cách nhìn của một người làm trong lĩnh vực công nghệ thông tin chúng ta đặt ra câu hỏi là phải làm thế nào để tập hợp chọn lọc tạo ra các thông tin hưu ích cho người dùng Có lẽ không ai là không biết đến các hệ thống như Google, Yahoo, Facebook, Twitter…
Ta đặt ra câu hỏi là các hệ thống đó làm sao để quản lý các nguồn dữ liệu khổng lồ đó mà tốc độ truy cập lại vẫn rất nhanh không những vậy những Google còn luôn trả cho bạn những kết quả tìm kiếm tốt nhất thông minh nhất Nó còn thông minh hơn nếu như bạn luôn tìm kiếm thông tin bằng cách đăng nhập vào hệ thống của Google, bạn có thể thử bằng cách tìm một từ khóa chuyên biệt khi không đăng nhập và khi đăng nhập, nói chung kết quả sẽ khác nhau, và hầu hết là kết quả khi bạn đăng nhập sẽ có độ chính xác với mục đích tìm kiếm của bạn cao hơn so với khi bạn không đăng nhập Bạn có biết tại sao
không?
Theo như tôi dự đoán thì khi chúng ta đăng nhập vào hệ thống của Google và tra cứu
thông tin thì mỗi lần tra cứu hệ thống Google sẽ lưu các từ khóa tìm kiếm, lĩnh vực tìm
kiếm… để tạo thành các mẫu (pattern) phục vụ cho việc tìm kiếm thông minh
Còn với hệ thống Facebook có tính năng rất hay và rất hữu dụng trong việc kết nối các mối quan hệ, đó là tính năng suggestions friends, các mối quan hệ của tôi hầu hết đều kết nối qua tính năng này, và điều thú vị là hầu hết các người bạn mà FB suggest đều là những người tôi biết Vậy tại sao FB nó lại thông minh đến mức như vậy?
Amazon.com là website bán sách lớn nhất trên internet, bạn để ý rằng mỗi khi bạn xem thông tin chi tiết về một quyển sách nào đó trên site thì bao giờ cũng kèm theo 1 danh sách các quyển sách gợi ý mua kèm theo quyển bạn đang xem, một thống kê cho thấy có tới trên 70% đầu sách được người dùng mua thêm thông qua hình thức gợi ý này Vậy điều gì làm cho việc bán sách hiệu quả đến như vậy?
Trên đây chỉ là các ví dụ chúng ta có thể nhìn và hiểu luôn , còn rất, rất nhiều các ví dụ từ nghiên cứu khoa học ứng dụng trong không gian, đến việc chống khủng mà tôi không thể trình bày ở đây được
Trang 4Nói tóm lại tất cả những ví dụ, những điều tôi nói ở trên chung qui lại chỉ xoay quanh các chủ đề đó là Olap, Data ming & Web mining.
Vậy chúng ta sẽ đi tìm hiểu một cách khái quát xem Olap, Data ming & Web mining là những kỹ thuật gì tác dụng và ứng dụng của nó như thế nào trong phần tiếp theo
II OLap
II.1 OLap là gì ?
Trang 5OLAP (On-Line Analytical Processing) 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
Trong khi kho dữ liệu 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, ví dụ như:
- 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
- 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
- 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ả lời rất nhanh đối với các truy vấn đặc biệt
- Cung cấp các công cụ mạnh 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
II.2 Mô hình dữ liệu đa chiều
Các nhà quản lý kinh doanh có khuynh hướng suy nghĩ theo “nhiều chiều” (multidimensionally) Ví dụ như họ có khuynh hướng mô tả những gì mà công ty làm như sau:
“Chúng tôi kinh doanh các sản phẩm trong nhiều thị trường khác nhau, và chúng tôi đánh giá hiệu quả thực hiện của chúng tôi qua thời gian”
Những người thiết kế kho dữ liệu thường lắng nghe cẩn thận những từ đó và họ thêm vào những nhấn mạnh đặc biệt của họ như:
“Chúng tôi kinh doanh các sản phẩm trong nhiều thị trường khác nhau, và chúng tôi đánh giá hiệu quả thực hiện của chúng tôi qua thời gian”
Suy nghĩ một cách trực giác, việc kinh doanh như một khối (cube) dữ liệu, với các nhãn
trên mỗi cạnh của khối (xem hình bên dưới) Các điểm bên trong khối là các giao điểm của các cạnh Với mô tả kinh doanh ở trên, các cạnh của khối là Sản phẩm, Thị trường,
và Thời gian Hầu hết mọi người đều có thể nhanh chóng hiểu và tưởng tượng rằng các điểm bên trong khối là các độ đo hiệu quả kinh doanh mà được kết hợp giữa các giá trị
Sản phẩm, Thị trường và Thời gian.
Trang 6Mô phỏng các chiều trong kinh doanh
Một khối dữ liệu (datacube) thì không nhất thiết phải có cấu trúc 3 chiều (3-D), nhưng về
cơ bản là có thể có N chiều (N-D) Những cạnh của khối được gọi là các chiều
(dimensions), mà đó là các mặt hoặc các thực thể ứng với những khía cạnh mà tổ chức
muốn ghi nhận Mỗi chiều có thể kết hợp với một bảng chiều (dimension table) nhằm
mô tả cho chiều đó Ví dụ, một bảng chiều của Sản phẩm có thể chứa những thuộc tính
như Ma_sanpham, Mo_ta, Ten_sanpham, Loai_SP,… mà có thể được chỉ ra bởi nhà quản
trị hoặc các nhà phân tích dữ liệu Với những chiều không được phân loại, như là Thời
gian, hệ thống kho dữ liệu sẽ có thể tự động phát sinh tương ứng với bảng chiều
(dimension table) dựa trên loại dữ liệu Cần nói thêm rằng, chiều Thời gian trên thực tế
có ý nghĩa đặc biệt đối với việc hỗ trợ quyết định cho các khuynh hướng phân tích Thường thì nó được mong muốn có một vài tri thức gắn liền với lịch và những mặt khác của chiều thời gian
Hơn nữa, một khối dữ liệu trong kho dữ liệu phần lớn được xây dựng để đo hiệu quả của công ty Do đó một mô hình dữ liệu đa chiều đặc thù được tổ chức xung quanh một chủ
đề mà được thể hiện bởi một bảng sự kiện (fact table) của nhiều độ đo số học (là các đối
tượng của phân tích) Ví dụ, một bảng sự kiện có thể chứa số mặt hàng bán, thu nhập,
tồn kho, ngân sách,… Mỗi độ đo số học phụ thuộc vào một tập các chiều cung cấp ngữ
cảnh cho độ đo đó Vì thế, các chiều kết hợp với nhau được xem như xác định duy nhất
Trang 7độ đo, là một giá trị trong không gian đa chiều Ví dụ như một kết hợp của Sản phẩm,
Thời gian, Thị trường vào 1 thời điểm là một độ đo duy nhất so với các kết hợp khác.
Các chiều được phân cấp theo loại Ví dụ như chiều Thời gian có thể được mô tả bởi các thuộc tính như Năm, Quý, Tháng và Ngày Mặt khác, các thuộc tính của một chiều có thể
được tổ chức vào một lưới mà chỉ ra một phần trật tự của chiều Vì thế, cũng với chiều
Thời gian có thể được tổ chức thành Năm, Quý, Tháng, Tuần và Ngày Với sự sắp xếp này, chiều Thời gian không còn phân cấp vì có những tuần trong năm có thể thuộc về
nhiều tháng khác nhau
Vì vậy, nếu mỗi chiều chứa nhiều mức trừu tượng, dữ liệu có thể được xem từ nhiều
khung nhìn linh động khác nhau Một số thao tác điển hình của khối dữ liệu như roll-up (tăng mức độ trừu tượng), drill-down (giảm mức độ trừu tượng hoặc tăng mức chi tiết),
slice and dice (chọn và chiếu), và pivot (định hướng lại khung nhìn đa chiều của dữ
liệu), cho phép tương tác truy vấn và phân tích dữ liệu rất tiện lợi Những thao tác đó
được biết như Xử lý phân tích trực tuyến (On-Line Analytical Processing – OLAP).
Những nhà ra quyết định thường có những câu hỏi có dạng như “tính toán và xếp hạng
tổng số lượng hàng hoá bán được theo mỗi quốc gia (hoặc theo mỗi năm)” Họ cũng
muốn so sánh hai độ đo số học như số lượng hàng bán và ngân sách được tổng hợp bởi
cùng các chiều Như vậy, một đặc tính để phân biệt của mô hình dữ liệu đa chiều là nó nhấn mạnh sự tổng hợp của các độ đo bởi một hoặc nhiều chiều, mà đó là một trong những thao tác chính yếu để tăng tốc độ xử lý truy vấn
II.3 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
Trang 8Cá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ữ
- 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ỳ ý
II.4 So sánh OLAP với OLTP:
Đặc trưng của các ứng dụng OLTP (On-Line Transaction Processing) là các tác vụ xử lý
tự động ghi chép dữ liệu xử lý tác vụ của một tổ chức như ghi nhận đơn đặt hàng và các giao dịch ngân hàng (chúng là những công việc hàng ngày của tổ chức thương mại) mà cần phải đọc hoặc cập nhật một vài mẩu tin dựa trên khoá chính của chúng Những tác vụ
đó có cấu trúc, được lặp lại, bao gồm các giao dịch ngắn, tối giản và tách biệt, yêu cầu dữ liệu chi tiết và mới cập nhật Các cơ sở dữ liệu tác nghiệp có xu hướng từ vài trăm megabyte đến hàng gigabyte kích thước và chỉ lưu trữ các dữ liệu hiện hành Tính nhất quán và khả năng phục hồi của cơ sở dữ liệu là then chốt, và tối đa thông lượng giao dịch
là thước đo chính yếu Vì thế cơ sở dữ liệu được thiết kế để tối thiểu các xung đột trùng lắp
Còn kho dữ liệu, mục tiêu là hỗ trợ quyết định cho các nhà quản lý Tính chi tiết và riêng
lẻ của các mẩu tin thì ít quan trọng hơn tính lịch sử, tổng kết và hợp nhất của dữ liệu Do
đó, kho dữ liệu thường chứa dữ liệu hợp nhất từ một hoặc nhiều cơ sở dữ liệu tác nghiệp
và được thu thập qua một thời gian dài Kết quả là kích thước kho dữ liệu có khuynh
Trang 9hướng từ vài trăm gigabyte đến hàng terabyte so với các cơ sở dữ liệu tác nghiệp Kho dữ liệu hỗ trợ các truy vấn phức tạp với thời gian hồi đáp nhanh, các truy vấn phức tạp có thể truy xuất hàng triệu mẩu tin và thực hiện nhiều lần các thao tác quét, kết và tổng hợp Đối với kho dữ liệu, số lượng truy vấn đưa vào và thời gian hồi đáp quan trọng hơn số lượng giao dịch đưa vào Mà OLAP là một trong những công cụ cho phép thực hiện hiệu quả các truy vấn này.
Căn cứ vào đó, các cơ sở dữ liệu tác nghiệp được xây dựng để hỗ trợ tốt các tác vụ OLTP, vì thế nếu cố gắng thực thi các truy vấn OLAP phức tạp đối với các cơ sở dữ liệu tác nghiệp sẽ cho kết quả là hiệu quả thực hiện không thể chấp nhận được
II.5 Các mô hình lưu trữ hỗ trợ OLAP
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
II.5.1 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
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
Trang 10- 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 line)
(off-II.5.2 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
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)
II.5.3 Mô hình Hybird OLAP (HOLAP)
Trang 11Mô hình OLAP lai (HOLAP) là sự kết hợp giữa MOLAP và ROLAP.
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
II.5.4 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
II.6 Kiến trúc khối (cube) của OLAP
Trang 12Đối tượng chính của OLAP là khối (cube), một thể hiện đa chiều của dữ liệu chi tiết và
tổng hợp Một khối bao gồm một nguồn dữ liệu (Data source), các chiều (Dimensions), các độ đo (Measures) và các phần dành riêng (Partitions) Các khối được thiết kế dựa trên yêu cầu phân tích của người dùng Một kho dữ liệu có thể hỗ trợ nhiều khối khác nhau như khối Bán hàng, khối Bảng kiểm kê,…
Dữ liệu nguồn của một khối chỉ ra nơi chứa kho dữ liệu cung cấp dữ liệu cho khối.
Các chiều (dimension) được ánh xạ từ các thông tin của các bảng chiều (dimension table)
trong kho dữ liệu vào các mức phân cấp, ví dụ như chiều Địa lý thì gồm các mức như Lục địa, Quốc gia, Tỉnh-Thành phố Các chiều có thể được tạo một cách độc lập và có thể chia sẻ giữa các khối nhằm xây dựng các khối dễ dàng và để chắc chắn rằng thông tin tổng hợp cho phân tích luôn ổn định Ví dụ, nếu một chiều chia sẻ một phân cấp sản phẩm và được sử dụng trong tất cả các khối thì cấu tạo của thông tin tổng hợp về sản phẩm sẽ ổn định giữa các khối sử dụng chiều đó
Một chiều ảo (virtual dimension) là một dạng đặc biệt của chiều mà ánh xạ các thuộc tính
từ các thành viên (member) của một chiều khác để sau đó có thể được sử dụng trong các khối Ví dụ, một chiều ảo của thuộc tính kích thước sản phẩm cho phép một khối (cube) tổng hợp dữ liệu như số lượng sản phẩm bán được theo kích thước, hoặc như số lượng áo bán được theo kiểu và theo kích thước Các chiều ảo (virtual dimension) và các thuộc tính thành viên được đánh giá là cần thiết cho các truy vấn và chúng không đòi hỏi phải
có các khối lưu trữ vật lý
Các độ đo (measure) xác định các giá trị số từ bảng sự kiện (fact table) mà được tổng hợp
cho phân tích như giá bán, chi phí hoặc số lượng bán
Các phần dành riêng (partition) là các vật chứa lưu trữ đa chiều, giữ dữ liệu của khối
Mỗi khối chứa ít nhất một partition, và dữ liệu của khối có thể kết hợp từ nhiều partition Mỗi partition có thể lấy dữ liệu một nguồn dữ liệu khác nhau và có thể lưu trong một vị trí riêng biệt (separate) Dữ liệu của một partition có thể được cập nhật độc lập với các partition khác trong một khối Ví dụ, dữ liệu của một khối có thể được chia theo thời gian, với một partition chứa dữ liệu của năm hiện hành, một partition khác chứa dữ liệu của năm trước, và một partition thứ ba chứa tất cả dữ liệu của các năm trước nữa
Các partition của một khối có thể được lưu trữ độc lập trong các cách thức khác nhau với các mức độ tổng kết khác nhau Các partition không thể hiện đối với người dùng, đối với
họ một khối (cube) là một đối tượng đơn, và chúng cung cấp các tuỳ chọn đa dạng để quản lý dữ liệu OLAP
Một khối ảo (virtual cube) là một khung nhìn luận lý (logic) của các phần chia của một
hoặc nhiều khối Một khối ảo có thể được sử dụng để kết (join) các khối khác nhau để chia sẻ một chiều chung nào đó, ví dụ như có thể kết giữa khối Bán hàng và khối Kho nhằm các mục đích phân tích đặc biệt nào đó trong khi duy trì các khối tách biệt cho đơn giản Các chiều (dimension) và các độ đo (measure) có thể được chọn từ các khối được kết để thể hiện trong khối ảo
II.7 Mô hình kiến trúc dịch vụ OLAP
Trang 13Kiến trúc dịch vụ OLAP gồm 2 thành phần: Server và Client
II.7.1 Kiến trúc thành phần Server
Trang 14Kiến trúc thành phần Server
Dịch vụ OLAP của SQL Server cung cấp thành phần Server có khả năng tạo và quản lý
dữ liệu OLAP đa chiều, đồng thời cung cấp dữ liệu cho client qua dịch vụ PivotTable (PivotTable Service)
Các thao tác (operation) của thành phần Server bao gồm việc tạo các khối dữ liệu đa chiều từ kho cơ sở dữ liệu quan hệ và lưu trữ chúng trong các cấu trúc khối đa chiều (MOLAP), trong cơ sở dữ liệu quan hệ (ROLAP) hoặc kết hợp cả hai (HOLAP) Siêu dữ liệu (metadata) của các cấu trúc khối đa chiều được lưu trữ trong một kho (repository) trong cơ sở dữ liệu quan hệ
Các thao tác được thành phần Server cung cấp gồm:
- Khả năng tạo và quản lý các khối của OLAP
Phục vụ lấy dữ liệu và làm cho nó có thể sử dụng được từ các ứng dụng client
II.7.2 Kiến trúc thành phần Client
Kiến trúc thành phần Client
Thành phần client là dịch vụ PivotTable giao tiếp với OLAP server và cung cấp giao diện cho các ứng dụng client sử dụng truy cập dữ liệu OLAP trên server Các ứng dụng client kết nối đến dịch vụ PivotTable bằng cách sử dụng giao diện OLE DB hoặc mô hình ADO (Microsoft ActiveX Data Objects)
Các ứng dụng client có thể sử dụng dịch vụ PivotTable để lấy dữ liệu từ cơ sở dữ liệu OLAP
Dịch vụ PivotTable có thể tạo các khối cục bộ mà đó là các tập con của các khối cư trú trên server Các khối cục bộ có thể được sử dụng để làm tăng hiệu quả thực hiện và sử dụng để thực hiện các phân tích không trực tuyến (off-line)
Trang 15Dịch vụ PivotTable là một công cụ lưu trữ, duyệt và phân tích khối (cube) PivotTable là một OLAP Server xử lý tại chỗ với cả các đặc tính phân tích trực tuyến (on-line) và không trực tuyến (off-line) mà:
- Cung cấp truy cập trực tuyến đến dữ liệu OLAP như một client của dịch vụ
OLAP
- Bao gồm các đặc tính phân tích dữ liệu, xây dựng khối và quản lý cache
Cho phép các khối (cube) lưu trữ cục bộ để phân tích không trực tuyến (off-line) như là kết nối đến dữ liệu dịch vụ OLAP trực tuyến
Trang 16III Data Mining
III.1 Data Mining là gì ?
Data mining là một quá trình trích xuất thông tin có mối quan hệ hoặc có mối tương quan nhất định từ một kho dữ liệu lớn (cực lớn) nhằm mục đích dự đoán các xu thế, các hành
vi trong tương lai, hoặc tìm kiếm những tập thông tin hữu ích mà bình thường không thể nhận diện được
Ứng dụng của nó rất đa dạng và rộng tới, từ marketing, chống gian lận, giảm giá thành sản xuất, tăng doanh thu, phân tích hành vi sử dung người dùng internet để target đúng nhu cầu, đúng đối tượng hay ứng dụng hỗ trợ ra quyết định, nghiên cứu khoa học đến việc chống khủng bố v.v
Các công cụ, kỹ thuật data mining có thể trả lời các câu hỏi mà các công cụ truyền thống đòi hỏi rất nhiều thời gian cần thiết để có thể giải đáp được (thậm chí các cách truyền thống không thể giải được) Nó có thể tìm thấy được những thông tin cực kỳ hữu ích mà rất dễ bị bỏ qua hoặc không xem xét đến để có thể dự đoán những xu thế/hành động xảy
ra trong tương lai
Để có thể data mining một cách hiệu quả, điều đầu tiên cần phải thu thập dữ liệu và định nghĩa lại theo các tiêu chí cần phân tích Các kỹ thuật data mining có thể cài đặt rất nhanh chóng trên các nền tảng phần mềm, phần cứng phổ thông mà không cần đòi hỏi quá phức tạp, tuy vậy data mining thường gắn liền với việc phân tích một khối lượng dữ liệu cực lớn nên cần ứng dụng các công nghệ high performance client/server hoặc xử lý song song
Trang 17(parallel programming).
Nghe thì hơi loằng ngoằng khó hiểu, thực ra thì đúng là nó rất loằng ngoằng, phức tạp, khó hiểu :D Tuy vậy có thể tóm lược khái quát các thành phần cơ bản của data mining như sau
III.2 Các thành phần cơ bản của Data mining
Công nghệ data mining là kết quả của quá trình lâu dài nghiên cứu và phát triển sản phẩm Quá trình này bắt đầu từ khi những dữ liệu đầu tiên lưu vào máy tính, tiếp đến là quá trình cải tiến, nâng câp cách thức truy xuất dữ liệu và dần dần cho phép người dùng
có thể duyệt dữ liệu theo thời gian thực Kết quả của quá trình này cho phép truy xuất các nguồn dữ liệu quá khứ, tính toán và định vị lại việc truyền tải, cung cấp thông tin cho hiện tại, tương lai hay đưa ra các dự đoán tình huống có thể sắp diễn ra
Có ba kỹ thuật cơ bản nhưng rất tổng quát và đầy đủ trong công nghệ data mining:
Thu thập dữ liệu lớn (Massive data collective)
Nền tảng sức mạnh tính toán Đây chính là hạ tầng bao gồm cả phần cứng và phần mềm lõi (Powerful computing)
III.3 Phạm vi ứng dụng
Như đã trình bày ở trên, pham vi ứng dụng của data mining rất rộng, bao phủ hầu hết các lĩnh vực Tuy vậy có thể tóm lược lại phạm vi ứng dụng của data ming trong các bài toán yêu cầu có cần có các chức năng/nghiệp vụ sau:
Tự động hóa việc dự doán các xu thế và hành vi sẽ diễn ra trong tương lai: Data mining
tự động hóa quá trình tìm kiếm và trích xuất các tập thông tin có mối quan hệ hoặc tương quan trong một tập dữ liệu cực lớn Những vấn đề/câu hỏi đặt ra với các cách truyền thống đòi hỏi một quá trình rất phức tạp và tốn kém cả về tài chính và thời gian để giải đáp thì giờ có thể trả lời một cách nhanh chóng trong khi giá thành là thấp nhất Một ví
dụ đơn giản trong quảng cáo online là quá trình targeting, khi một người dùng click vào một banner quảng cáo bán giầy dành cho nữ giới, thì khả năng người đó là nữ và họ đang quan tâm đến đôi giầy đó, khi hệ thống nhận diện được điều này thì có thể target thêm các kiểu dáng giầy khác nhau, kích cỡ khác nhau, giá thành khác nhau với mục tiêu là người dùng sẽ kết thúc quá trình là mua một đôi giày, ngoài ra bởi vì hệ thống nhận diện người dùng là phụ nữ nên nó có thể quảng cáo thêm các sản phẩm khác như mỹ phẩm, quần áo v.v
Tự động hóa việc khám phá/nhận diện ra những tập thông tin quá khứ mà hệ thống
không/chưa biết: Công cụ data mining trong quá trình phân tích dữ liệu sẽ nhận diện ra nhưng tập thông tin/dữ liệu không có hoặc bị ẩn bởi những mối liên hệ mà được xác định trước Ví dụ như trong việc bán hàng, có những sản phẩm không có mối liên hệ gì với nhau, nhưng lại hay bán được cùng nhau, từ đó đưa ra cơ chế recommendation Hay cơ
Trang 18chế nhận diện giao dịch gian lận trong thanh toán điện tử dựa vào việc phân tích các giao dịch bất thường…
Ngày nay, các công nghệ data mining được ứng dụng rộng rãi trong các công ty lấy khách hàng làm trung tâm như truyền thông, tài chính, marketing, bán hàng, các nghành công nghiệp sản xuất v.v… Nó cho phép các công ty xác định được các mối quan hệ giữa các yếu tố nội tại như giá thành, mẫu mã, cách thức quảng cáo, thậm chí là kỹ năng của nhân viên công ty… các yếu tố bên ngoài như đối thủ cạnh tranh, chính sách kinh tế hay nhu cầu thị trường v.v Và nó còn hỗ trợ việc xác định được sự tác động của các chính sách khuyến mại, giảm giá, độ hài lòng của khách hàng và lợi nhuận của doanh nghiệp…
III.4 Giới thiệu ứng dụng của Data mining vào quản lý dự án Agile
Quản lý dự án là một kỹ năng nghệ thuật của việc thực hiện các phương pháp phân tích định tính và định lượng Có nhiều phương pháp phân tích định lượng hiện đang được sử dụng trong quản lý dự án để tiếp cận dự án, trạng thái của dự án và để đạt được tri thức từ
dữ liệu lịch sử Data mining là quá trình chiết xuất các mẫu từ dữ liệu Data mining, hoặc phát hiện chi thức, là quá trình tìm tòi đào sâu và phân tích khối dữ liệu lớn sau đó trích
ra các thông tin có ý nghĩa dưới sự hỗ trợ của máy tính
Trong bài viết này minh họa việc sử dụng các kỹ thuật data mining trong lập kế hoạch dự
án và đánh giá rủi ro Data mining đã được ứng dụng để phát triển một mã nguồn mở đó
trong quả lý dự án bạn có thể download phần mềm mã nguồn mở [Intelligent scrum
planner ]đó từ http://spat.tigris.org
Để thiết kế một kế hoạch thông minh cho quá trình Scrum, thì ta thiết kế một bộ dữ liệu thử nghiệm với các thuộc tính sau
Taskid - Task id
Resourcename - Resource name/id
TaskSize – High level module size {small/medium/high}
EstimatedHours – Estimated hours
TotalBurnedHours – Actual hours required for development
Estimation – [EstimatedHours- TotalBurnedHours] {under/over/good}
PreReleaseDefects – number of pre-release defects
PostReleaseDefects– number of post release defects
FunctionalDependency-Functional dependencies with other task {low/medium/high}
RequirementChanges- Requirement changes in middle of the game
{low/medium/high}
DocumentationRequirement {low/medium/high}
Teaminteraction {low/medium/high}
Trang 19Khi chạy thử nghiệm một bộ dữ liệu mẫu này trên máy tính với java 1.5 Ứng dụng này
sử dụng thuật toán C4.5 cây quết định để lập kế hoạch thông minh và nó được thiết kế với giao diện đơn giản như minh họa trong hình 1 và 2