Thứ Hai, 18 tháng 8, 2014

Phân tích Purchasing trong Bán lẻ

Phân tích Purchasing trong Bán lẻ


Đối với ngành Retail, việc phân tích và tối ưu hóa quy trình mua hàng là hết sức cần thiết và là yếu tố thiết yếu để thúc đẩy việc quản lý hàng bán ra kịp thời cũng như hàng tồn được giải quyết triệt để.
Dưới đây là các yếu tố cơ bản cần phân tích đối với lĩnh vực Purchasing như sau:
Về chiều phân tích (Dimension):

  • Đầu tiên là về sản phẩm nào cần mua (Product)
  • Mua từ nhà cung cấp nào (Vendor)
  • So sánh giá của những nhà cung cấp khác nhau (Price)
  • Phương thức thanh toán như thế nào (Payment)
  • Phương thức giao hàng ra sao (Delivery)
  • Có những kênh nào để lựa chọn mua hàng (Channel)
  • Theo dõi nhà cung cấp đó có giao đúng thời gian hay không (Late)
  • Khi mua hàng có phải đặt tiền cọc trước hay không (Prepayment)
  • Tình trạng đơn mua hàng hiện tại ra sao (Status)
  • Hàng hóa khi giao có bị trả lại hay không (Return)
  • Hay nhà cung cấp có chương trình giảm giá hay không (Discount)

Về các Measure cần phân tích: 
Sử dụng các Dimension đã có sẽ tách ra các hướng phân tích để lên report như sau:

  • Thời gian cần phân tích (Time)
    • Thời gian theo kế hoạch (Target)
    • Thời gian trong năm/quý/tháng/tuần/ngày hiện tại (Current)
    • Thời gian của năm/quý/tháng/tuần trước (Last)
    • Thời gian lũy kế tính từ đầu năm/quý/tháng tính đến hiện tại (Accumulation)
  • Tổng số tiền mua hàng là bao nhiêu (Amount)
  • Tổng tiền cần thanh toán trước cho nhà cung cấp là bao nhiêu theo (Prepayment)
    • Ngày (Date)
    • Số tiền (Amount)
  • Tình trạng hóa đơn mua ảnh hưởng thế nào (Status)
  • Số lượng hàng hóa được giao có đủ quy định (Quantity)
  • Chất lượng hàng hóa được giao như thế nào (Quality)
  • Bao nhiêu đơn hàng được giao theo (Late)
    • Đúng thời hạn (Ontime)
    • Trễ bao nhiêu ngày, bao nhiêu lần (Days/Times)
    • Giao sớm
  • So sánh giá của từng nhà cung cấp, và giá đó có đính kèm (Price)
  • Thuế (VAT)
  • Giảm giá, chiết khấu (Discount)
  • Chi phí giao hàng (Delivery Cost)
  • Đánh giá nhu cầu cần mua hàng của doanh nghiệp (Demand)
  • Bao nhiêu hàng bị trả lại và lý do (Return)
    • Lượng hàng bị trả lại (Quantity)
    • Lý do trả lại (Reasion): Hàng lỗi, hàng vỡ, sai quy định...
  • Lập KPIs để theo dõi đơn hàng và nhà cung cấp

~~~Mai Huynh~~~

Thứ Sáu, 6 tháng 6, 2014

CÁC LOẠI BẢNG FACT TRONG DATA WAREHOUSE

CÁC LOẠI BẢNG FACT TRONG DATA WAREHOUSE

Một bảng sự kiện (fact table) là một bảng gồm các phép đo (measure), số liệu (metrics) hoặc sự kiện (fact) của quy trình kinh doanh (business process). Những giá trị định lượng này được sử dụng để biết được business value của doanh nghiệp và để dự báo kinh doanh trong tương lai của doanh nghiệp đó.
Các loại bảng fact khác nhau được phân loại như sau:
  • Additive:
Additive fact là những sự kiện được tóm tắt qua tất cả các Dimension trong bảng Fact. Nghĩa là tất cả các Dimension cần phân tích đều được thể hiện trong bảng Fact. Bảng Sales_Fact là một ví dụ tốt cho loại Additive fact.

  •         Semi-Additive: 
Semi-Additive fact là những sự kiện có thể được tóm tắt cho một số Dimension trong bảng Fact chứ không phải là những bảng khác. Ví dụ như Inventory_Daily_Fact được tóm tắt thông qua Store_Dimension chứ không phải là Time_Dimension như Sales_Fact.


  •        Non-Additive:
Non-Additive fact là những bảng sự kiện không được tóm tắt cho bất kỳ Dimension hiện tại nào trong bảng Fact.
Ví dụ như bảng Fact tính toán phần trăm, tỉ lệ.


  •      Factless Fact Table:
Trong thực tế, có thể có một bảng Fact mà không chứa phép đo (measure) hay sự kiện (fact) nào. Các bảng đó được gọi là “Factless Fact tables”.

Ví dụ: Một bảng Fact mà chỉ có mã sản phẩm và khóa ngày (Product_key & Date_key) là factless fact. Rõ ràng là không hề có measure nào trong bảng này. Nhưng nhìn vào bản này có thể thống kê (đếm) được có bao nhiêu sản phẩm bán ra trong một khoảng thời gian.

***Tóm lại, một bảng Fact bao gồm các sự kiện tổng hợp thường được gọi là bảng tóm tắt (Summary tables).

~~~Mai Huynh~~~

Thứ Năm, 29 tháng 5, 2014

Cái chết oan ức của chim ưng

 

CÁI CHẾT OAN ỨC CỦA CHIM ƯNG


