Tổng quan về các giải thuật khai thác dữ liệu có trong SQL Server Analysis Services

Giới thiệu tổng quan
Giải thuật Data Mining là kỹ thuật nhằm mục đích xây dựng các mô hình khai thác dữ liệu. Để xây dựng các mô hình khai thác dữ liệu thì một giải thuật, trước tiên phải tiến hành phân tích tập các dữ liệu và tìm kiếm các mẫu đặc trưng của dữ liệu. Giải thuật sử dụng các kết quả của việc phân tích này để xác định các tham số của mô hình khai thác. Các tham số này sẽ được áp dụng vào tập dữ liệu hiện tại để chiết xuất các mẫu thể hiện thông tin và các báo cáo thống kê chi tiết.

Mô hình khai thác dữ liệu do cùng một giải thuật Data Mining xây dựng có nhiều hình thức khác nhau, gồm có:
  • Tập các luật đặc tả cách thức mà các sản phẩm được nhóm lại với nhau trong cùng một giao tác hiện thực.
  • Cây quyết định dự đoán một người khách hàng có chăng sẽ mua sản phẩm của công ty.
  • Biểu đồ toán học dự báo hoạt động bán hàng.
  • Tập các nhóm thể hiện các trường hợp mà các nhóm dữ liệu có liên quan đến nhau
Microsoft SQL Server Analysis Services cung cấp các giải thuật cho việc xây dựng các giải pháp khai thác dữ liệu. Các giải thuật được sử dụng trong SSAS là tập con của nhiều giải thuật Data Mining khác.
Các nhóm giải thuật Data Mining
SQL Server Analysis Services cung cấp công cụ phân tích và khai thác dữ liệu dựa trên cơ sở 5 giải thuật Data Mining sau:
  • Giải thuật phân loại (Classification Algorithm) – dự đoán ra một hoặc nhiều giá trị biến rời rạc, dựa trên các thuộc tính khác của tập dữ liệu. Điển hình là giải thuật Cây Quyết Định – Microsoft Decision Trees Algorithm.
  • Giải thuật đệ qui (Regression Algorithm) – dự đoán một hoặc nhiều biến giá trị liên tục, như lợi nhuận và giá trị thua lỗ, dựa trên các thuộc tính dữ liệu khác trong tập dữ liệu. Điển hình là giải thuật chuỗi thời gian – Microsoft Time Series Algorithm.
  • Giải thuật phân đoạn (Segmentation Algorithm) – phân chia dữ liệu thành nhiều nhóm gồm các thành phần có thuộc tính tương tự nhau. Giải thuật điển hình là Microsoft Clustering Algorithm.
  • Giải thuật tương quan (Assocication Algorithm) – tìm sự tương quan giữa các thuộc tính trong củng tập dữ liệu. Ứng dụng phổ biến nhất của giải thuật này là xây dựng các luật tương quan, phân tích giỏ hàng. Giải thuật điển hình loại giải thuật này là Microsoft Assocciation Algorithm
  • Giải thuật phân tích tuyến tính (Sequence Analysis Allgorithm) – tổng kết các chuỗi hoặc mảng dữ liệu trong tập dữ liệu. Điển hình cho loại giải thuật này là Microsoft Sequence Clustering Algorithm
Ứng dụng của các giải thuật
Việc chọn lựa các giải thuật tối ưu để sử dụng cho một tác vụ nghiệp vụ đặc trưng thật sự là một thách thức rất lớn. Nguyên nhân do vấn đề là bạn có thể sử dụng rất nhiều giải thuật khác nhau cho cùng một tác vụ nghiệp vụ cụ thể, và mỗi loại giải thuật sẽ cho các kết quả khác nhau, không những thế, một số loại giải thuật có thể cho ra nhiều kết quả của cùng một tác vụ.
Ví dụ, bạn có thể dùng giải thuật cây quyết định không chỉ để dự đoán mà còn nhằm mục đích giảm số lượng cột trong tập dữ liệu, bởi vì cây quyết định có thể xác định các cột thuộc tính dữ liệu không có tác dụng trong mô hình khai thác dữ liệu.
Một vấn đề khác là bạn không sử dụng giải thuật một cách độc lập. Trong một mô hình khai thác dữ liệu đơn nhất, bạn có thể sử dụng nhiều giải thuật kết hợp với nhau, một số giải thuật hỗ trợ trong việc khai thác dữ liệu, một số giải thuật khác hỗ trợ việc dự đoán kết quả dựa trên tập dữ liệu hiện có. Ví dụ, ta có thể dùng giải thuật Clustering để nhận dạng các mẫu dữ liệu, phân loại dữ liệu thành các nhóm, sau đó sử dụng kết quả để xây dựng mô hình khai thác dữ liệu tốt hơn với giải thuật cây quyết định.
Ngoài ra, ta có thể sử dụng nhiều giải thuật trong cùng một dự án để thực hiện một số tác vụ, ví dụ dùng giải thuật truy hồi đệ qui để thể hiện các thông tin tài chính và dự đoán kinh doanh, và giải thuật dựa trên các luật để thực hiện việc phân tích giỏ hàng sản phẩm.
Mục tiêu của mô hình khai thác dữ liệu là khả năng dự đoán, đưa ra các thông tin thống kê, tổng kết và tìm kiếm sự tương quan ẩn. Bảng mô tả dưới đây trình bày sự phân loại các giải thuật vào một số chức năng tác vụ đặc trưng.


