.2 Các đối tượng của Warehouse Builder

Một phần của tài liệu (LUẬN văn THẠC sĩ) kho dữ liệu và ứng dụng xây dựng hệ thống dữ liệu trợ giúp quyết định về chính sách tiền tệ quốc gia (Trang 29 - 34)

3. Sự phân cấp (Hierarchies) là cấu trúc logic để sắp xếp thứ tự các mức trong việc tổ chức dữ liệu. Như với bảng chiều thời gian có thể phân cấp với các mức tháng, quý và năm.

4. Các mối quan hệ mức (Level Relationships) chỉ rõ trật tự từ trên xuống của các mức từ thông tin chung đến riêng, chúng có thể định nghĩa quan hệ cha – con giữa các mức trong cây phân cấp

2.5 Các bước sử dụng Warehouse Builder

2.5.1 Định nghĩa các đối tượng nguồn và đích

Sau khi hoàn tất quá trình thu thập các yêu cầu cho kho dữ liệu, kho dữ liệu chuyên đề, chúng ta cần thiết kế các đối tượng nguồn, nơi cung cấp dữ liệu (chúng có thể là CSDL, các tệp ứng dụng) và các đối tượng đích, nơi chứa dữ liệu dùng cho mục đích của dự án.

2.5.2 Định nghĩa các đối tượng để trích lọc, chuyển đổi và tải dữ liệu

Sau khi tạo và định nghĩa đối tượng lấy dữ liệu trong Warehouse Builder, chúng ta phải định nghĩa các hoạt động trích lọc, chuyển đổi và tải dữ liệu từ các đối tượng nguồn đến các đối tượng đích.

2.5.3 Thẩm định và sinh mã

Thẩm định việc định nghĩa các đối tượng dữ liệu và đối tượng ETL và nhận dạng bất kỳ vấn đề hoặc lỗi nào nẩy sinh trong quá trình triển khai. Nếu các đối tượng chưa được hợp lệ thì việc sinh mã và triển khai không thể thực hiện. Chúng ta có thể kiểm tra các đối tượng và việc sinh các script tại bất cứ thời điểm nào trong quá trình triển khai.

2.5.4 Triển khai và thực thi

Sau khi thẩm định các định nghĩa và thiết kế, ta tiến hành vận hành và thực hiện việc bảo trì cần thiết đối với hệ thống.

2.6 Những ưu điểm nổi bật khi sử dụng Warehouse Builder

Việc tải dữ liệu vào các bảng thường thông qua các bước của tiến trình ETL. Ở đây dữ liệu được trích lọc từ dữ liệu gốc đưa vào vùng trung gian rồi được làm sạch, kiểm tra lỗi trước khi đưa vào kho dữ liệu. Các dữ liệu tổng hợp sẽ được tạo hay cập nhật. Quá trình này có thể tốn từ vài giờ đến nhiều ngày và đòi hỏi hàng GB đĩa cứng để lưu các phiên bản khác nhau của dữ liệu trong quá trình xử lý. Do thời gian để thực hiện tiến trình ETL tương đối dài nên dữ liệu trong DWH thường bị trễ, không đáp ứng được sự biến đổi tức thời trong dữ liệu. Để có được kho dữ liệu tức thời hay gần như tức thời, chúng ta cần thực hiện những công việc sau:

Giảm hay loại bỏ thời gian để lấy dữ liệu mới hoặc thay đổi từ các hệ thống nguồn.

Loại bỏ hay giảm thiểu thời gian cần để làm sạch, chuyển đổi và tải dữ liệu. Giảm thiểu thời gian để cập nhật các dữ liệu tổng hợp.

Từ phiên bản 9i trở lên, Oracle đã đưa ra những tính năng mới để hỗ trợ kho dữ liệu có tính tức thời. Đó là:

 Nắm bắt các thay đổi của dữ liệu (Change Data Capture)

Bảng ngoài (External table), hàm bảng (table function), cơ chế đường ống, lệnh MERGE và các khung nhìn được làm tư liệu (materialized view) để làm tươi nhanh dữ liệu.

2.6.1 Nắm bắt các thay đổi của dữ liệu

