Chiến lược từ dưới lên

Một phần của tài liệu Nghiên cứu và xây dựng kho dữ liệu sản phẩm tại Ngân hàng TMCP Đại Dương dựa trên nền tảng hệ quản trị CSDL Oracle 10g (Trang 28)

Với chiến lược từ dưới lên tương ứng ta có kiến trúc điển hình do Ralph Kimball đề xuất về kho dữ liệu, dữ liệu được mang từ khắp các doanh nghiệp vào một địa điểm trung tâm được gọi là chiều kho dữ liệu. Giống như kiến trúc của Inmon về kho dữ liệu, kho dữ liệu chiều cũng đã là trung tâm của doanh nghiệp. Trong mô hình Kimball về kho dữ liệu kiến trúc, kho dữ liệu cục bộ là một tập hợp con của bảng liên kết với nhau bằng cách sử dụng lược đồ sao và bông tuyết. Không giống như kiến trúc doanh nghiệp của Inmon về kho dữ liệu, ở mô hình Kimball hệ thống phân tích có thể truy cập dữ liệu trực tiếp từ kho dữ liệu chiều.

20 1.9.3. So sánh 02 phương pháp thiết kế.

Cả hai Kimball và Inmon cùng có một tính năng phổ biến là mỗi người có một kho tích hợp dữ liệu nguyên tử. Trong kiến trúc Inmon của nó được gọi là kho dữ liệu doanh nghiệp và trong kiến trúc của Kimball, nó được gọi là kho dữ liệu chiều. Cả hai kiến trúc có một sự tập hợp dữ liệu doanh nghiệp hỗ trợ phân tích thông tin qua một tổ chức. Cách tiếp cận này cho phép để giải quyết các yêu cầu kinh doanh theo một chủ đề mà còn theo nhiều chủ đề khác.

Tuy nhiên có một số khác biệt trong kiến trúc kho dữ liệu của cả hai chuyên gia:

 Kimball sử dụng mô hình chiều như lược đồ sao hoặc bông tuyết để tổ chức các dữ liệu trong kho dữ liệu chiều trong khi Inmon sử dụng mô hình ER trong kho dữ liệu doanh nghiệp. Inmon chỉ sử dụng mô hình chiều cho kho dữ liệu cục bộ chỉ trong khi Kimball sử dụng nó cho tất cả các dữ liệu

 Inmon sử dụng các kho dữ liệu cục bộ phân cách vật lý từ kho dữ liệu doanh nghiệp và chúng được xây dựng để sử dụng cho các phòng ban. Trong khi trong kiến trúc của Kimball, nó là không cần thiết để tách các kho dữ liệu cục bộ từ kho dữ liệu chiều.

 Trong kho dữ liệu chiều của Kimball, phân tích hệ thống có thể truy cập dữ liệu trực tiếp. Trong khi trong kiến trúc của Inmon, hệ thống phân tích chỉ có thể truy cập dữ liệu trong kho dữ liệu doanh nghiệp thông qua các kho dữ liệu cục bộ.

So sánh Kimball và Inmon trong cách tiếp cận xây dựng kho dữ liệu

 Bill Inmon đề nghị xây dựng kho dữ liệu theo phương pháp tiếp cận từ trên xuống. Trong triết lý của Inmon, nó được bắt đầu với việc xây dựng một kho dữ liệu lớn mà tập trung dữ liệu của doanh nghiệp, nơi tất cả dữ liệu có sẵn từ các hệ thống giao dịch được hợp nhất thành một bộ sưu tập chủ đề theo định hướng, tích hợp, thời gian biến thể và bền vững nhằm hỗ trợ quá trình ra quyết định. Sau đó kho dữ liệu cục bộ được xây dựng cho các nhu cầu phân tích của các phòng ban.

 Ngược lại với cách tiếp cận Bill Inmon, Ralph Kimball đề nghị xây dựng các kho dữ liệu phương pháp tiếp cận từ dưới lên. Trong triết lý của Kimball, nó bắt đầu với kho dữ liệu cục bộ quan trọng phục vụ nhu cầu phân tích của các phòng ban. Sau đó, nó được tích hợp các kho dữ liệu cục bộ để nhất quán dữ liệu thông qua information bus. Kimball sử dụng mô hình chiều để giải quyết các nhu cầu của các bộ phận với các chủ đề khác nhau trong doanh nghiệp.