Mờ sáng hôm ấy, Đại Hãn - vị hoàng đế vĩ đại trên thảo nguyên Mông Cổ cùng những chiến tướng vào rừng đi săn. Khu rừng mọi hôm yên ắng, hôm nay bỗng rộn lên tiếng người cười nói, tiếng vó ngựa, tiếng chó sủa… Trên cổ tay Đại Hãn ngất nghểu con chim ưng mà ông rất mực yêu quý.

Vào thời đó, chim ưng được huấn luyện để đi săn. Chỉ cần nghe hiệu lệnh của chủ nhân là con chim bay vút lên cao nhìn dáo dác xung quanh tìm kiếm con mồi. Nếu phát hiện thấy nai hoặc thỏ, nó sẽ lao xuống như tên bắn và vồ chặt chúng. Mặt trời bắt đầu khuất dần sau các dãy núi nhưng Đại Hãn và đoàn tùy tùng vẫn chưa săn được nhiều con mồi như mong đợi.

Nóng lòng, Đại Hãn thúc ngựa vượt lên phía trước tách khỏi đoàn. Ông đã quá quen thuộc với khu rừng này. Trong khi mọi người tiếp tục đi theo con đường cũ thì ông lại chọn con đường xa hơn, chạy xuyên qua thung lũng giữa 2 dãy núi.

Sau nhiều giờ quần thảo trên ngựa dưới sức nóng của buổi chiều hè, hoàng đế bắt đầu cảm thấy khát nước. Con chim ưng vụt khỏi cổ tay ông và lao vút đi, ông tin là nó sẽ tìm được đường quay về. Chợt ông thấy có nước rỉ ra từ một ghềnh đá. Đại Hãn xuống ngựa, lấy từ trong túi săn một cái cốc nhỏ bằng bạc rồi bước đến hứng những giọt nước đang rỉ ra.

Ông kiên nhẫn và biết rằng phải lâu lắm cốc nước mới đầy. Miệng ông khát đắng nên không kịp chờ nước đầy ly, ông vội đưa ngay lên miệng chuẩn bị uống. Bất thình lình, một âm thanh vút lên từ trên không và một vật xẹt ngang tay ông, chiếc ly rơi xuống đất. Thì ra đó là con chim ưng yêu quý của ông. Con chim ưng bay tới bay lui thêm vài lần rồi buông cánh đậu giữa các vách đá bên khe nước.


Đại Hãn nhặt chiếc ly lên và một lần nữa đưa vào hứng lại từng giọt. Lần này ông không đợi lâu hơn. Khi hứng được gần nửa ly, ông nâng ly lên miệng nhưng trước khi chiếc cốc chạm vào môi, con chim ưng lại bay vụt xuống và làm rớt ly nước khỏi tay ông. Đại Hãn bắt đầu nổi giận. Ông tiếp tục lần nữa và lần thứ ba con chim ưng lại đánh đổ ly nước. Đại Hãn vô cùng giận dữ, hét lớn:

- Con vật khốn kiếp kia, sao ngươi dám làm như thế?

Đừng để ta bắt được ngươi, không thì ta sẽ vặn cổ ngươi đó! Và rồi ông hứng lại ly nước khác. Lần này trước khi đưa lên miệng uống, ông rút gươm cầm trên tay.

- Nào, đây là lần cuối cùng ta chịu đựng ngươi đó!

- Đại Hãn nóng giận hét lên thành lời. Gần như ông vừa dứt hết câu, con chim lao nhanh xuống và hất mạnh ly nước. Giờ đây, nhà vua không tha thứ được nữa. Một lằn sáng vút lên và thanh gươm của ông chém trúng con chim.

Con chim đáng thương nằm quằn quại và giẫy chết dưới chân chủ nhân nó. Không chút xót thương, Đại Hãn gằn giọng:

- Cái chết thật xứng đáng với tội láo xược của nhà ngươi.

Khi phát hiện chiếc ly bị rơi vào giữa 2 tảng đá và ông không thể với lấy nó được, ông tự nhủ ‘Ta sẽ uống nước tại con suối’. Và ông bắt đầu leo lên sườn đá dốc, ngược theo dòng nước chảy để lần đến con suối.

Khi đến nơi, con suối mà ông nghĩ thực ra chỉ là một vũng nước nhỏ, nhưng vật nằm trong đó đã làm nước trào hẳn ra ngoài. Và chính vật này khiến Đại Hãn hoảng sợ thật sự: Một con rắn lớn, nổi tiếng là loài cực độc, đang nằm chết rữa giữa vũng nước. Đại Hãn đứng khựng lại, quên cả cơn khát cháy cổ.

Ông đau đớn khi nghĩ đến hành động vừa rồi của mình, cơn tức giận nhất thời đã khiến ông vung gươm giết chết con chim yêu quý - chỉ vì nó muốn cứu mạng ông. Kể từ đó, hình ảnh con chim ưng giẫy chết trong vũng máu luôn nhắc nhở ông đừng bao giờ hành động điều gì trong cơn tức giận.

(ST)

Thứ Hai, 26 tháng 5, 2014

THIẾT KẾ LUẬN LÝ VÀ VẬT LÝ CỦA KHO DỮ LIỆU

THIẾT KẾ LUẬN LÝ VÀ VẬT LÝ CỦA KHO DỮ LIỆU

Thiết kế luận lý – Logical Design:

Thiết kế luận lý thể hiện các mối quan hệ (relationship) giữa các đối tượng. Kỹ thuật mô hình thực thể và mối kết hợp (ER: Entity – relationship) có thể được sử dụng cho các thiết kế luận lý của Kho dữ liệu. Mô hình ER liên quan đến việc xác định các thực thể - entities (đối tượng quan trọng), thuộc tính – attributes (các thuộc tính về đối tượng) và các mối quan hệ - relationship giữa chúng. Hình bên dưới là một ví dụ về thiết kế luận lý – mô hình ERD
ERD for Northwind
ERD for Walmart