Chức năng này dùng để thực hiện các công việc chuyển dữ liệu từ các hệ thống nguồn vào DWH (nghĩa là phải lấy lại toàn bộ dữ liệu dù có thay đổi hay không thay đổi, dù thay đổi ít hay nhiều). Trước đây phải tìm các cột đánh dấu các bản ghi mới được tạo hay mới được cập nhật và chỉ lấy những bản ghi mới sau lần lấy dữ liệu gần nhất. Nhưng từ phiên bản 9i trở đi, Oracle đã có một cách làm tốt hơn gọi là “Change Data Capture”. Cơ chế này cho phép tự động đẩy các bản ghi mới hoặc có thay đổi sang kho dữ liệu. Change Data Capture hoạt động nhờ các trigger trên các bảng dữ liệu nguồn. Các trigger đẩy các thay đổi từ các lệnh insert, delete, update vào các bảng thay đổi để từ đó cập nhật vào kho dữ liệu.

Chính vì Change Data Capture lấy dữ liệu thay đổi thông qua các trigger.

Phương thức Change Data Capture là không đồng bộ và chỉ xảy ra với một thời gian trễ nhỏ, nên có thể coi gần như là tức thời. Dù việc nắm bắt các thay đổi của dữ liệu được thực hiện đồng bộ hay không đồng bộ, chúng đều dựa trên hình phát hành/đăng ký, trong đó bộ phát hành nắm bắt các thay đổi của dữ liệu và bộ đăng ký đọc tất cả hay một phần tập các thay đổi này.

2.6.2 Các bảng ngoại, hàm bảng, cơ chế đường ống và lệnh MERGE

Tính năng bảng ngoại cho phép chúng ta nhúng tệp điều khiển SQL*Loader trong một DDL script; tệp đó có thể tận dụng lợi thế của cơ chế xử lý song song, có thể được nối và có thể dùng làm đầu vào cho một lênh MERGE, để có thể thêm hay cập nhật dữ liệu sang một bảng khác trong cùng một câu lênh DML duy nhất. Ngoài việc không phải chạy nhiều tiến trình SQL*Loader khác nhau, bảng ngoại giúp chúng ta đỡ phải tải dữ liệu vào các bảng trung gian trong quá trình xử lý.

Các hàm bảng (Table function) có thể dùng trong quá trình làm sạch và chuyển đổi dữ liệu trong các thủ tục PL/SQL hay Java. Các hàm đó có thể xử lý dữ liệu riêng lẻ hay dữ liệu từ các bảng và trả về các bảng dữ liệu. Điều thú vị là các bảng đầu vào có thể là bảng ngoại hay các bảng dữ liệu nguồn bị thay đổi, nhờ đó chúng ta có thể chuyển dạng dữ liệu theo thời gian thực.

Ngoài ra, chúng ta có thể “đường ống hóa” các hàm bảng (cơ chế đường ống của Oracle cho phép trả về các bản ghi ngay từ đầu, trước khi quá trình xử lý kết thúc) để kết nối các hàm với nhau, buộc chúng chuyển tiếp các bản ghi cho tiến trình tiếp theo, không chờ một tiến trình kết thúc mới khởi động tiến trình kế tiếp.

Sau khi đã làm sạch và chuyển hóa dữ liệu, bước tiếp theo là cập nhật các bảng đa chiều. Trước đây, điều này được thực hiện bằng một tập hợp các lệnh INSERT và UPDATE. Với Oracle 9i, chúng ta có thể thực hiện điều này trong một bước duy nhất với lệnh MERGE. Hơn thế, chúng ta có thể gộp toàn bộ quá trình chuyển hóa dữ liệu vào lệnh MERGE đó bằng cách tham chiếu tới các bảng ngoại và hàm bảng.

Ba tính năng trên của Oracle 9i giúp chúng ta giảm đáng kể thời gian cần để tải dữ liệu vào kho dữ liệu cũng như giảm độ trễ giữa bước nhận dữ liệu nguồn với bước cập nhật các bảng đa chiều.

2.6.3 Khung nhìn làm tư liệu làm tươi nhanh dữ liệu

