Xin hoi ve OLAP trong SQL Server 2000 [Archive] – Diễn Đàn Tin Học

View Full Version : Xin hoi ve OLAP trong SQL Server 2000

dq_ninh

Hay thì luôn luôn là hay. Chỉ nguyên cái việc dịch thuật được những danh từ kỹ thuật của OLAP qua tiếng Việt cũng là quá hay rồi.

Nhưng dù sao, bài viết này cũng chỉ dịch thuật ra những khái niệm rất căn bản của OLAP thôi, và nếu chỉ đọc không mà không thực hành được thì những điều đọc được trên bài viết này, dẫu có học thuộc lòng đi nữa, cũng sẽ trở thành những khái niệm rất mơ hồ, không thực tế.

Điều quan trọng nhất trong việc học và trau dồi khả năng trong ngành IT là phải “học bằng thí dụ” (Learn by Example). Tức là tìm những bài viết có thí dụ, có biểu mẫu, rồi lập tức thực hành bằng cách cấu tạo những bảng, viết (hoặc copy and paste) lại những source đã được đưa ra trong thí dụ, rồi chạy thử xem kết quả ra sao. Tức là học và thực hành ngay một lúc.

Tài liệu của Microsoft MSDN có nhiều thí dụ về OLAP, chẳng hạn như những links dưới đây:

http://msdn.microsoft.com/en-us/library/aa140038(office.10).aspx#odc_da_whatrcubes_topic5
http://msdn.microsoft.com/en-us/library/aa155448(office.10).aspx
http://msdn.microsoft.com/en-us/magazine/cc164070.aspx
http://msdn.microsoft.com/en-us/library/ms175609(SQL.90).aspx

Tuy nhiên, theo kinh nghiệm thực tiễn của tôi, OLAP là một chiếc xe buýt đã lỗi thời và chạy hì hà hì hục. OLAP được sáng tác bởi một nhóm lập trình viên tại Do Thái, được viết bởi VB và ODBC cho nên rất chậm và có nhiều giới hạn. Khi CSDL lên khoảng 100 GB, hoặc Pivot table có hơn 64,000s record thì lập trình gia bắt đầu khủng hoảng vì những cú gọi khủng bố triền miên của khách hàng vì lập trình không còn chạy được nữa.

Tôi đã viết hai lập trình: AppAnalyzer (http://www.sirana.com/products/appanalyzer/) và Analysis Center (http://www.netiq.com/products/nac/default.asp), và không thể nào quên được những “hãi hùng” của nó khi khách hàng gọi điện thoại tới tấp vì lập trình không thể trường trình được nữa khi CSDL lớn trên 100GB. Lúc bắt đầu, khi CSDL còn nhỏ thì OLAP chạy tốt, khách hàng khoái chí vì những bảng tường trình đẹp đẽ đầy đủ chi tiết. Nhưng hỡi ơi….

Sau này, version 3.0 của AppAnalyzer đã được loại bỏ OLAP và chỉ dùng SQL store procedures.

Lời khuyên của tôi cho bất cứ một công ty nào muốn áp dụng OLAP: KHÔNG! KHÔNG! KHÔNG!

Thay vào đó, nên dùng những món ăn chơi khác như Crystal Report, SQL Reporting Service, v.v…

Tuy nhiên, đó là kinh nghiệm của tôi về OLAP với SQL 2000. Micrsoft đã cải thiện nhiều (theo lời của mấy chàng tiếp thị) cho OLAP cho SQL 2005, SQL-2008. Cái khủng hoảng của 64,000 records giới hạn không còn nữa (cũng theo lời tiếp thị). Tuy nhiên, tôi là một con chim bị tên, thấy cành cong thì hãi hùng không tưởng. Hơn nữa, tại sao tôi phải tốn thời gian thiết kế OLAP, khi tôi có thể dùng stored procedures để lấy một bảng kết quả như mong muốn với một tốc độ xử lý mau chóng hơn?