Tác vụ đặc trưng Giải thuật sử dụng
Dự đoán các giá trị thuộc tính có tính riêng biệt
Ví dụ: Dự đoán người nhận mail có khả năng mua sản phẩm trong một chiến dịch gửi mail PR
  • Microsoft Decision Tree Algorithm
  • Microsoft Naïve Bayes Algorithm
  • Microsoft Clustering Algorithm
  • Microsoft Neural Network Algorithm
Dự đoán các thuộc tính có tính liên tục
Ví dụ: Dự đoán hoạt động bán hàng các năm tới
  • Microsoft Decision Tree Algorithm
  • Microsoft Time Series Algorithm
Dự đoán chuỗi các tác vụ
Ví dụ: Phân tích chuỗi các hoạt động của người dùng trên Website
  • Microsoft Sequence Clustering Algorithm
Tìm kiếm nhóm các đối tượng trong giao tác hiện thực
Ví dụ: Phân tích giỏ hàng để tiến hành tư vấn, đề nghi cho khách hàng
  • Microsoft Association Algorithm
  • Microsoft Decision Tree Algorithm
Tìm kiếm các nhóm đối tượng tương tự nhau
Ví dụ: Phân đoạn dữ liệu thành các nhóm để nắm rõ hơn mối quan hệ giữa các thuộc tính.
· Microsoft Clustering Algorithm
· Microsoft Sequence Clustering Algorithm
Tài liệu tham khảo: http://msdn.microsoft.com

POLICY – BASED MANAGEMENT trong SQL Server 2008

Bạn đã từng chắc chắn rằng việc đăng nhập hay các nhóm người dùng của WIndows đều được đưa vào trong SQL Server, hay dịch vụ xp_cmdshell bị tắt đi, hoặc là không có một Store Procedure nào có định danh bắt đầu với “sp_”? Bạn đã từng làm việc với nhiều hơn một server trong hệ thống của bạn? Và đây chắc chắn là một vấn đề phức tạp, gây nhiều khó khăn khi làm việc với nhiều server, từ một instance của server này đến một instance của một server khác, việc truy vấn các đối tượng hệ thống, kiểm tra các thiết lập cấu hình, đảm bảo các instances của SQL Server đều được ổn định. Toàn bộ qui trình đều đã được thay đổi trong SQL Server 2008.
Policy Management in SQL Server 2008
Phiên bản SQL Server 2008 giới thiệu đến cho chúng ta một tính năng mới được biết đến với tên gọi “Policy – Based Management”. Framework này hỗ trợ bạn thiết lập các chính sách trên các đối tượng khác nhau và sau đó các policy này sẽ được thực hiện tự động hoặc là thủ công, để ngăn chặn các thay đổi vi phạm chính sách. Việc quản lí trở nên rất đơn giản thông qua công cụ SQL Server Management Studio, hoặc bạn có thể xây dựng các bộ mã nguồn của riêng mình trong việc quản lí các chính sách. Chúng ta hãy bắt đầu từ đầu.
Framework này hỗ trợ chúng ta quản lí một cách dễ dàng và tiên phong trong việc quản lí các chính sách khác nhau, sắp xếp 1 dãy từ việc bảo mật dữ liệu đến việc quản lí siêu dữ liệu. Và được thực hiện bằng 2 cách:
  • Hỗ trợ việc giám sát các thay đổi với các chính sách đã được thiết lập, tùy chọn này cho phép việc kiểm tra các chính sách một cách thủ công, kiểm tra các chính sách theo thời khóa biểu, ghi nhận các thay đổi của chính sách và các truy xuất bất hợp pháp.
  • Cho phép quản lí một hay nhiều instances của SQL Server trêng 1 server hay thông qua nhiều server.
