Dữ liệu tham khảo cần bổ sung vào kho dữ liệu để nhằm mục đích tra cứu và xác thực tính đứng đắn của dữ liệu như bộ tính lãi product code và danh sách phân loại tài khoản. Vì việc xác định lãi suất của một tài khoản khi mở sẽ phụ thuộc vào phân loại tài khoản, bộ lãi suất.
Dữ liệu tham
khảo Nguồn Bảng dữ liệu chiết xuất Ghi chú Product_code Core Banking ICTMS_PR_INT_UDEVALS Sự thay đổi về lãi suất Working day Core Banking STTM_LCL_HOLIDAY Ngày làm việc hay nghỉ Rate_tranfer Core Banking ICTM_ACC_UDEVALS Tỉ giá quy đổi theo loại tiền LSNB Core Banking IT_LSNB Lãi suất nội bộ cho việc
mua bán vốn trong nội bộ. Hình 2. 11: Bảng danh sách dữ liệu tham khảo đẩy vào kho dữ liệu.
Ngoài ra chúng cần làm rõ các quan hệ giữa các thực thể. Việc đặc tả các quan hệ giữa các thực thể dữ liệu trong core banking đã được mô tả tại hình 2.3. 2.2.3.4. Xử lý dữ liệu chuyển đổi và nạp vào kho.
Sự khác biệt lớn nhất giữa mô hình dữ liệu nghiệp vụ và mô hình dữ liệu kho dữ liệu đó là thời gian. Với mô hình dữ liệu nghiệp vụ thì dữ liệu luôn miêu tả về trạng thái hiện tại của doanh nghiệp (mang tính thời điểm) còn với kho dữ liệu thì theo quan điểm dữ liệu gắn liền với thời gian (mang tính lịch sử). Do vậy khi thiết kế kho ta cần chú ý việc thêm và các thành phần thời gian tới các thực thể có thể thay đổi. Giải pháp sử dụng là bổ sung thêm cột dữ liệu xác định thời gian của dữ liệu và với mỗi khi thuộc tính của thực thẻ thay đổi ta sẽ thêm một bản ghi mới vào kho dữ liệu. Qua đó đảm bảo tính nhất quán về dữ liệu cho kho. Xem xét yêu cầu và mô hình nghiệp vụ thì dữ liệu đẩy vào kho dữ liệu ngoài một số dữ liệu bất biến theo thời gian như: số tài khoản, số CIF, lãi suất, lsnb… thì còn một số dữ liệu có khẳ năng thay đổi chậm như: phân loại khách hàng (khách hàng trong quá khứ là doanh nghiệp siêu nhỏ nhưng hiện tại có thể là doanh nghiệp vừa và nhỏ). Để đảm bảo kho dữ liệu lưu giữ chính xác thông tin và đưa ra dữ liệu nhất quán trong quá khứ thì phải có mốc để xác định chính xác giá trị dữ liệu ứng với thời điểm quá khứ.
Chiều Thuộc tính Thay đổi Tần suất cập nhập
Thuộc tính bổ sung CIF Class Phân loại khách hàng Có Tháng MonthYear Khu vực Branch Phân loại khu vực Có Tháng MonthYear Main Branch Trực thuộc chi nhánh Có Tháng MonthYear CCy Loại tiền của TK Không
Account_Class Phân loại tk Không
Product_code Bộ tính lãi suất Có Ngày Dữ liệu tham khảo Hình 2. 12: Bảng danh sách dữ liệu chiều thay đổi theo thời gian.
Hình 2. 13: Thêm thành phần thời gian vào dữ liệu.
Theo yêu cầu về dự án, dữ liệu phân tích chi tiết nhất chính là số dư tài khoản tại ngày. Nên thay vì lưu toàn bộ dữ liệu giao dịch thì dữ liệu trong kho sẽ được tổng hợp theo số dư tài khoản theo ngày. Quá trình xử lý tại vùng đệm sau đó đẩy vào kho:
Đầu vào: Dữ liệu thông tin tài khoản trên core banking vào cuối ngày.
Đầu ra: Thông tin tài khoản được đẩy vào bảng trung gian gồm số tài khoản, ngày, lãi suất… với huy động là bảng it_lsnb_tdcasa_daily, cho vay là bảng it_lsnb_tckt_cl_daily.
Hình 2. 14: Bảng dữ liệu chính trong kho.
Việc tạo và duy trì các kết nối giữa các thực thể được sử dụng với khóa đại diện. Thông thường, mỗi bảng đều có một khoá chính dùng định danh cho từng dòng của nó. Khoá này có thể tạo bởi 1 hay nhiều cột. Trong dữ liệu nguồn, khoá này là không thống nhất, và có thể mang nhiều kiểu khác nhau, cũng có thể được tạo tự động bởi cơ sở dữ liệu nguồn. Trong kho dữ liệu, khoá này gọi là khoá tự nhiên. Vì những lí do trên đây, khoá tự nhiên của dữ liệu nguồn không thể được sử dụng trong một hệ thống chung của kho dữ liệu. Thay vào đó, người
ta sử dụng khoá đại diện, với các đặc điểm sau:
Chỉ bao gồm 1 cột: Đơn giản cho phép kết
Tạo bởi gói ETL trong lúc nạp dữ liệu: Thống nhất giữa nhiều nguồn dữ
liệu.
2.2.3.5. Tạo thêm các dữ liệu tính toán.
Để cải thiện tốc độ truy vấn của kho dữ liệu. Ta sẽ bổ sung thêm 02 loại dữ liệu sau:
Dữ liệu phục vụ việc tính toán it_timE. IT_TIME CALENDAR_YEAR_CAL_YEAR_CODE NUMBER CALENDAR_YEAR_END_DATE DATE CALENDAR_YEAR_TIME_SPAN NUMBER CALENDAR_YEAR_DESCRIPTION VARCHAR2(2000) CALENDAR_YEAR_NAME VARCHAR2(25) CAL_YEAR_NUMBER NUMBER CAL_YEAR_START_DATE DATE CALENDAR_QUART_CAL_QUARTER_CO NUMBER CALENDAR_QUARTER_END_DATE DATE CALENDAR_QUARTER_TIME_SPAN NUMBER CALENDAR_QUARTER_DESCRIPTION VARCHAR2(2000) CALENDAR_QUARTER_NAME VARCHAR2(25) CAL_QUARTER_NUMBER NUMBER QUARTER_OF_YEAR NUMBER CAL_QUARTER_START_DATE DATE CALENDAR_MONTH_CAL_MONTH_CODE NUMBER CALENDAR_MONTH_END_DATE DATE CALENDAR_MONTH_TIME_SPAN NUMBER CALENDAR_MONTH_DESCRIPTION VARCHAR2(2000) CALENDAR_MONTH_NAME VARCHAR2(25) CAL_MONTH_NUMBER NUMBER CAL_MONTH_START_DATE DATE MONTH_OF_QUARTER NUMBER MONTH_OF_YEAR NUMBER DAY_DATE DATE DAY_DAY_CODE NUMBER DAY_START_DATE DATE DAY_END_DATE DATE DAY_TIME_SPAN NUMBER
JULIAN_DATE NUMBER DAY_DESCRIPTION VARCHAR2(2000) DAY_NAME VARCHAR2(25) DAY_OF_CAL_WEEK NUMBER DAY_OF_CAL_MONTH NUMBER DAY_OF_CAL_QUARTER NUMBER DAY_OF_CAL_YEAR NUMBER
Dữ liệu tổng hợp theo yêu cầu báo cáo bảng ojb_objective
Hình 2. 15: Tạo thêm dữ liệu tính toán, tổng hợp.
Dữ liệu phục vụ việc tính toán bổ sung thêm bảng thông tin về thời gian (it_time_day) sẽ trả về thông tin chi tiết của một ngày là thuộc tuần nào? Tháng nào? Quý nào? Năm nào? Là ngày làm việc hay ngày nghỉ.
Dữ liệu tổng hợp là việc tính trước dữ liệu tổng hợp theo tháng ứng phân loại tài khoản, phân loại khách hàng, loại tiền..
2.2.3.6. Tạo phân cấp dữ liệu.
Qua xem xét dữ liệu và yêu cầu kinh doanh, kho dữ liệu sẽ bao gồm các phân cấp dữ liệu như sau:
Phân cấp về khu vực địa lý.
Phân cấp về loại tiền.
Phân cấp về phòng giao dịch, chi nhánh.
Phân cấp về loại tài khoản.
2.2.3.7. Mô hình dữ liệu kho.
Kho được tổ chức theo mỗi hình dữ liệu quan hệ như gồm loại bảng:
Bảng dữ liệu chiều: như thông tin khách hàng, tài khoản, loại tiền…
Bảng dữ liệu phục vụ tính toán: bảng thời gian.
Bảng dữ liệu tổng hợp.
Bảng dữ liệu tham khảo.
Việc quản lý và duy trì quan hệ trong kho dữ liệu được tổ chức thông qua một khóa đại diện thay vì sử dụng khóa có sẵn từ hệ thống hay khóa theo bộ mã tiêu chuẩn quốc tế. Việc sử dụng khóa đại diện kiểu number giúp việc truy vấn hệ thống nhanh hơn và đảm bảo việc nhất quán cùng một dữ liệu trên OLTP nhưng tại 2 thời điểm khác nhau lại có các thuộc tính xem xét khác nhau.
CUST_ACCOUNTS PK,FK2 CUSTOMER_NO PK,FK1 EFFECTIVE_DATE PK,FK1 ACCOUNT_CLASS BRANCH_CODE CUST_AC_NO CUST_NO CCY AC_OPEN_DATE DR_GL CR_GL PRODUCT_CODE CCY PK,FK1 CUSTOMER_NO PK,FK1 ACCOUNT_CLASS PK,FK1 EFFECTIVE_DATE CCY_CODE CCY_NAME COUNTRY ACCOUNT_CLASS PK ACCOUNT_CLASS PK EFFECTIVE_DATE DESCRIPTION DEFAULT_TENOR_DAYS DEFAULT_TENOR_MONTHS DEFAULT_TENOR_YEARS CLOSE_ON_MATURITY TDCASA_BALANCE PK,FK2,FK3 CUSTOMER_NO PK,FK3 EFFECTIVE_DATE PK,FK3 ACCOUNT_CLASS DAY_TO_RUN ACCTNO CURRENCY AC_BRANCH RATE LSNB CUR_BALANCE CUSTOMER PK CUSTOMER_NO CUSTOMER_TYPE CUSTOMER_NAME1 ADDRESS NATIONALITY LOCAL_BRANCH UNIQUE_ID_VALUE BRANCH PK,FK1 CUSTOMER_NO PK,FK1 ACCOUNT_CLASS PK,FK1 EFFECTIVE_DATE BRN_CODE BRN_NAME BRN_ADDR PARENT_BRANCH BRN_STRESS BRN_CITY BRN_CONTRY CONTRACT_MASTER PK,FK1,FK3 CUSTOMER_NO PK,FK1,FK3 ACCOUNT_CLASS PK,FK1,FK3 EFFECTIVE_DATE BRANCH CONTRACT_REF_NO PRODUCT COUNTERPARTY CURRENCY BOOKING_DATE VALUE_DATE MATURITY_DATE VERSION_NO GLTM_GLMASTER PK GL_CODE GL_DESC PARENT_GL EFFECTIVE_DATE PRODUCT_ACCROLE GL_CODE PRODUCT_CODE ROLE_TYPE STATUS ACCOUNT_HEAD ACCOUNT_APPS_MASTER PK,FK1 ACCTNO PK,FK2,FK3 CUSTOMER_NO PK,FK2,FK3 ACCOUNT_CLASS PK,FK2,FK3 EFFECTIVE_DATE ACCOUNT_NUMBER BRANCH_CODE CUSTOMER_ID PRODUCT_CODE VALUE_DATE MATURITY_DATE AMOUNT_FINANCED TCKT_BALANCE PK ACCTNO DAY_TO_RUN PRODUCT_CODE CURRENCY AC_BRANCH RATE LSNB CUR_BALANCE GL_COE
Hình 2. 17: Thiết kế CSDL của kho dữ liệu.
2.2.4. Xây dựng kho dữ liệu cục bộ.
Kho dữ liệu cục bộ về huy động, cho vay được chiết xuất dữ liệu từ kho dữ liệu trung tâm. Và là nơi người dùng truy cập thực hiện các truy vấn dữ liệu. Kho dữ liệu cục bộ được tổ chức theo mô hình chiều
Hình 2. 18: Lược đồ khối dữ liệu cục bộ về huy động.
Bảng sự kiện: dữ liệu từ bảng TDCASA_BALANCE.
Bảng chiều thời gian: thiết lập hệ thống tự sinh.
Bảng chiều khách hàng: dữ liệu nạp từ bảng CUSTOMER.
Bảng chiều phòng giao dịch: dữ liệu nạp từ bảng BRANCH.
Bảng chiều location: dữ liệu được nạp từ bảng BRANCH.
CHƯƠNG 3: CÀI ĐẶT, THỬ NGHIỆM
Với bản thiết kế logic về kho dữ liệu sản phẩm nhằm đáp ứng nhu cầu về hệ thống báo cáo cho Ban lãnh đội. NLLV tiến hành cài đặt thử nghiệm hệ thống để đánh giá kết quả với công cụ Oracle Warehouse Builder trên nền tảng Oracle Database 10g với nguồn dữ liệu thực tế năm 2011 của Ngân hàng TMCP Đại Dương.
3.1. Giới thiệu về công cụ Oracle Warehouse Builder.
Oracle Warehouse Builder (OWB) còn được gọi là Warehouse Builder (WB) là một framework có khả năng mở rộng, một phần không thể thiếu của Oracle Database. Nó cung cấp các giải pháp thiết kế, triển khai và quản lý KDL cho doanh nghiệp, các KDL cục bộ và các ứng dụng quản trị doanh nghiệp thông minh.
OWB còn là một công cụ thực hiện quá trình trích chiết, chuyển đổi và nạp (ETL) dữ liệu vào trong KDL.
OWB gồm hai thành phần như hình 13: thành phần thiết kế (design environment) và thành phần thực thi (runtime environment). Mỗi thành phần xử lý các khía cạnh khác nhau của hệ thống. Thành phần thiết kế xử lý dữ liệu metadata, thành phần thực thi xử lý dữ liệu vật lý.
Hình 3. 1: Các thành phần của OWB.
Thành phần thiết kế bao gồm kho dữ liệu metadata ( metadata repository) được chứa trong cơ sở dữ liệu oracle và một tập các công cụ thiết kế và báo cáo phía client, công cụ này được viết bằng Java hoặc HTML
Tạo ra metadata là một hoạt động thiết kế cho phép sử dụng các công cụ phía client để thiết kế các đối tượng, các quy trình và luồng công việc. Warehouse Builder hỗ trợ thiết kế lược đồ cơ sở dữ liệu quan hệ, lược đồ đa
chiều, quá trình xử lý ETL và các công cụ hỗ trợ người dùng cuối thông qua client.
Các hệ thống nguồn (source system) đóng một vai trò quan trọng trong bất kỳ giải pháp ETL nào và thay vì việc thực hiện ETL một cách thủ công thì Warehouse Builder cung cấp các thành phần tích hợp các thông tin liên quan vào trong kho của nó.
Một thế mạnh của kiến trúc OWB là quy trình quản lý vòng đời, nó cho phép metadata được cập nhật dựa trên thay đổi của các dữ liệu nguồn. Sau đó OWB dễ dàng cập nhật những thay đổi và tiến trình ETL và đến hệ thống đích.
Thành phần thực thi:
Khi người dùng đã thiết kế hệ thống ETL dựa trên một mức logic, họ cần chuyển nó vào môi trường cơ sở dữ liệu vật lý. Trước khi điều này được thực hiện thì thông tin về cơ sở dữ liệu được bổ sung vào thiết kế logic. Sau khi quá trình cấu hình được hoàn thành thì mã code được sinh ra.
OWB tạo ra một ngôn ngữ chuyên biệt cho tiến trình ETL và các câu lệnh SQL DDL cho các đối tượng cơ sở dữ liệu. Mã code sinh ra được triển khai hoặc tới hệ thống hoặc tới cơ sở dữ liệu.
Thực hiện các chức năng ETL có nghĩa là chạy các mã code đã được triển khai vào trong cơ sở dữ liệu. Quá trình ETL chuyển dữ liệu từ nguồn và cơ sở dữ liệu đích.
3.2. Môi trường cài đặt và các thành phần:
Thành phần Mô tả
Dữ liệu nguồn –
Oracle Data base 10g Dữ liệu thực tế 2010 cài đặt trên hệ thống máy chủ
Dữ liệu đích Laptop Core i3, RAM 2GB cài đặt công cụ Oracle Warehouse Builder 11gR2 và Orace data base 11g
NLV tiến hành cài đặt và xây dựng kho dữ liệu đầu cuối về sản phẩm huy động để kiểm tra khẳ năng đáp ứng yêu cầu và tính đứng đắn của bản thiết kế của chương 2.
3.3. Các bước thao tác.
3.3.1. Xây dựng các bảng chiều.
Sử dụng OWB để tạo các bảng chiều theo thiết kế.
REAL_TIME: về thời gian với phân cấp theo lịch chuẩn với mức độ ngày, tháng, quý, năm. Và lưu trữ theo RLOAP.
Hình 3. 2: Bảng chiều thời gian.
Hình 3. 3: Phân cấp bảng chiều thời gian.
REAL_CLASS_ACCT: loại tiền gửi tiền.
Hình 3. 5: Phân cấp chiều loại hình tiền gửi.
REAL_CUSTOMER: về phân loại khách hàng.
Hình 3. 6: Bảng chiều khách hàng.
Hình 3. 7: Phân cấp bảng chiều khách hàng.
3.3.2. Tạo cube
Hình 3. 8: Khối cube huy động.
Hình 3. 9: Đơn vị đo Cube.
Hình 3. 10: Chiều của cube.
3.3.3. Thiết lập nguồn dữ liệu, chiết xuất và xử lý dữ liệu.
OWB cho phép ta dễ dàng định nghĩa các kết nối tới nguồn dữ liệu cần chiết xuất và cung cấp một công cụ trực quan hóa giúp ta dễ dàng thiết lập việc xử lý dữ liệu.
Nguồn dữ liệu là hệ thống core bank (dữ liệu năm 2010) được thiết lập với tên KZ. OWB cho phép ta chọn các đối tượng dữ liệu sẽ được chiết vào core và nạp vào các dữ liệu meta của đối tượng để phục vụ cho việc thiết kế.
Hình 3. 11: Thiết lập nguồn dữ liệu.
Quá trình chiết xuất và xử lý dữ liệu với giao diện đồ họa thân thiện.
Chiều thời gian: OWB cung cấp wizard để xây dựng chiều thời gian.
Hình 3. 12: Chiết xuất và xử lý dữ liệu chiều thời gian.
Chiều loại hình tiền gửi: chiết xuất và thiết lập các dữ liệu tổng hợp phục vụ tính toán.
Hình 3. 13: Chiết xuất và xử lý dữ liệu chiều loại hình tiền gửi.
3.3.4. Triển khai.
Toàn bộ các thiết kế phía trên là thiết kế logic và nó chưa thực sự tồn tại trong cơ sở dữ liệu. Triển khai là công việc thực hiện chuyển đổi các thiết kế logic thành thiết kế vật lý lưu trữ trong cơ sơ dữ liệu. OWB có wizard hỗ trợ việc triển khai.
Hình 3. 15: Giao diện triển khai thiết kế logic.
Sau khi triển khai ta sẽ có các đối tượng vật lý trong cơ sở dữ liệu như bảng, squenes… các bảng sẽ được thiết lập với index tối ưu phục vụ cho các truy suất dữ liệu. Toàn bộ các bảng sẽ được liên kết theo một khóa đại diện (kiểu number) do OWB tự sinh ra theo đặc tả thiết kế logic.
Ngoài các bảng trực quan ta thấy trên giao diện, hệ thống sẽ sinh thêm các bảng dữ liệu hỗ trợ việc xử lý dữ liệu như: bảng phân cấp (bảng cầu nối chỉ ra phân cấp của dữ liệu), bảng dữ liệu tổng hợp được tính toán trước…
3.3.4. Nạp dữ liệu vào kho dữ liệu.
Oracle warehouse Build là công cụ mạnh hỗ trợ cho quá trình ETL dữ liệu từ nguồn vào kho dữ liệu. Với giao diện trực quan dễ sử dụng.
Quá trình nạp dữ liệu gồm:
Bước 1: Nạp dữ liệu các bảng chiều
Bước 2: Khi bước 1 hoàn thành tiền hành dựng cube dữ liệu Bước 3: Trả về thông báo kết quả.
Hình 3. 16: Giao diện thiết kế kịch bản nạp dữ liệu vào kho.
Thiết kế logic cho quá trình nạp dữ liệu vào kho dữ liệu ta tiến hành triển khai để biến thiết kế logic thành thiết kế vật lý cụ thể là script mã nguồn quá trình nạp dữ liệu.
Sau đó ta tiến hành chạy nạp dữ liệu vào kho thông qua công cụ OWB cung cấp sẵn. Chi tiết về qua trình nạp dữ liêu như hình dưới.
Hình 3. 18: Mã nguồn nạp dữ liệu vào kho.
Bây giờ các đối tượng vật lý sẽ có dữ liệu được chiết xuất từ hệ thống nguồn. Ta có thể truy cập dữ liệu thông qua các công cụ SLQ Plus, SQL Developer hoặc đơn giản xem dữ liệu trực tiếp trên OWB.
Dữ liệu bảng chiều.
Dữ liệu cube.
Hình 3. 20: Dữ liệu cube.
3.4. Báo cáo dựa trên kho dữ liệu.
Kho dữ liệu đã được thiết lập với các dữ liệu phù hợp với việc phân tích dữ liệu và được đánh chỉ mục phù hợp với báo cáo.Sử dụng công cụ truy xuất dữ liệu để thiết lập dữ liệu phục cho các báo cáo cơ bản
Báo cáo sự biến động loại hình tiền gửi không kỳ hạn việt nam đồng
Cơ cấu tỉ trọng tiền gửi theo loại hình tiền gửi việt nam đồng.
Báo cáo biến động và so sánh loại hình tiền gửi có kỳ hạn và không kỳ hạn