Một thực thể là một đoạn thông tin mà ánh xạ (map) đến một bảng – table trong Cơ sở dữ liệu. Một thuộc tính là một phần của một thực thể mà được ánh xạ đến một cột – column trong Cơ sở dữ liệu.
Một định danh duy nhất (unique identifier) được sử dụng để đảm bảo dữ liệu phù hợp và không bị trùng lắp.

Thiết kế vật lý – Physical Design:

Thiết kế vật lý thể hiện phương thức hiệu quả để lưu trữ và lấy dữ liệu. Trong thiết kế vật lý, thiết kế luận lý cần được chuyển đổi thành một mô tả của các cấu trúc cơ sở dữ liệu vật lý. Hay nói cách khác, thiết kế vật lý tác động đến môi trường vật lý của dữ liệu, và được chuyển hóa từ cấu trúc của thiết kế luận lý trước đó. Tương tự như hình sau:
DW for Northwind
DW for Walmart


Thiết kế vật lý liên quan đến việc tạo ra các đối tượng cơ sở dữ liệu như bảng – table, cột – column, chỉ mục – index, khóa chính – primary key, khóa ngoại – foreign key, quan điểm – view, sequence – trình tự, phân vùng – partition…
Cuối cùng, hình sau sẽ khái quát hơn về thiết kế luận lý và vật lý:

~~~MH~~~

Thứ Bảy, 17 tháng 5, 2014

Chương 2. Kiến trúc kho dữ liệu


Chapter 2: Kiến trúc kho dữ liệu

1. Kiến trúc 1 tầng


-       Kiến trúc 1 tầng không qua bước ETL
-       Người dùng cuối truy xuất dữ liệu từ các hệ thống xử lý nghiệp vụ thông qua kho dữ liệu
-       Mức kho dữ liệu có nhiệm vụ tổng hợp dữ liệu từ các hệ thống xử lý nghiệp vụ mà không qua bước ETL

2. Kiến trúc 2 tầng


-       Kiến trúc 2 tầng có bước chuyển dạng và tích hợp
-       Bước 1: Lấy dữ liệu từ các hệ thống nguồn khác nhau
-       Bước 2: Chuyển dạng và tích hợp các dữ liệu từ các hệ thống nguồn khác nhau trước khi đưa vào kho dữ liệu
-       Bước 3: Kho dữ liệu là một cơ sở dữ liệu chỉ đọc. Tổ chức kho dữ liệu để hỗ trợ quyết định. Kho dữ liệu chứa cả dữ liệu tổng hợp và dữ liệu chi tiết.
-       Bước 4: Người sử dụng truy xuất kho dữ liệu bằng các phương tiện khác nhau như công cụ phân tích và ngôn ngữ truy vấn.

3. Kiến trúc 3 tầng


-       Kiến trúc 3 tầng có bước ETL, phân theo chủ đề Data mart
-       Với kiến trúc 3 tầng, dữ liệu được làm sạch, xử lý để đưa vào kho dữ liệu
-       Kho dữ liệu phân ra thành những kho dữ liệu theo chủ đề(Data mart), đây là việc cần thiết cho những ứng dụng hỗ trợ ra quyết định theo từng nhóm người sử dụng.

4. Hệ hỗ trợ ra quyết định


Hệ hỗ trợ ra quyết định mức tổng quát gồm 3 tầng:
-       Tầng 1: Kho dữ liệu
-       Tầng 2: Hệ quản trị OLAP: ROLAP, MOLAP, HOLAP
-       Tầng 3: Tầng người dùng hỗ trợ các công cụ truy vấn, báo cáo, phân tích, khai phá dữ liệu
Chức năng:
-       Hệ hỗ trợ ra quyết định giúp những người lãnh đạo, quản lý và phân tích làm việc hiệu quả hơn
-       Hỗ trợ cho việc ra quyết định trong quản lý, kinh doanh một cách có hiệu quả và nhanh chóng

5. Phân tích kiến trúc 3 tầng



5.1 Operational Source Systems


-       Các nguồn dữ liệu thường nằm trong hệ thống xử lý giao dịch trực tuyến OLTP(On-Line Transaction Processing), hay còn gọi là TPS(Transaction Processing Systems)
-       Hiệu suất và tính sẵn sàng ở mức độ cao
-       Thường truy vấn một bảng ghi tại một thời điểm(one-record-at a time), có thể hiểu là truy vấn tại một thời điểm nhất định
-       Đây là hoạt động thông thường của các tổ chức
-       Với một hệ thống OLTP thì đáng tin cậy và phù hợp, nhưng giữa các hệ thống OLTP khác nhau thường có những xung đột nhất định
-       Các loại định dạng dữ liệu và cấu trúc dữ liệu khác nhau trong các hệ thống OLTP khác nhau

Theo giả định của Kimball và cộng sự thì:
-       Hệ thống nguồn không được truy vấn rộng và đột xuất
-       Duy trì dữ liệu lịch sử rất ít(dữ liệu quá khứ, hiện tại…)

5.2 Data Staging Area


-       Thường là phần phức tạp nhất trong kiến trúc, và liên quan đến:
o   Extraction (E - Trích xuất)
o   Transformation (T – Chuyển đổi)
o   Load (L – Tải)
o   Indexing (lập chỉ mục)

-       Công cụ ETL (ETL – tools) có thể được sử dụng
-       Kịch bản cho trích xuất, chuyển đổi và tải được thực hiện

Extraction:

-       Có nghĩa là đọc và hiểu các nguồn dữ liệu và sao chép các dữ liệu cần thiết cho kho dữ liệu vào khu vực trung gian (Staging Area) cho thao tác tiếp theo: thao tác chuyển đổi

Transformation:

-       Chuyển dạng/chuyển đổi dữ liệu (ghi rõ quy tắc chuyển đổi để chuyển sang định dạng dữ liệu phổ biến và thuật ngữ phổ biến)
-       Làm sạch dữ liệu
o   Làm kỹ dữ liệu (sử dụng kiến thức tên miền cụ thể, ví dụ: địa chỉ bưu chính để kiểm tra dữ liệu)
o   Kiểm toán dữ liệu (khám phá mẫu nghi ngờ, phát hiện hành vi vi phạm các quy định đã nêu ra)
-       Kết hợp dữ liệu từ nhiều nguồn khác nhau
-       Gán vào kho
-       Tập hợp dữ liệu

Load:

-       Tải dữ liệu vào kho dữ liệu

5.3 Data Presentation Area


5.3.1     OLAP là gì?

-       Viết tắt của On-Line Analytical Processing – Xử lý phân tích trực tuyến
-       Là một hệ thống hỗ trợ ra quyết định (DSS) có hỗ trợ truy vấn, cho phép các nhà quản lý và các nhà phân tích tương tác xử lý dữ liệu.
-       Giúp người dùng dễ dàng và nhanh chóng thao tác và hình dung dữ liệu thông qua tầm nhìn đa chiều, tức là các quan điểm khác nhau.



5.3.2      Mô hình đa chiều so với Mô hình dạng chuẩn 3



Mô hình dạng chuẩn 3:

-       Một kỹ thuật thiết kế luận lý, loại bỏ dữ liệu dư thừa để giữ sự nhất quán và hiệu quả lưu trữ, làm cho giao dịch đơn giản
-       Mô hình ER cho doanh nghiệp thường phức tạp. Ví dụ như họ thường có hàng trăm, thậm chí hàng nghìn thực thể/bảng

Mô hình đa chiều:

-       Một kỹ thuật thiết kế luận lý các dữ liệu hiện tại một các trực quan, tức là dễ dàng hơn để điều hướng cho người dùng
-       Cho phép truy cập/truy vấn hiệu suất cao (độ phức tạp của mô hình chuẩn 3 lấn át các hệ thống cơ sở dữ liệu tối ưu, có nghĩa là hiệu suất kém)
-       Mục tiêu của mô hình dữ liệu hỗ trợ ra quyết định

5.3.3     Data marts


-       Data mart là kho dữ liệu có chủ đề
-       Dạng thu nhỏ của kho dữ liệu, chia kho dữ liệu thành các kho nhỏ khác nhau. Ví dụ: Bán hàng, Nhân sự, Tài chính…
-       Một mô hình đa chiều có kho dữ liệu lớn thường bao gồm 10-25 data mart. Mỗi data mart sẽ có 5-15 bảng chiều.
-       Data mart có lượng dữ liệu rất nhỏ, các nguồn dữ liệu ít hơn
-       Dữ liệu dễ dàng hơn cho quá trình làm sạch, roll-out nhanh hơn
-       Cho phép tiếp cận “trọn vẹn” với những vấn đề tích hợp rất lớn liên quan đến việc tạo ra mô hình dữ liệu rộng cho doanh nghiệp

Data mart độc lập và phụ thuộc


5.3.4     ROLAP/MOLAP servers

Extended Relational DBMS (ROLAP Servers)

-       Dữ liệu được lưu trữ trong RDB (Relational DB)
-       Lược đồ hình sao
-       Hỗ trợ phần mở rộng SQL
-       Cấu trúc chỉ mục

Multidimensional DBMS (MOLAP Servers)

-       Dữ liệu được lưu trữ theo mảng (mảng n chiều)
-       Truy cập trực tiếp đến cấu trúc dữ liệu mảng
-       Thuộc tính chỉ mục tối ưu
-       Sử dụng lưu trữ kém, đặc biệt là khi các dữ liệu thưa thớt

5.4 Metadata Respository – kho lưu trữ siêu dữ liệu



Metadata – dữ liệu của dữ liệu/thông tin về dữ liệu. Chức năng chính:

-       Định nghĩa dữ liệu
-       Nguồn gốc của dữ liệu
-       Cấu trúc của dữ liệu
-       Quy tắc cho việc lựa chọn và chuyển dữ liệu
-       Dữ liệu định tính và định lượng về dữ liệu

Nguồn hoàn chỉnh tích hợp của metadata:

-       Là trung tâm của kiến trúc kho dữ liệu
-       Hỗ trợ các nhu cầu thông tin của:
o   System developers
o   Data adminstators
o   System administrators
o   Users
o   Applications on the data warehouse
-       Cấu trúc dữ liệu rất phức tạp
-       Phải có lịch sử phiên bản đầy đủ
-       Luôn luôn được cập nhật

Metadata life cycle activities – hoạt động chu kỳ siêu dữ liệu

-       Thu thập
o   Xác định và nắm bắt siêu dữ liệu trong một kho lưu trữ trung tâm
-       Bảo trì
o   Thiết lập quy trình để đồng bộ hóa siêu dữ liệu với cấu trúc dữ liệu thay đổi
-       Triển khai
o   Cung cấp siêu dữ liệu cho người dùng với mẫu và công cụ đúng

Phân loại siêu dữ liệu

-       Adminstrative metadata

o   Gồm các thông tin cần thiết cho việc thiết lập và sử dụng một DW
o   Ví dụ: thông tin về CSDL nguồn, lược đồ DW, chiều, cấp bậc, kịch bản trích xuất, chuyển đổi, tải…

-       Business metadata