Bạn có thể thiết lập ngay lập tức các chính sách quản lí cho sql server của bạn dựa trên các đặc tả hệ thống và ngăn chặn các thay đổi với các chính sách này, và ghi nhận lại các truy xuất bát hợp pháp vào trong server, vi phạm chính sách quản lí đã được thiết lập. Khả năng ngăn chặn các thay đổi phụ thuộc vào các tính năng, các khía cạnh khác và tùy thuộc vào chính sách mà bạn đã thiết lập.  Ví dụ, nếu như bạn muốn xp_cmdshell không bao giờ được bật trên bất cứ server nào được bạn quản lí, bạn có thể thiết lập chính sách kiểm tra việc này, và khi có thay đổi sẽ thông báo đến bạn,,  đồng thời được ghi nhận lại, thậm chí là bạn có thể tiến hành kiểm tra theo thời kóa biểu đã được thiết lập, nhưng bạn không thể ngăn chặn các thay đổi này một cách hoàn toàn tự động. Khả năng ngăn chặn các thay đổi rất đa dạng, phụ thuộc vào từng khía cạnh của bài toán.
Policy – Based Management in SQL Server  Management Studio
Việc thực hành tạo và áp các chính sách một cách dễ dàng với SQL Server Management Studio. Việc quản lí dựa trên các chính sách dễ dàng bị truy xuất bởi Policy Management trong Objects Explorer, như trong hình sau
1
Trong Objects Explorer, bạn dễ dàng tìm thấy được 3 items cơ bản là: Policies, Conditions, and Facets. Tuy không hiển thị ra ngoài, nhưng Policy Access Management có thể được truy xuất bằng cách phải chuột trên Policy Management của Object Explorer và chọn Manage Categories. Nhưng chúng ta sử dụng các chức năng này như thế nào? Bạn đừng lo, chúng ta sẽ đi sâu hơn vào trong các phần sau.
2
Policy – Based Management Objects
Policy – Based Management dùng nhiều đối tượng khác nhau để quản lí chính sách như: facets, conditions, policies, targets và categories.
Facets – các khía cạnh, tác vụ trong việc quản lí SQL Server Management
Facets là đơn vị trong framework. Facets là một loại đối tượng, như tính năng Surface Area, server, logon, database, user và một số vấn để khác. Mỗi facet là một tập các thuộc tính được định nghĩa trước áp vào các điều kiện được thiết lập.
Trong phiên bản CTP của SQL Server 2008, có tổng cộng 47 facets, với tổng cộng hơn 1492 thuộc tính. Bộ công cụ SQL Server Management Studio bao gồm một danh sách các facets dưới node FACETS trong Objects Explorer (Tìm thấy dưới Management\Policy Management).
image 
Nếu như bạn muốn xem danh sách các thuộc tính của mỗi facets, bạn hãy mở Properties của mỗi facet. Nếu như muốn xem nhanh danh sách và các thuộc tính của mỗi facet, bạn có thể dùng SQL Server Management Objects (SMO) để lặp qua các facets hiện hữu và các thuộc tính tương ứng như sau:
Facets – bản chất không thể tự đưa vào ứng dụng các Policies. Chúng được dùng bởi Conditions, để định nghĩa các Rules bạn cần và áp đặt vào các database, servers, hoặc các đối tượnng khác mà policies cần kiểm tra, giám sát.
Conditions – các điều kiện trong quản lí của SQL Server
Condition là một biểu thức  xác định trạng thái của một facet. Việc đặc tả một điều kiện bằng cách thiết lập các thuộc tính cho facet, các toán tử so sánh, và giá trị. Mội thuộc tính điều kiện trạng thái được thiết lập riêng cho từng loại dữ liệu  đặc trưng. Ví dụ, thuộc tính Name của facet Store Procedure thuộc kiểu dữ liệu String và ta có toán tử điều kiện là “bằng” (=), “không bằng” (!=), LIKE, NOT LIKE, IN, hoặc NOT IN, và có thể được so sánh với một String khác hay một danh sách các String. Thuộc tính SQL Mail của Surface Area facet có kiểu dữ liệu là Boolean, và chỉ có toán tử bằng và không bằng, đồng thời chỉ có tập giá trị là True và False.
Ngoài ra, một condition có thể chỉ gồm 1 thuộc tính của 1 loại facet đơn lẻ. Ví dụ, bạn có thể tạo một condition với state như sau “SQL Mail is disable and Database Mail is disable” bởi vì các thuộc tính này là thành phần của Surface Area facet. Bạn không thể tạo 1 condition cho 2 thuộc tính thuộc 2 facets khác nhau. Ví dụ như “Store Procedure Names must begin with ‘pr’ and xp_cmdshell is disable”. (2 facets đó là Store Procedure và Surface Area).
Bạn có thể tạo nhiều conditions cho cùng một facet, tuy nhiên việc làm này không nên làm cho 1 server, vì 1 trong 2 conditions sẽ ko có tác dụng. Ví dụ như bạn có thể tạo 2 conditions sau “SQL Mail is disable and Database Mail is disable” và “SQL Mail is enable and Database Mail is disable” cho cùng facet Surface Area.
SQL Server 2008 với một tập các conditions đựoc định nghĩa trước, bạn có thể sử dụng ngay lập tức. Ví dụ một condition có tên là Auto Shrink Disable – được sử dụng bởi một policy để đảm bảo rằng database không  được bật tùy chọn Auto Shrink.
Như mình đã trình bày ở phần trên, các bạn có thể thiết lập nhiều thuộc tính cho cùng một condition, một condition đa thuôc tính được thiết lập thông qua các toán tử OR, AND, …
Policies – các chính sách quản lí
Một policy kết hợp với một điều kiện với mục đích thúc đẩy hoặc kiểm tra điều kiện trên một hoặc nhiều server. Excution Mode của Policy xác định cách mà một policy được đưa vào thực hiện như thế nào. Excution Mode có 4 giá trị:
  • On Demand: Không kiểm tra hay thực hiện Policy. Chế độ này dùng là chế độ kiểm tra policy một cách thủ công.
  • On Schedule: Kiểm tra policy theo thời khóa biểu và tự động log thông tin lại khi có sự vi phạm policy
  • On Change – Log Only: Kiểm tra policy bất  khi nào có sự thay đổi thuộc tính liên quan của facet và log lại thông tin nếu như có sự vi phạm
  • On Change – Prevent: Kiểm tra policy bất cứ khi nào có sự thay đổi thuộc tính liên quan của facet và log lại thông tin, không chấp nhận sự thay đổi.
