Kiến trúc hệ thống kho dữ liệu

Một phần của tài liệu Xây dựng kho dữ liệu nâng cao hiệu quả báo cáo phân tích thống kê cho phân hệ mua hàng bán hàng của hệ thống ERP,Khóa luận tốt nghiệp (Trang 42 - 50)

Hệ thống kho dữ liệu gồm nhiều thành phần khác nhau, được thể hiện như hình sau:

Hình 2.4: Kiến trúc hệ thống kho dữ liệu (Vincent Rainardi, 2008).

Các hệ thống nguồn (Source Systems): là hệ thống xử lý dữ liệu đang vận hành, bao gồm các dữ liệu cần chuyển đổi sang hệ thống kho dữ liệu. Hệ thống OLTP (Online Transaction Processing) - hệ thống xử lý giao dịch trực tuyến là hệ thống chính có mục đích là sao chép và lưu trữ mọi giao dịch hiện có của doanh nghiệp. Dữ liệu trong hệ thống được kiểm tra bằng cách sử dụng một data profiler để xác định các đặc điểm của dữ liệu. Hệ thống này cung cấp khả năng phân tích dữ liệu, chẳng hạn như tìm hiểu có bao nhiêu bản ghi trong bảng, có bao nhiêu hàng chứa giá trị null.

25

Nguyễn Thị Ánh - K19HTTTB

hoạt động (Oracle, DB2, MS SQL, mySQL,...) hay các tệp ở các định dạng khác (CSV, XML, HTML, excel,.). Đó có thể là dữ liệu trong nội bộ tổ chức hoặc dữ liệu từ những nguồn bên ngoài, dữ liệu đối thủ. Hệ thống xử lý dữ liệu tốt là phải giải quyết các vấn đề về khả năng tương thích giữa các nguồn dữ liệu khác nhau này.

- Bước chuẩn hoá (Transform) là từ định dạng ban đầu của nguồn dữ liệu

cần phải chuyển đổi sang mô hình đa chiều trong kho dữ liệu. Để thực hiện điều này lại cần một số bước nhỏ sau:

• Bước làm sạch (cleaning) loại bỏ các lỗi và sự không nhất quán

trong dữ liệu và chuyển đổi nó thành một định dạng chuẩn.

• Bước tích hợp (integration) thì người thiết kế cần cắt gọt dữ

liệu đối với những dữ liệu có nguồn khác nhau mà vẫn phải đảm bảo ý nghĩa của chúng và tập hợp thành một khung dữ liệu duy nhất.

• Bước tổng hợp (aggregation) cần tổng hợp những dữ liệu trên

theo mức độ chi tiết dữ liệu trước khi tổng hợp vào data warehouse.

- Bước tải dữ liệu (load) sẽ ghi nhận những dữ liệu sau khi được chuyển

đổi. Quá trình thực hiện này bao gồm cả việc làm mới kho dữ liệu, nghĩa là truyền các bản cập nhật từ nguồn dữ liệu đến kho dữ liệu theo tần suất xác định, để cung cấp dữ liệu cập nhật mới nhất cho quá trình ra quyết định. Nhưng tùy thuộc vào quy định của tổ chức, tần suất cập nhật có thể thay đổi từ hàng tháng đến vài lần một ngày hoặc thậm chí gần với thời gian thực.

Hệ thống ETL có khả năng kết nối với hệ thống nguồn, thực hiện đọc dữ liệu, chuyển đổi dữ liệu và tải dữ liệu vào hệ thống đích (tại đây, hệ thống đích có thể không phải là hệ thống kho dữ liệu). Sau đó, hệ thống tiếp tục tích hợp, chuyển đổi và tải dữ liệu vào kho lưu trữ dữ liệu đa chiều (DDS - Dimensional data store).

2.1.6Xây dựng kho dữ liệu

Để xây dựng được hệ thống kho dữ liệu thì việc mô hình hoá dữ liệu là vô

cùng quan trọng. Thiết kế kho dữ liệu tốt hay không sẽ giúp ích rất nhiều trong quá trình sử dụng kho dữ liệu, giúp cho việc sử dụng dễ dàng hơn, giảm thiểu được các