o   Điều kiện và định nghĩa kinh doanh, quyền sở hữu dữ liệu

-       Operational metadata

o   Thông tin thu thập được trong quá trình hoạt động  của DW
o   Ví dụ như thống kê sử dụng, báo cáo lỗi

5.5 End User Applications


-       OLAP tools, BI apps, DSS
-       Query/Reporting tools
-       Data mining




Chức năng của công cụ OLAP

-       Drill-down
-       Drill-up/Roll-up/Consolidate
-       Drill-across
-       Slicing and Dicing
-       Pivoting
-       Ranking

Business Intelligence (BI) apps

-       Strategic

o   Who: Strategic leaders
o   What: xây dựng chiến lược và giám sát hoạt động của công ty
o   Examples: bảng cân đối, kế hoạch chiến lược

-       Operational

o   Who: Operational managers
o   What: thực hiện mục tiêu chiến lực
o   Examples: ngân sách, phân tích dự báo bán hàng

-       Analytical

o   Who: analysts, knowledge, worker, controller
o   What: ad-hoc analyis
o   Examples: phân tích tài chính và bán hàng, phân khúc khách hàng…

Problems of Data Warehousing

-       Sự phức tạp của tích hợp

o   Vấn đề tiềm ẩn với hệ thống nguồn
o   Đồng nhất dữ liệu
o   Đánh giá thấp tài nguyên cho việc tải dữ liệu

-       Dữ liệu yêu cầu không lấy được
-       Bảo trì cao

-       Các dự án trong thời gian dài

*****MH*****

Thứ Bảy, 12 tháng 4, 2014

Các loại lược đồ của Kho dữ liệu

DATA WAREHOUSE DIMENSIONAL MODELLING (TYPES OF SCHEMAS)

< Các loại lược đồ của Kho dữ liệu >


Có 4 loại lược đồ có sẵn trong Kho dữ liệu. Trong đó các lược đồ hình sao chủ yếu được sử dụng trong các mẫu thiết kế kho dữ liệu. Các lược đồ kho dữ liệu chủ yếu được sử dụng sau lược đồ hình sao đó là lược đồ bông tuyết.

***STAR SCHEMA***

Một lược đồ hình sao gồm 1 bảng Fact (bảng sự kiện) nằm ở trung tâm và được bao quanh bởi những bảng Dimension (bảng chiều).  Dữ liệu của lược đồ hình sao không được chuẩn hóa. Các câu hỏi nhằm vào bảng Fact và được cấu trúc bởi các bảng Dim.

Ưu điểm: Fact và Dim được mô tả rõ ràng, dễ hiểu. Bảng Dim là dữ liệu tĩnh. Bảng Fact là dữ liệu động, được nạp vào bằng thao tác. Lược đồ hình sao còn giúp cải thiện hiệu suất truy vấn. Dễ sử dụng, trực quan là ưu điểm của lược đồ hình sao. Khóa của Fact được tạo bởi khóa của các bảng Dim. Nghĩa là khóa chính của các bảng Dim chính là khóa của bảng Fact như hình vẽ.
Khuyết điểm: Các chiều không được chuẩn hóa.
Ví dụ: Như hình vẽ chúng ta có các bảng Dimension (bảng chiều) là Time, Store , Product và bảng Fact (bảng sự kiện) . Các bảng Dim thể hiện các trường hợp mà chúng ta cần phân tích như thời gian nào, cửa hàng nào, sản phẩm nào. Lưu ý, một bảng Dim tiên quyết mà khi xây dựng Data Warehouse phải có đó là Time. Còn bảng Sales Facts thể hiện cái gì mình cần phân tích như bao nhiêu Units, bao nhiêu Dollars. Từ 4 bảng nào ta lấy được gì? Ví dụ ông sếp muốn biết sản phẩm nào của siêu thị Coop Cống Quỳnh đem lại doanh thu cao nhất vào tháng 4/2014. Thì chúng ta lấy ở đâu? Tháng 4/2014 lấy từ Time Dim. Sản phẩm lấy từ Product Dim. Siêu thị Coop Cống Quỳnh lấy từ Store Dim. Và Doanh thu lấy từ Sales Fact (Dollars).

***SNOW FLAKE SCHEMA***

Một lược đồ bông tuyết là dạng mở rộng của lược đồ hình sao bằng cách bổ sung các Dimension.  Bảng Fact giống lược đồ hình sao. Bảng Dim được chuẩn hóa. Các chiều được cấu trúc rõ ràng. Một bảng Dim được chia thành chiều chính hay chiều phụ thì đó là dạng bông tuyết hoặc hình sao mở rộng.

Ưu điểm: Là dạng cải tiến của lược đồ hình sao. Số chiều được phân cấp thể hiện dạng chuẩn của bảng Dim.
Khuyết điểm: Cấu trúc phi dạng chuẩn của lược đồ hình sao thích hợp hơn cho việc duyệt các chiều.
Ví dụ: Với bảng Fact như lược đồ sao, còn bảng Dim được mở rộng như hình vẽ. Bây giờ lấy ví dụ một nhánh Product như sau: Nhìn trên lược đồ sao ta biết được sản phẩm nào với nhãn hàng nào. Nhưng nếu số lượng sản phẩm lên đến hàng nghìn sản phẩm, hàng trăm loại hàng hoặc ông sếp muốn thay đổi hoặc tách, thêm loại hàng cho sản phẩm cũ thì chuyện gì sẽ xảy ra? Không thể thay đổi trong cùng một bảng Product như trước. Lúc này buộc phải tách Product và Product Category thôi. Và dữ liệu lúc này đã được chuẩn hóa. Nếu muốn thay đổi chỉ cần thay đổi ở duy nhất một bảng, không ảnh hưởng gì đến dữ liệu chung.