Tất cả policies đều có excution mode là On Demand hoặc On shedule. Nhưng chỉ một ít, có thể thiết lập giữa On Change – Log Only hoặc On Change – Prevent. Thiết lập cấu hình của Excution Mode thuộc một Policy được xác định bởi Condition cơ bản của Facet tương ứng. Thuộc tính của facet tương ứng có thể không cho phép bất cứ sự thay đổi nào. Bất cứ facet nào được kiểm tra bị log lại chỉ khi nào thay đổi đó vi phạm policy, hoặc là được check theo thời khóa biểu đã được thiết lập trước.
Target Sets
Conditions là nền tảng của việc thực hiện các Policies,ngoài ra còn được dùng trong các filter policies thông qua các target sets. Một target sets bao gồm một hay nhiều đối tượng trong cây phân cấp đối tượng, ví dụ như database, table, và conditions có nhiệm vụ lọc các đối tượng này khi policies tiến hành kiểm tra.
Tronng việc sử dụng target sets, ta liên kết với các conditions trong việc kiểm tra, ta có thể dùng các loại khác nhau của facets cơ bản của cùng một policy, thông qua việc dùng một condition để kiểm tra từng cấp độ một trong cây phân cấp các đối tượng.
Policy Category
Policy Category có chức năng nhóm các policies lại với nhau và hiện thực việc kiểm tra của các policy hoặc có thể cho phép các nhà quản trị database khả năng đặc tả tùy chọn tập các policy. Một policy thuộc về một policy category do người dùng định nghĩa hoặc là Category mặc định. Các policy Categories có thể được tạo khi định nghĩa một policy và được quản lí thông qua Manage Policy Categories Dialog Box.
Ta có thể tạo và enable một tập các policies, nhóm chúng lại trong một Policy Category và force cho toàn bộ các database để thực hiện các policies này. Nếu bạn không đưa một policy vào trong một Policy Category thì mặc định policy này sẽ được đưa vào trong Default Category. Đặc điểm của Default Category là không thể thay đổi một cách tùy ý các tùy chọn. Nếu như bạn áp 1 loạt các policy cho một loạt các database, nhưng có 1 database đặc biệt có tùy chọn khác với các databse khác thì bạn phải đưa policy này vào một category khác với Default Category và tùy chỉnh lại cấu hình.

Nhận xét

Bài đăng phổ biến từ blog này

Kinh nghiệm tạo biểu đồ Use Case

PHÉP TOÁN XOR

Phần mềm hỗ trợ vẽ bản đồ tư duy trên máy tính

Power Designer 12.5