bước xử lý dữ liệu của nhân viên phân tích và góp phần giảm thiểu sai sót. Việc

Khóa luận tốt nghiệp

Hệ thống DDS là cơ sở dữ liệu lưu trữ dữ liệu cho kho dữ liệu theo mô hình khác với hệ thống lưu trữ OLTP. Dữ liệu nên được lấy từ hệ thống DDS thay vì truy vấn trực tiếp từ hệ thống nguồn là vì trong hệ thống DDS, dữ liệu đã được tổ chức theo định dạng phù hợp để thích hợp cho việc phân tích. Hơn nữa, hệ thống DDS sẽ chứa dữ liệu của nhiều hệ thống nguồn khác nhau. Khi dữ liệu đã qua quá trình ETL, mọi dữ liệu đều phải thực hiện các kiểm tra chất lượng dữ liệu (Data quanlity - DQ). Với dữ liệu xấu sẽ được đưa vào cơ sở dữ liệu DQ , được tổng hợp báo cáo và sau đó sẽ được sửa trong các hệ thống nguồn. Dữ liệu xấu cũng có thể tự động sửa với dung sai nằm trong giới hạn cho phép. Hệ thống ETL được quản lý và kiểm soát bởi hệ thống điều khiển dựa trên trình tự và quy tắc logic được lưu trữ trong siêu dữ liệu.

Siêu dữ liệu (meta data) là một cơ sở dữ liệu chứa thông tin về cấu trúc dữ liệu, ý nghĩa dữ liệu, bao gồm cả việc sử dụng dữ liệu, quy tắc chất lượng và những thông tin khác về dữ liệu.

Hệ thống kiểm soát (Audit system) ghi lại các hoạt động và sử dụng hệ thống vào cơ sở dữ liệu trong siêu dữ liệu. Hệ thống kiểm soát là một phần của hệ thống ETL giúp giám sát các hoạt động vận hành của các quy trình trong ETL, sau đó ghi lại các thống kê của hoạt động đó. Hệ thống này được sử dụng để hiểu những gì đã diễn ra trong quá trình ETL.

Người dùng có thể sử dụng các công cụ khác nhau như bảng tính (spreadsheets), bảng pivot, các công cụ báo cáo, công cụ truy vấn dữ liệu SQL để try xuất và phân tích dữ liệu trong DDS. Một số ứng dụng hoạt động trên định dạng cơ sở dữ liệu đa chiều thì khi đó, dữ liệu trong DDS được tải vào cơ sở dữ liệu đa chiều (MDB - Multidimensional databases), hay còn gọi là Cube - khối dữ liệu. Dữ liệu đa chiều MDB là một dạng của dữ liệu trong đó dữ liệu sẽ được lưu trữ thành các ô và tại vị trí của mỗi ô được xác định bởi một số biến gọi là chiều. Mỗi ô sẽ đại diện cho một sự kiện kinh doanh nào đó và giá trị chiều sẽ thể hiện thời gian hay nơi sự kiện này diễn ra.

Thực hiện khai thác dữ liệu với các công cụ như phân tích, khai thác dữ liệu, scorecards, dashboards, công cụ báo cáo đa chiều và các công cụ BI khác sẽ có thể truy xuất dữ liệu tương tác nhiều chiều từ MDB. Dữ liệu được trích xuất và hiển thị được kết quả theo chiều mà người dùng cần phân tích, từ đó có cái nhìn sâu hơn về tình hình kinh doanh hiện tại của công ty.

21

Nguyễn Thị Ảnh - K19HTTTB

thiết kế này cũng làm giảm đi sự phụ thuộc của dữ liệu với hệ thống nghiệp vụ và giúp tránh phải thay đổi thiết kế mỗi khi mà hệ thống nghiệp vụ cần cập nhật mới. Vậy nên, một bản thiết kế hệ thống kho dữ liệu cần đảm bảo được những vấn đề sau:

- Mô hình hay kiến trúc của kho dữ liệu sẽ không bị ảnh hưởng kể cả khi