Trước đây, khi DBA tạo các bảng dữ liệu tổng hợp đơn lẻ để tăng thời gian phản hồi cho các lệnh truy vấn của người dùng thì các bảng dữ liệu tổng hợp đó phải được xóa đi và tạo lại khi có dữ liệu mới tải vào DWH. Vì thế, người dùng sẽ không thể truy cập dữ liệu tổng hợp trong lúc tiến trình tạo lại đang thực hiện. Với các khung nhìn làm tư liệu (Materialized View) của Oracle 9i, DBA có thể tạo các snapshot table dựa trên các câu lệnh truy vấn đến các bảng chi tiết của DWH với cơ chế chuẩn bị sẵn nhằm làm tươi các snapshot khi dữ liệu cơ sở thay đổi. Khi các khung nhìn làm tư liệu đó gặp một số điều kiện, chúng ta có thể cập nhật các snapshot với dữ liệu mới thay đổi chứ không cần tạo lại từ đầu. Điều này giảm đáng kể thời gian làm tươi các kết quả tổng hợp và cho phép người dùng nhận được chúng sớm hơn.

Chương III

ỨNG DỤNG DATA WAREHOUSE XÂY DỰNG HỆ THỐNG BÁO CÁO THỐNG KÊ CHO NGÂN HÀNG NHÀ NƯỚC

Hiện tại Ngân hàng Nhà nước Việt Nam (NHNN) đang có một hệ thống thu thập thông tin từ các Tổ chức tín dụng (TCTD) bao gồm các Ngân hàng, các tổ chức tài chính (công ty tài chính, công ty bảo hiểm, công ty chứng khoán,…). Theo định kỳ (năm, quý, tháng, ngày), các TCTD gửi dữ liệu báo cáo về Cục Công nghệ Tin học (CNTH) của NHNN bằng phần mềm Báo cáo Thống kê (BCTK) và Báo cáo tài chính (BCTC). Cục CNTH là nơi tổng hợp dữ liệu, tạo các báo cáo nghiệp vụ phục vụ cho các Vụ, các Cục của Ngân hàng Trung ương (NHTW) khai thác. Nhu cầu có một kho dữ liệu với các đặc điểm như: tổ chức dữ liệu đa chiều, nhất quán, chính xác và tích luỹ theo thời gian cho phép các đơn vị sử dụng truy xuất thông tin cố định hoặc đột xuất một cách dễ dàng và thuận lợi để cung cấp thông tin hỗ trợ ra quyết định của NHNN là rất cấp thiết. Vì vậy, xây dựng một kho dữ liệu (DWH) tập trung của NHTW, trước hết sẽ tránh được sự tản mát dữ liệu, có thể tập hợp và khai thác một cách triệt để và hiệu quả những nguồn thông tin đã có của NHNN qua mạng cục bộ hoặc truy nhập từ xa qua mạng WAN của NHNN dựa trên nền WEB là giải pháp thích hợp nhất. Đây chính là cơ sở cung cấp thông tin đầy đủ nhất cho quản lý, điều hành của NHTW và các chi nhánh NHNN.

3.1 Mô hình nghiệp vụ của hệ thống Báo cáo thống kê NHNN

3.1.1 Sơ đồ luồng thông tin của hệ thống Báo cáo thống kê

Các tổ chức tham gia vào hệ thống thông tin BCTK của NHNN được mô tả trên hình 3.1. Trong đó bao gồm:

− Ngân hàng Trung Ương

− Cục Công nghệ thông tin

− Các chi nhánh Ngân hàng Nhà nước

− Các chi nhánh và các hội sở của các Tổ chức tín dụng.

Theo định kỳ (năm, quý, tháng hoặc ngày), các Tổ chức tín dụng và hội sở các Tổ chức tín dụng cần gửi số liệu báo cáo thống kê về các chi nhánh NHNN. Các chi nhánh NHNN tập hợp các báo cáo gửi về Cục CNTH thông qua phần mềm BCTK hiện có theo bộ mã chỉ tiêu và phần mềm Báo cáo tài chính theo hệ

thống các tài khoản đã được các văn bản của NHNN qui định. Tại đây Cục CNTH tiến hành tổng hợp các dữ liệu theo những yêu cầu nghiệp vụ đặt ra để các Vụ, Cục và các đơn vị trực thuộc MHTW có thể khai thác, sử dụng.

Một phần của tài liệu (LUẬN văn THẠC sĩ) kho dữ liệu và ứng dụng xây dựng hệ thống dữ liệu trợ giúp quyết định về chính sách tiền tệ quốc gia (Trang 29 - 34)

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

(105 trang)