***GALAXY SCHEMA***

Lược đồ này chứa nhiều bảng Fact cùng sử dụng chung một số bảng Dim. Lược đồ này là sự kết hợp của nhiều Data Mart.

Ví dụ: Ở đây chúng ta có 2 Data Mart đó là Sales (bán hàng) và Purchase (mua hàng) đều dùng chung bảng Time Dim và Product Dim nên khi vẽ kết hợp 2 Data Mart khác nhau thì sẽ có hình như trên.

***FACT CONSTELLATION SCHEMA***

Ở lược đồ này thì Dimension trong lược đồ được tách biệt thành Dimension độc lập dựa trên các cấp độ của hệ thống phân cấp. Ví dụ Geo có 5 cấp Region, Branch, Area, Province, District thay vì chỉ có một Geo chung.

   Theo Folkstalk
---Mai Huynh biên soạn---


Thứ Bảy, 8 tháng 3, 2014

Chapter 1: Tổng quan về kho dữ liệu

Chapter 1: Tổng quan về kho dữ liệu


1. Data Warehousing là gì?

-       Data Warehousing - Lưu kho dữ liệu không phải là một sản phẩm, nhóm sản phẩm. Nó giúp trả lời câu hỏi làm thế nào để ra quyết định tốt nhất, nhưng nó chỉ là một phần của toàn bộ quy trình hệ thống.
-       Lưu kho dữ liệu là việc thiết kế và thực hiện các quy trình, công cụ và cơ sở để quản lý và cung cấp đầy đủ, kịp thời, chính xác và dễ hiểu thông tin để ra quyết định.

2. Why Data Warehousing?

-       Đối với các tổ chức có lượng dữ liệu ngày càng lớn thì càng khó truy cập và sử dụng dữ liệu.
-       Dữ liệu trong nhiều định dạng khác nhau, tồn tại trên nhiều nền tảng khác nhau, và lưu trữ trong nhiều tập tin khác nhau, cấu trúc cơ sở dữ liệu khác nhau được phát triển bởi các nhà cung cấp khác nhau.
-       Tổ chức phải viết và duy trì hàng trăm chương trình để trích xuất, chuẩn bị, hợp nhất dữ liệu để sử dụng cho nhiều chương trình khác nhau dùng để phân tích và báo cáo.
-       Người ra quyết định muốn khai thác sâu hơn vào các dữ liệu.
-       Điều này dẫn đến các yêu cầu phát triển chương trình trích xuất mới hơn. Quá trình này rất tốn kém, không hiệu quả và tốn thời gian. Data Warehousing cung cấp một phương pháp tiếp cận tốt hơn.
-       Data Warehousing thực hiện quá trình truy cập dữ liệu từ các nguồn không đồng nhất; làm sạch, lọc và chuyển đổi dữ liệu; lưu trữ dữ liệu theo cấu trúc để dễ dàng truy cập, hiểu rõ và sử dụng.
-       Dữ liệu sau đó được dùng để truy vấn, báo cáo và phân tích dữ liệu.
-       Khối lượng dữ liệu trong kho dữ liệu có thể rất lớn, đặc biệt khi xem xét các yêu cầu phân tích dữ liệu mang tính lịch sử.
-       Chương trình phân tích dữ liệu đòi hỏi phải quét qua khối lượng dữ liệu rất lớn, có thể dẫn đến kết quả không tốt cho các ứng dụng hoạt động.
è Do đó có một yêu cầu tách riêng hai môi trường để giảm thiểu xung đột và sự xuống cấp của hiệu suất trong môi trường hoạt động.

3. Lịch sử hình thành

-       Khái niệm Data Warehousing được xuất hiện vào những năm 80, khi mà các hệ thống quản lý cở sở dữ liệu quan hệ nổi lên như những sản phẩm thương mại.
-       Năm 1988, có một bài báo mô tả định nghĩa đầu tiên về kiến trúc kho dữ liệu. Bài báo mô tả những công việc đã thực hiện để thiết kế kho dữ liệu phục vụ chi nhánh IBM tại châu Âu.
-       Đầu thập niên 90, cuộc cách mạng về xử lý dữ liệu không chỉ là phổ cập kho dữ liệu mà còn tạo điều kiện để mở rộng khái niệm kho dữ liệu.
-       Thế kỷ 20 – kỷ nguyên của quản lý dựa trên thông tin.
-       Ngày nay, chúng ta chờ đợi và dự đoán tương lai dựa trên những phác thảo quá khứ. Nhu cầu về lợi thế cạnh tranh tăng ca khiến nền tảng để hỗ trợ việc ra quyết định chuyển từ dữ liệu dạng số sang thông tin và việc này có thể được mô tả bởi thuật ngữ quản lý dựa trên thông tin.

4. Khái niệm

4.1 OLTP

Hệ thống OLTP(On-Line Transaction Processing – Xử lý giao dịch trực tuyến)
-       Dữ liệu phát sinh từ các hoạt động hằng ngày
-       Thu thập xử lý để phục vụ công việc nghiệp vụ cụ thể của một tổ chức
-       Thường được gọi là dữ liệu tác vụ và hoạt động thu thập xử lý dữ liệu này
-       Ví dụ: phần mềm kế toán, phần mềm bán hàng, phần mềm nhân sự, lương,… được nhập liệu thường xuyên bởi những người dùng cuối và dữ liệu chi tiết tới từng nghiệp vụ, mô hình thiết kế theo quan hệ thực thể.

4.2 Data warehouse