cấu trúc của hệ thống nghiệp vụ bị thay đổi. Nếu doanh nghiệp thay thế phần mềm thì người phân tích sẽ không cần sửa lại các câu truy vấn khác nhau cho mỗi thay đổi khác nhau đó.

- Khi thông tin trong bản dimension bị thay đổi sẽ không ảnh hưởng gì đến

dữ liệu trong bảng fact có liên quan đến bản ghi đó tại những thời điểm trước khi có sự thay đổi.

Thiết kế một kho dữ liệu được thực hiện theo 4 bước (Ralph Kimball, 2013):

2.1.6.1 Xác định các nghiệp vụ cần được mô hình hóa

Với mỗi hệ thống nghiệp vụ nào đó thường gồm rất nhiều thông tin mà đôi khi không thực sự cần thiết để yêu cầu phân tích. Đối việc lưu trữ dữ liệu không cần thiết đó sẽ khiến dư thừa dữ liệu và tiến trình xử lý dữ liệu đó cũng có thể làm ảnh hưởng tới các nghiệp vụ còn quan trọng hơn. Vậy nên, khi chưa thực sự cần thiết và không có nhu cầu sử dụng trong tương lai “gần” thì người thiết kế không nên mô hình hoá nghiệp vụ đó vào trong kho dữ liệu. Về mặt quan điểm, tất cả nghiệp vụ đều được mô hình hoá để tạo thành kho dữ liệu tổng thể của doanh nghiệp. Mỗi nghiệp vụ này thường được gọi là một Data Mart.

2.1.6.2 Xác định độ chi tiết của dữ liệu

Xác định chính xác độ chi tiết của dữ liệu là bước quan trong trong việc thiết kế chiều dữ liệu. Một sự kiện, theo nhu cầu, có thể được chia làm nhiều sự kiện nhỏ hơn, mỗi sự kiện nhỏ có thể được chia làm nhiều sự kiện nhỏ hơn nữa. Khi phân tích yêu cầu người dùng, người thiết kế nên chú ý đến độ chi tiết nhỏ nhất người dùng cần hoặc muốn để xây dựng hệ thống hợp lý. Thể hiện rõ nhất của việc tăng giảm độ chi tiết dữ liệu là số lượng bậc trong cây phân cấp bảng dimension hoặc số lượng bảng fact: độ chi tiết càng cao thì cây phân cấp bảng dimension và số lượng

Khóa luận tốt nghiệp

bảng fact càng nhiều. Việc thiết kế độ chi tiết dữ liệu ở mức nhỏ nhất có thể gây khó khăn cho người phân tích trong khi nhu cầu của họ không đến mức đó. Để xác định độ chi tiết dữ liệu cần bám theo các nghiệp vụ trong data mart. Nên cố gắng thể hiện thông tin độ chi tiết dữ liệu hết mức có thể: các thông tin tưởng là hiển nhiên tại thời điểm thiết kế bỗng trở nên khó hiểu sau vài lần nâng cấp hệ thống nghiệp vụ.

2.1.6.1 Xây dựng bảng Fact

Mỗi bảng fact trong kho dữ liệu đều đại diện cho một tiến trình nghiệp vụ, bao gồm các phép đo, số liệu hay sự kiện của một quy trình kinh doanh nào đó.

a, Cấu trúc bảng Fact

Bảng Fact được cấu tạo gồm những đặc điểm sau:

- Bảng Fact thông thường sẽ không có trường khóa chính riêng, thay vào

đó là một tập hợp các khóa ngoại của các bảng Dimension liên quan.

- Hầu hết bảng fact còn gồm những trường lưu giá trị số liệu được gọi là

tiêu chí đo (Measurement).

- Dimension thoái hóa (Degenerate Dimension): Các dimension trong bảng

Fact nhưng mà không phải tạo ra các bảng Dimension riêng cho nó.

b, Các loại bảng Fact

Có 3 loại bảng fact chính: bảng fact giao dịch, bảng fact snapshot và bảng fact tổng hợp:

- Bảng fact giao dịch (transactional fact) mô tả một sự việc nào đó trong