21

Lựa chọn giữa cách tiếp cận Kimball hay Inmon để xây dựng kho dữ liệu?

Đặc điểm Kimball Inmon

Yêu cầu về hỗ trợ quyết

định kinh doanh Chiến thuật Chiến lược

Dữ liệu tích hợp yêu cầu Dữ liệu cục bộ Dữ liệu toàn doanh nghiệp

Cấu trúc dữ liệu KPI, hiệu quả kinh doanh Đáp ứng nhiều nhu cầu

Tính ổn định của nguồn

dữ liệu Hệ thống nguồn ổn định Hệ thống nguồn có sự thay

đổi nhiều.

Kỹ năng Nhóm nhỏ Nhóm chuyên gia

Hạn chế về thời gian Ngắn, cấp bách Dài

Chi phí xây dựng Chi phí bắt đầu thấp Chi phí bắt đầu cao

Hinh 1. 21: So sánh 2 cách Kimball và Inmon.

Quá trình ETL trong kho dữ liệu

Dữ liệu trong kho dữ liệu phải được thường xuyên cập nhập để có thể phục vụ mục đích phân tích kinh doanh. Để làm điều này, dữ liệu từ một hoặc nhiều hệ thống hoạt động cần được trích xuất và sao chép vào kho dữ liệu. Những thách thức trong quá trình chuyển đổi dữ liệu là việc tích hợp, sắp xếp lại và củng cố khối lượng lớn dữ liệu trên nhiều hệ thống, qua đó cung cấp một cơ sở thông tin mới thống nhất cho kho dữ liệu để phục vụ việc phân tích.

22

Quá trình nén dữ liệu từ hệ thống nguồn và đưa nó vào kho dữ liệu thường được gọi là ETL (Extraction Transformation Loading), đó là viết tắt cho chiết xuất, chuyển đổi và nạp. Lưu ý ETL nó liên quan tới một quá trình rộng lớn, chứ không phải ba bước được xác định rõ. Các từ viết tắt ETL có lẽ quá đơn giản, bởi vì nó bỏ qua các giai đoạn vận chuyển và ngụ ý rằng mỗi giai đoạn khác của quá trình này là khác biệt. Tuy nhiên, toàn bộ quá trình được gọi là ETL.

Các phương pháp và nhiệm vụ của ETL đã được biết đến trong nhiều năm, và không nhất thiết phải duy nhất cho các môi trường kho dữ liệu: một loạt các ứng dụng độc quyền và hệ thống cơ sở dữ liệu là xương sống của bất kỳ doanh nghiệp CNTT. Dữ liệu phải được chia sẻ giữa các ứng dụng hoặc hệ thống, cố gắng để tích hợp chúng, tạo ít nhất hai ứng dụng cùng một bức tranh của thế giới. Chia sẻ dữ liệu này đã được chủ yếu là giải quyết bằng cơ chế tương tự như những gì chúng ta gọi là ETL.

1.9.4. Chiết xuất dữ liệu.

Trong thời gian chiết xuất, các dữ liệu cần được xác định và chiết xuất từ nhiều nguồn khác nhau, bao gồm cả hệ thống cơ sở dữ liệu và các ứng dụng. Thường thì việc có thể xác định các tập hợp cụ thể cần thiết là không đơn giản, do đó nhiều dữ liệu hơn mức cần thiết phải được chiết xuất và việc xác định các dữ liệu có liên quan hay không sẽ được thực hiện tại một thời điểm sau. Tuỳ theo khả năng của hệ thống nguồn (ví dụ, hệ điều hành nguồn lực), một số biến đổi có thể diễn ra trong quá trình khai thác này. Kích thước của dữ liệu được chiết xuất khác nhau từ hàng trăm kilobyte lên đến GB, tùy thuộc vào hệ thống nguồn và yêu cầu về dữ liệu phân tích. (adsbygoogle = window.adsbygoogle || []).push({});