-       Kho dữ liệu phục vụ cho việc phân tích với kết quả mang tính thông tin cao
-       Kho dữ liệu là nơi dữ liệu được tuyển tập và lưu trữ:
o   Hướng chủ đề
o   Tích hợp
o   Biến đổi theo thời gian
o   Ổn định
-       Kho dữ liệu dùng để hỗ trợ ra quyết định trong quản lý

4.3 OLAP

Hệ thống OLAP(On-Line Analytical Processing – Xử lý phân tích trực tuyến)
-       OLAP là kỹ thuật sử dụng các cube(khối – thể hiện dữ liệu đa chiều) 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) 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 Data warehouse 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 như sau:
o   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.
o   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.
o   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ả kết quả của các truy vấn đặc biệt trở nên nhanh chóng hơn.
o   Cung cấp các công cụ mạnh mẽ 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.

5. Các đặc tính của kho dữ liệu

5.1 Subject Oriented – Hướng chủ đề

-       Kho dữ liệu được thiết kế để hỗ trợ trong việc phân tích dữ liệu
-       Được tổ chức xung quanh các chủ đề chính như: khách hàng, sản phẩm, bán hàng,…
-       Loại bỏ những dữ liệu không hữu ích cho trình ra quyết định
à Việc này giúp cho người dùng hướng theo một chủ đề nhất định giúp xác định được những thông tin cần thiết trong hoạt động của mình.

5.2 Integrated – Tích hợp

-       Là đặc tính quan trọng nhất của kho dữ liệu
-       Dữ liệu được tập hợp từ nhiều nguồn khác nhau:
o   Cở sở dữ liệu quan hệ(relational databases), flat files, các bảng ghi toàn tác trực tuyến. à Điều này sẽ dấn đến việc trong quá trình tập hợp dữ liệu phải thực hiện việc làm sạch, sắp xếp, rút gọn dữ liệu.

5.3 Non Volatile – Ổn định

-       Được lấy từ nhiều nguồn dữ liệu của hệ thống tác nghiệp có sẵn
-       Kho dữ liệu tách rời vật lý với môi trường tác nghiệp, nên dữ liệu trong kho dữ liệu là dữ liệu chỉ đọc, không chỉnh sửa hoặc thêm mới được.

5.4 Time Variant – Biến đổi theo thời gian

-       Dữ liệu quá khứ và hiện tại
-       Mỗi dữ liệu trong kho dữ liệu đều được gắn với thời gian và có tính lịch sử
*** Dữ liệu trong kho dữ liệu rất lớn và không được thêm, xóa, sửa dữ liệu.

6. Mục đích của kho dữ liệu

-       Kho dữ liệu phải đáp ứng những yêu cầu sau:
o   Phải có khả năng đáp ứng mọi yêu cầu về thông tin của người sử dụng.
o   Hỗ trợ để các nhân viên của tổ chức thực hiện tốt, hiệu quả công việc của mình.
o   Giúp cho tổ chức xác định, quản lý và điều hành dự án, các nghiệp vụ một các hiệu quả và chính xác.
-       Tích hợp dữ liệu và các siêu dữ liệu từ nhiều nguồn khác nhau.
-       Dùng trong các hệ thống hỗ trợ quyết định(DSS), các hệ thống thông tin tác nghiệp hoặc hỗ trợ cho các truy vấn đặc biệt.

7. Các thành phần kho dữ liệu

7.1 Methodology – Phương pháp luận

-       Đảm bảo sự thành công của kho dữ liệu
-       Thúc đẩy việc phát triển
-       Cung cấp một hướng ổn định cho kho dữ liệu lớn:
o   An toàn
o   Quản lý được
o   Kiểm chứng tốt
o   Ấn tượng tốt

7.2 Design and Modeling – Thiết kế và mô hình hóa

-       Các điểm khác của kho dữ liệu so với các hệ thống OLTP
o   Thiết kế các thành phần phục vụ các yêu cầu phân tích
o   Định hướng chủ đề
-       Dữ liệu được ánh xạ vào thông tin hướng chủ đề
o   Nhận dạng các chủ thể kinh doanh
o   Định nghĩa quan hệ giữa các chủ đề để xây dựng mô hình dữ liệu
-       Mô hình hóa là một quá trình lặp

7.3 ETL(Extract, Transform, Load)

-       Extract: chọn lựa dữ liệu bằng nhiều hình thức
-       Transform: xác nhận hợp lệ, làm sạch, tích hợp và dữ liệu nhãn thời gian
-       Load: nạp dữ liệu vào kho dữ liệu

7.4 Data Management

-       Các công cụ phục vụ cho việc quản lý một cách hiệu quả
-       Các yêu cầu:
o   Mềm dẻo
o   Tự động
o   Hiệu quả
-       Quản lý phần cứng, hệ điều hành và mạng

7.5 Data Access and Analysis

-       Các công cụ dùng để truy tìm dữ liệu cho việc phân tích kinh doanh
-       Các yêu cầu:
o   Dễ dàng
o   Trực quan
o   Siêu dữ liệu
o   Dễ huấn luyện


8. So sánh OLTP và OLAP




OLTP

Công nghệ: CSDL quan hệ
Chuẩn hóa, không dư thừa
Tập trung vào dữ liệu hiện tại
Trả lời các truy vấn đơn
Toàn tác: tính toàn vẹn, bảo mật, đồng thời, locking
Xử lý giao dịch



Data warehouse & OLAP

CSDL quan hệ, CSDL đa chiều
Chấp nhận dư thừa
Tiền tính toán tổng hợp
Dữ liệu lịch sử
Hỗ trợ phân tích phức tạp
Tích hợp dữ liệu từ đa nguồn
Dữ liệu rất lớn
Các câu hỏi phức tạp