hoạt động nghiệp vụ của tổ chức. Các bảng fact này cung cấp dữ liệu ở mức chi tiết nhất, là đầu vào cho các bảng fact tổng hợp có độ chi tiết thấp hơn.

- Bảng fact snapshot (snapshot fact) định kỳ lưu trạng thái nào đó của đối

tượng quan tâm theo những khoảng thời gian nhất định như số dư tài khoản, cấp độ tài khoản, các phép đo nhiệt độ, chiều cao...

- Bảng fact tổng hợp (aggregated fact) tính toán sẵn các chỉ tiêu có liên

quan đến một nhóm dimension nào đó, giúp thuận lợi hơn cho quá trình phân tích và hiển thị báo cáo. Không như hai loại bảng fact giao dịch và

29

b, Sự phân cấp dữ liệu trong Dimension

Thiết kế bảng dimension theo mô hình hình sao hoặc hình bông tuyết chính là nói đến phương án lưu trữ các phân cấp dimension trong bảng vật lý. Các hệ thống phân cấp cho phép xác định một chuỗi các ánh xạ dữ liệu từ khái niệm chi tiết, cấp thấp hơn đến các khái niệm chung hơn, cấp cao hơn. Có hai cấp độ liên quan trong hệ thống phân cấp gồm mức thấp hơn là mức con và mức cao hơn gọi là mức cha.

Khóa luận tốt nghiệp

fact snapshot, bảng fact tổng hợp được thiết kế theo yêu cầu và nhu cầu sử dụng của người phân tích.

2.1.6.2 Xây dựng bảng Dimension

Bảng Dimension là nơi cung cấp những mô tả, thông tin, ngữ cảnh chi tiết cho bảng Fact. Bảng Dimension tuy có quy mô thường nhỏ hơn bảng Fact nhưng có ý nghĩa vô cùng quan trọng và để truy cập số liệu trong data warehouse đều phải thông qua các bảng Dimension tương ứng.

a, Cấu trúc bảng Dimension

Hình 2.5: Cấu trúc cơ bản của bảng Dimension (Kimball, Ralph, 2004).

Cấu trúc bảng Dimension gồm các thành phần sau:

- Khoá thay thế (Surrogate key): là trường dữ liệu có giá trị duy nhất

nhưng không mang ý nghĩa, thường do nội tại của hệ thống tự sinh ra.

- Khóa tự nhiên (Natural key): cũng là khóa chính của dữ liệu nhưng khóa

này có ý nghĩa.

- Thuộc tính mô tả (Desciptive attribute): là những trường dữ liệu mô tả chi

tiết các thuộc tính cho thực thể, gồm nhiều kiểu dữ liệu khác nhau và số lượng bản ghi cũng có thể rất lớn.

Nguyễn Thị Ánh - K19HTTTB 30

Hình 2.6: Sự phân cấp dữ liệu trong các trường Product, Time, Customer (Alejandro Vaisman, 2014)

Thiết kế theo hướng hình sao tức là lưu tất cả các cấp khác nhau của dimension vào một bảng duy nhất, ngược lại thiết kế theo hướng bông tuyết là chia nhỏ, mỗi bảng vật lý lưu thông tin một cấp của dimension. Với mô hình hình sao, bảng dimension là các bảng dữ liệu được phi chuẩn hoá về dạng phẳng. Khi đó, tất cả các cấu trúc và những dữ liệu phân cấp trong hệ thống đều được thiết kế theo mô hình dạng bảng phẳng. Vì thế, dữ liệu trong bảng Dimension là dư thừa và chỉ tương đương với dạng chuẩn 2NF trong mô hình thực thể quan hệ. Với mô hình thiết kế theo sơ đồ hình bông tuyết thì các bảng Dimension được đưa về dạng chuẩn hóa và tránh dư thừa dữ liệu.

Một phần của tài liệu Xây dựng kho dữ liệu nâng cao hiệu quả báo cáo phân tích thống kê cho phân hệ mua hàng bán hàng của hệ thống ERP,Khóa luận tốt nghiệp (Trang 42 - 50)

Tải bản đầy đủ (DOCX)

(111 trang)
w