1.9.5. Chuyển đổi dữ liệu.

Giai đoạn chuyển đổi dữ liệu áp dụng một loạt các quy tắc hay chức năng để trích xuất dữ liệu từ các nguồn để lấy được các dữ liệu để tải vào các mục tiêu cuối cùng. Một số dữ liệu không yêu cầu bất kỳ chuyển đổi ở tất cả và được gọi là di chuyển trực tiếp hoặc thông qua các dữ liệu trong điều kiện kỹ thuật.

Một chức năng quan trọng của chuyển đổi dữ liệu là làm sạch các dữ liệu nhằm mục đích để truyền dữ liệu chỉ thích hợp với các mục tiêu. Khi các hệ thống khác nhau tương tác với nhau và dựa trên các dữ liệu hệ thống cửa hàng, có là một thách thức trong giao tiếp / truyền thông với nhau. Một số bộ ký tự có thể có sẵn trong một hệ thống có thể không có sẵn ở khác. Trường hợp này phải được xử lý một cách chính xác và sau cùng dẫn đến một số vấn đề liên quan đến chất lượng dữ liệu.

23 1.9.6. Nạp dữ liệu.

Giai đoạn tải dữ liệu vào kho dữ liệu với nguồn dữ liệu có thể là một tập tin hoặc dữ liệu giao dịch. Tùy thuộc vào yêu cầu của tổ chức, quá trình này rất khác nhau. Một số kho dữ liệu có thể ghi đè lên các thông tin hiện có thông tin tích lũy; cập nhật trích xuất dữ liệu thường xuyên được thực hiện trên một cơ sở hàng ngày, hàng tuần, hoặc hàng tháng. Kho dữ liệu khác (hoặc thậm chí các phần khác của kho dữ liệu tương tự) có thể thêm dữ liệu mới trong một hình thức lịch sử trong khoảng thời gian, ví dụ thường xuyên, hàng giờ. Thời gian và phạm vi để thay thế hoặc phụ thêm những sự lựa chọn thiết kế chiến lược phụ thuộc vào thời gian có sẵn và các nhu cầu kinh doanh. Nhiều hệ thống phức tạp có thể duy trì một lịch sử và dấu vết kiểm toán của tất cả các thay đổi đối với dữ liệu được nạp vào kho dữ liệu.

Cấu trúc chiều: Tất cả các chiều cần được tổ chức vật lí sao cho có ít thành

phần nhất có thể. Người ta thường gắn thêm một thuộc tính không có ý nghĩa thực tế để làm khoá đại diện bên cạnh khoá tự nhiên của nó.

Cấu trúc của một chiều thông thường như sau:

Hinh 1. 23: Cấu trúc chiều cơ bản.

Bình thường, với mỗi khoá tự nhiên sẽ ứng với một khoá đại diện (1-1), nhưng khi cần theo dõi dữ liệu mang tính lịch sử, mỗi khoá tự nhiên có thể ứng

với nhiều khoá đại diện.

Các thuộc tính trong mỗi chiều thường không chứa số. Vì các thuộc tính mang giá trị số hầu như chắc chắn là các fact. Trong khoảng 2% các trường hợp, có thể rất khó đưa ra quyết định một trường chứa giá trị số thực ra có phải là fact hay không (ví dụ giá sản phẩm). Trong trường hợp này, cần xác định:

24

 Thuộc tính này có phải dạng SCD Type 2 hay không (nếu là SCD Type 2, đây là fact)

Nạp các chiều phẳng và các chiều bông tuyết:

Nếu như bước làm sạch dữ liệu, dữ liệu vẫn được giữ ở dạng chuẩn cao (dạng bông tuyết) để bảo đảm tính nhất quán, thì ở bước nạp dữ liệu, dữ liệu sẽ được giảm dạng chuẩn (dạng phẳng) để giúp tăng tối đa tốc độ truy vấn và kết xuất dữ liệu. Vì thế, người ta thường cố gắng tránh tổ chức các chiều dạng bông tuyết.

Dữ liệu có phân cấp theo nhiều cách khác nhau đối với cùng một chiều (chẳng hạn chiều sản phẩm phân cấp theo vùng địa lí hay theo vùng tiếp thị). Để làm phẳng, mọi thuộc tính liên quan đến các cách phân cấp này đều được lưu trong cùng một chiều.

Chiều thời gian (bao gồm cả ngày-tháng):

Đây là một chiều rất quan trọng vì được dùng hầu như trong mọi bảng fact. Bởi vì tính chất quan trọng của nó, chiều thời gian thường được tổ chức đặc biệt và không có nguồn nhập. Chiều này thường được dùng chung (dạng tham chiếu) cho nhiều chiều khác.

25

Hinh 1. 24: Chiều thời gian.

Có một số chú ý sau đối với chiều thời gian:

 Chiều thời gian thường được phân vùng vật lý do tính chất lịch sử của nó. Việc này làm tăng tốc độ cập nhật của dữ liệu.

 Chiều ngày-tháng thường là một bảng vật lí cơ bản.Nếu cần chiều tháng, sẽ sử dụng khoảng chặn ngày đầu tháng-cuối tháng để tổ chức. Nếu cần tính chi tiết ở mức giờ, phút, giây, để bảo đảm không bị tràn, người ta thường sử dụng thêm một thuộc tính nhãn thời gian.

Các chiều lớn: thường là các chiều được tạo thành từ nhiều nguồn, nhiều

hệ thống khác nhau, do nhu cầu cần phải dữ lại quá nhiều thông tin. Để giảm kích thước các chiều lớn, người ta cần làm các bước sau:

 Loại bỏ trùng lắp

 Chuẩn hoá dữ liệu

 Hợp nhất

26 (adsbygoogle = window.adsbygoogle || []).push({});

Hinh 1. 25: Quá trình hợp nhất các chiều phụ thuộc.

Vấn đề lựa chọn phân tách/hợp nhất chiều:

Nếu hai chiều có tương quan với nhau, người ta thường cố gắng tổ chức thành hai chiều độc lập và sử dụng bảng fact để mô tả mối tương quan đó, thay vì hợp nhất thành một chiều.

Nếu việc roll-up một chiều cho ra chiều còn lại (chẳng hạn product và brand), thì nhất thiết không được tách thành hai chiều.

Các trường hợp còn lại, cần cân nhắc yêu cầu của người dùng.

Chiều nhập vai (role-playing dimension): Là chiều được gắn nhiều lần vào cùng

một bảng fact nhưng với các vai trò khác nhau. Ví dụ điển hình là chiều thời gian. Đối với chiều nhập vai, người ta thường tổ chức một chiều. Các chiều tham chiếu từ bảng fact là các view được tạo ra từ chiều chung đó.

Nạp các chiều suy biến:

Chiều suy biến là chiều dẫn xuất từ bảng fact mà không chứa thuộc tính nào (còn gọi là chiều rỗng). Chiều suy biến thường chỉ chứa một khoá tự nhiên để lưu vết các giao tác.

Nạp các chiều thay đổi chậm (Slowly Changing Dimension – SCD): Là chiều có