OLTP
OLAP
Users
Chuyên viên
Các chuyên gia
Function
Thao tác hàng ngày
Hỗ trợ ra quyết định
DB Design
Hướng ứng dụng
Hướng chủ đề
Data
Hiện thời, cập nhật, chi tiết, và là các CSDL độc lập
Lịch sử, tóm tắt, tích hợp đa chiều và tổng hợp
Access
Đọc/ghi/lập chỉ mục
Duyệt nhiều lần
Unit of work
Toàn tác ngắn, đơn giản
Câu hỏi phức tạp
#Records accessed
Vài chục
Vài triệu
#Users
Vài ngàn
Vài trăm
DB size
100MB-GB
100GB-TB

Các ví dụ về OLTP và OLAP
-       Xử lý giao dịch trực tuyến OLTP
o   Số lượng coca cola vừa được bán
-       Xử lý phân tích trực tuyến OLAP
o   Số lượng coca cola được bán tháng trước tại các cửa hàng phía bắc tỉnh Thừa Thiên Huế
o   Cửa hàng nào phía bắc tỉnh Thừa Thiên Huế có số lượng coca cola được bán ra tháng trước lớn nhất
o   Tháng nào trong năm có số lượng coca cola được bán ra nhiều nhất tại tỉnh Thừa Thiên Huế

9. Data source – Nguồn dữ liệu

-       Data source là các ứng dụng tác nghiệp hoặc các cơ sở dữ liệu tác nghiệp, và các công cụ chiết xuất, làm sạch và chuyển đổi dữ liệu
-       Data source có thể là một tập tin, hay một cơ sở dữ liệu của một Hệ quản trị CSDL nào bất kỳ:
o   SQL Server Databases
o   Flat files
o   Microsoft Access Databases
o   Microsoft Excel Worksheets
o   Other OLE DB providers

10. Meta Data – Siêu dữ liệu

-       Siêu dữ liệu là tất cả những thông tin để miêu tả dữ liệu trong môi trường kho dữ liệu(siêu dữ liệu là dữ liệu của dữ liệu)
Đối với nhóm kho dữ liệu, siêu dữ liệu gồm:
-       Thư mục về những gì có trong kho dữ liệu
o   Thư mục chỉ rõ nơi lưu trữ dữ liệu: thư mục là chỉ mục dùng cho câu truy vấn thiên về việc tìm kiếm những thông tin đúng
-       Những ánh xạ tương ứng giữa tác vụ và các thao tác trong kho dữ liệu
-       Dữ liệu được đưa vào kho dữ liệu phải ở dạng chuẩn và phải theo những quy ước của kho dữ liệu. Nghĩa là phải được làm sạch.
-       Những luật dùng để tổng hợp dữ liệu: thuật ngữ dùng để miêu tả dữ liệu, kỹ thuật tương ứng sử dụng để truy xuất dữ liệu.
-       Nguồn dữ liệu, những luật dùng để suy dẫn nguồn dữ liệu và tạo ra nguồn dữ liệu.

11. Data Mart

-       Data mart là một dạng thu nhỏ của kho dữ liệu
-       Nếu kho dữ liệu mô tả thông tin của một tổ chức thương mại thì:
o   Data mart mô tả thông tin cho từng phòng ban của tổ chức đó(như phòng kinh doanh, phòng nhân sự…)
o   Hoặc chứa thông tin cho mỗi chi nhánh của tổ chức
-       Data mart đôi khi không thật sự cần thiết vì chúng có thể làm tốn thời gian xử lý
-       Tuy nhiên, sử dụng Data mart cho phép thực thi các truy vấn nhanh hơn vì dữ liệu của chúng ít hơn so với kho dữ liệu.

12. Data mining

-       Khai thác dữ liệu là kỹ thuật không dùng những truy vấn mà là những thuật toán đặc biệt để phân tích dữ liệu và báo cáo cần khai phá.
-       Khai thác dữ liệu dùng để phân tích dữ liệu thống kê và khám phá tri thức.
-       Phân tích dữ liệu thống kê phát hiện hình thức khác thường trong dữ liệu và áp dụng kỹ thuật mô hình thống kê và toán học để giải thích các mô hình.
-       Các mô hình này được dùng để dự báo và dự đoán.
-       Các loại kỹ thuật phân tích số liệu thống kê bao gồm phân tích tuyến tính và phi tuyến tính, phân tích hồi quy, phân tích đa biến và phân tích chuỗi thời gian.
-       Việc khám phá các tri thức giúp tìm ra các thông tin chưa từng biết trong dữ liệu. Kết quả của nó là khám phá những sự thật kinh doanh không rõ ràng.
-       Khai thác dữ liệu mang tính định hướng dữ liệu
-       Truy vấn và báo cáo mang tính định hướng phân tích
-       Phân tích đa chiều hỗ trợ phân tích.

13. Ứng dụng của kho dữ liệu

-       Theo cách khai thác truyền thống: các công cụ truy vấn, báo cáo
-       Xử lý phân tích trực tuyến OLAP
-       Khai phá dữ liệu – Data mining
Hệ hỗ trợ ra quyết định (DSS – Decision Support System)
-       DSS giúp người lãnh đạo, quản lý và phân tích làm việc hiệu quả hơn
-       Hỗ trợ cho việc ra quyết định trong quản lý, kinh doanh 1 cách hiệu quả và nhanh chóng.
-       DSS mức tổng quát gồm 3 tầng:
o   Tầng 1: Data warehouse
o   Tầng 2: Hệ quản trị OLAP có thể là ROLAP, MOLAP, HOLAP

o   Tầng 3: tầng người dùng hỗ trợ các công cụ truy vấn, báo cáo, phân tích, khai phá dữ liệu

---Mai Huynh biên soạn---