27

 SCD loại 1 (ghi đè): đây là loại chiều không cần lưu lại lịch sử thay đổi. Chỉ việc ghi đè lên bản ghi cũ.

 SCD loại 2 (dữ liệu lịch sử hết hiệu lực): đây là loại chiều cần lưu lại lịch sử. Thay vì ghi đè lên chiều cũ, người ta tạo ra một dòng mới với cùng khoá tự nhiên nhưng khác khoá đại diện. Lúc đó, chỉ cần thay đổi tham chiếu từ bảng fact.

 SCD loại 3 (dữ liệu lịch sử còn hiệu lực): đây là trường hợp các giá trị lịch sử vẫn còn hiệu lực sử dụng đồng thời với các giá trị mới. Thay vì tạo thêm một dòng mới trong bảng chiều, người ta tạo thêm các cột mới để lưu vết.

Thông thường, người ta tránh sử dụng loại 2 vì nó làm thay đổi cấu trúc của hệ thống. Hơn nữa, việc xác định tính hiệu lực của dữ liệu thường được quy định trong nghiệp vụ và được lưu như là một thuộc tính bình thường của chiều đó.

Nạp chiều đến sau và sửa lỗi dữ liệu:

Dữ liệu đến sau là những dữ liệu thay đổi sau khi đã xây dựng DW. Dữ liệu này phân ra làm 2 loại:

 Dữ liệu cần sửa đổi: do phát hiện sai sót (về thời gian) trong quá trình xây dựng DW.

 Dữ liệu cập nhật theo thời gian thực: do tính chất thời gian thực, dữ liệu đang được truy vấn là dữ liệu cũ, và dữ liệu được cập nhật là dữ liệu mới nhưng chưa được nạp vào hệ thống.

Các chiều đến sau cần được nạp vào DW bằng một hệ thống ETL độc lập và cần được kiểm tra kĩ trên hệ thống thử nghiệm vì việc này ảnh hưởng sâu sắc đến hệ thống.

Dữ liệu cần sửa đổi do phát hiện lỗi sai (về thời gian) được sửa theo 3 bước sau:

 Thêm một bản ghi mới với các thông tin cập nhật cho thuộc tính tương ứng, ứng với mốc thời gian cần thay đổi.

 Xác định từ mốc thời gian đó, tất cả các thay đổi xảy ra về sau nó và ghi đè bằng các giá trị mới của thuộc tính

 Cập nhật lại khoá ngoại cho bảng fact tất cả các bản ghi tham chiếu đến các bản ghi đã thay đổi trong chiều đó.

Nạp chiều đa giá trị và bảng cầu nối:

Các chiều đa giá trị là các chiều có quan hệ n-n đến bảng fact. Trong trường hợp này, cần phải tạo bảng cầu nối và bảng phân nhóm (để tránh quan hệ n-n đến bảng fact).

28 1.10.Kho dữ liệu cục bộ.

Một kho dữ liệu cục bộ là một tập hợp các dữ liệu cùng chủ để được tổ chức nhằm hỗ trợ việc ra quyết định dựa trên nhu cầu cụ thể của một nhóm người dùng doanh nghiệp hoặc bộ phận. Có hai loại kho dữ liệu cục bộ: kho dữ liệu cục bộ độc lập và kho dữ liệu cục bộ phụ thuộc.

Kho dữ liệu cục bộ độc lập: dữ liệu tập trung riêng theo một chủ đề và nó

không được thiết kế đáp ứng cho cả doanh nghiệp. Ví dụ: bộ phận sản xuất có kho dữ liệu cục bộ của họ, bộ phận nhân lực, bộ phận tài chính cũng như vậy.Kho dữ liệu cục bộ nhận dữ liệu từ nhiều hệ thống giao dịch theo một chủ đề hoặc theo yêu cầu kinh doanh cụ thể của một bộ phận. Kho dữ liệu cục bộ độc lập có thể được theo thiết kế chiều hoặc mô hình thực thể quan hệ. Hệ thống phân tích và quản trị doanh nghiệp thông minh truy vấn dữ liệu công cụ trực tiếp (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Nghiên cứu và xây dựng kho dữ liệu sản phẩm tại Ngân hàng TMCP Đại Dương dựa trên nền tảng hệ quản trị CSDL Oracle 10g (Trang 28)