Khóa luận tốt nghiệp Quy trình xây dựng và kiểm thử data warehouse
2.1.2 Thiết kế
Sau khi tài liệu phân tích u cầu được hồn thiện, tất cả các đội trong dự án sẽ lấy tài liệu phân tích yêu cầu làm cơ sở cho những công việc tiếp theo. Đội dự án sẽ đóng vai trị chủ chốt trong quy trình thiết kế data warehouse. Tất cả mọi công việc đều phải dựa trên kế hoạch. Đối với giai đoạn thiết kế, đội thiết kế sẽ phải lập kế hoạch thiết kế chi tiết gửi tới phía khách hàng phê duyệt. Nếu kế hoạch thiết kế được thông qua đội dự án bắt đầu thiết kế kiến trúc, sau đó ban quản trị dự án sẽ xem xét sự phù hợp để cho đội thiết kế tiếp tục thiết kế mơ hình dữ liệu, thiết kế báo cáo, luồng ETL và MA. Khi thiết kế xong đội thiết kế phải hoàn thiện tài liệu gửi cho ban quản trị dự án cũng như khách hàng để chờ phê duyệt ký nhận tài liệu sử dụng cho quá trình xây dựng.
Khóa luận tốt nghiệp Quy trình xây dựng và kiểm thử data warehouse
2.1.2.1 Thiết kế mơ hình dữ liệu
Mơ hình dữ liệu là một khn dạng của dữ liệu cho phép người dùng nhìn thấy dữ liệu dưới dạng lược đồ (scheme). Nó cho ta biết cấu trúc của cơ sở dữ liệu, bao gồm hai thành phần: hệ thống các ký hiệu để mô tả dữ liệu, tập hợp các phép tốn được thao tác trên dữ liệu đó. Chính vì vậy mơ hình dữ liệu là phần cốt yếu trong data warehouse. [9]
Đầu ra của quy trình thiết kế mơ hình dữ liệu là hai tài liệu thiết kế: tài liệu thiết kế mơ hình logic và tài liệu thiết kế mơ hình vật lý. Đầu tiên đội thiết kế tiến hành thiết kế mơ hình ở mức khái niệm sau đó nếu phía khách hàng xem xét thấy hợp lý sẽ tiếp tục thiết kế mơ hình logic và hồn thiện tài liệu thiết kế mơ hình logic nếu được khách hàng cũng như quản trị dự án xem xét phê duyệt. Sau khi có tài liệu thiết kế mơ hình logic đội thiết kế cần thiết kế tiếp mơ hình vậy lý sau đó hồn thiện tài liệu thiết kế gửi đi chờ phê duyệt để kết thúc quy trình con thiết kế mơ hình dữ liệu trong quy trình thiết kế data warehouse.
2.1.2.2 Thiết kếETL
ETL chính là viết tắt của:
Extract - giải nén dữ liệu từ nhiều hệ thống không đồng nhất.
Transform - Áp dụng các nghiệp vụ logic theo quy định của các doanh nghiệp trên các dữ liệu thu được từ các nguồn.
Load - Đấy dữ liệu vào kho cuối cùng sau khi hồn tất 2 q trình trên.
Thử nghiệm ETL được lây lan qua tất cả và từng giai đoạn của dòng dữ liệu trong kho bắt đầu từ cơ sở dữ liệu nguồn tới mục tiêu cuối cùng là kho dữ liệu. Chính vì vậy cần có tài liệu thiết kế ETL để xác định được cách thức di chuyển dữ liệu phù hợp.
Công việc đầu tiện trong giai đoạn thiết kế ETL chính là xây dựng luồng ETL tổng để thấy dữ liệu sẽ được đẩy và phân bổ qua các tầng như thế nào. Từ luồng ETL tổng đội thiết kế sẽ thiết kế luồng ETL chi tiết cho từng quy trình, tích hợp các quy trình sau đó hồn thiện tài liệu thiết kế ETL. Mỗi giai đoạn thiết kế đều chịu sự giám sát quản lý của ban quản trị dự án.
Khóa luận tốt nghiệp Quy trình xây dựng và kiểm thử data warehouse
2.1.2.3 Quy trình thiết kế báo cáo
Trong các doanh nghiệp đặc biệt là các ngân hàng nhu cầu tạo lập các báo cáo luôn luôn được chú trọng và kho dữ liệu được tạo ra một phần là để đáp ứng được nhu cầu này. Nên khi thiết kế data warehouse khơng thể thiếu quy trình thiết kế báo cáo. Đội phân tích sẽ dựa trên những yêu cầu được cung cấp từ phía khách hàng về những phần tử trong báo cáo từ đó xác định bố cục báo cáo cơ sở. Sau khi đã thiết kế mẫu báo cáo đội phân tích cần đưa ra các trường hợp sử dụng, xác định cách thức tạo lập và ý nghĩa của các phần tử dữ liệu tham gia vào báo cáo. Bước tiếp theo của giai đoạn thiết kế báo cáo là kết nối các phần tử dữ liệu của báo cáo với data mart. Khách hàng cũng như quản trị dự án sẽ xem xét lại tất cả các bước, nếu được chấp nhận đội thiết kế sẽ hoàn thiện tài liệu thiết kế báo cáo sau đó gửi cho khách hàng và quản trị dự án phê duyệt.
2.1.3 Xây dựng
Quy trình xây dựng data warehouse gồm rất nhiều bước khác nhau.
Đối với đội phát triển: đầu tiên nhóm cần lập kế hoạch chuẩn bị cho hoạt động code để gửi tới ban quản trị dự án nếu được thông qua sẽ chuyển cho bộ phận IT phía khách hàng phê duyệt. Sau khi bản kế hoạch được phê duyệt đội DEV sẽ phát triển cũng như đặc tả các quy ước code và đào tạo các quy ước code cho các thành viên trong nhóm.
Một trong những yếu tố đảm bảo hoạt động xây dựng được thành công là xác định công cụ được sử dụng hỗ trợ trong quá trình code. Bước tiếp theo của quy trình xây dựng data warehouse là mã hóa các bộ thư viện cần sử dụng cũng như tiến hành kiểm thử đơn vị. Ban quản trị dự án sẽ xem xét sự mã hóa cũng như bước kiểm thử đơn vị ban đầu của DEV nếu khơng có vấn đề đội phát triển có thể phát triển dựa trên luồng ETL đồng thời xem xét code, phát triển báo cáo, phát triển MA và trong mỗi bước đều phải tiến hành kiểm thử đơn vị. Kiểm thử đơn vị được thực hiện bởi đội lập trình với mục đích kiểm tra các hàm, thủ tục....
Cơng việc tiếp theo là của đội kiểm thử. Đội kiểm thử sẽ tiến hành kiểm thử data warehouse được xây dựng về cách thức lưu trữ tổ chức dữ liệu, kiểm tra dữ liệu có được truyền đủ và chính xác hay khơng.
Khi thực hiện kiểm tra xong đội phát triển phải tạo hướng dẫn cài đặt. hướng dẫn người dùng rồi chuyển cho ban quản trị dự án xem xét nếu đạt chất lượng sẽ tiến hành đóng gói và chuyển giao cho người dùng hay nói cách khác là thực hiện UAT (kiểm thử chấp nhận).
Sau bước kiểm thử chấp nhận của người dùng đội phát triển phải tổng kết và hoàn thiện tất cả các tài liệu để chuyển cho ban quản trị dự án xem xét, nếu tất cả các tài liệu được ban quản trị và phía khách hàng chấp nhận, phê duyệt các tài liệu sẽ được ký nhận và quá trình xây dựng data warehouse kết thúc.
Kiểm thử data warehouse được thực hiện ở giai đoạn xây dựng để đảm bảo rằng data warehouse tối ưu hóa được các lỗi cịn tồn tại trước khi chuyển giao cho khách hàng. Data warehouse xây dựng sẽ không để mất bất cứ dữ liệu giao dịch nào, chức năng lưu trữ đạt hiệu quả cao.
Khóa luận tơt nghiệp Quy trình xây dựng và kiêm thử data warehouse
Cụ thể để xây dựng data warehouse công việc code được hiểu đơn giản là xây dựng 3 tầng của data warehouse
Bước 1: Trích xuất dữ liệu giao dịch Bước 2: Xây dựng tầng STAGING
Bước 3: Xây dựng tầng System Of Records (SOR) Bước 4: Xây dựng tầng Data Mart
2.1.3.1 Trích xuất dữ liệu giao dịch
Phần lớn việc xây dựng một DW đang kéo dữ liệu từ các nguồn dữ liệu khác nhau và đặt nó vào một khu vực lưu trữ trung tâm. Trên thực tế, đây có thể là bước khó hồn thành nhất. Chúng ta cần biết hệ thống cơ sở dữ liệu nào sẽ sử dụng cho khu vực của bạn và cách kéo dữ liệu từ nhiều nguồn khác nhau vào khu vực đó.
Đối với nhiều công ty vừa và nhỏ, Microsoft đã đưa ra một công cụ tuyệt vời để khai thác dữ liệu. Đó chính là dịch vụ chuyển đổi dữ liệu (DTS), là một phần của Microsoft SQL Server 7.0 và 2000, cho phép bạn nhập và xuất dữ liệu từ bất kỳ cơ sở dữ liệu phù hợp OLEDB hoặc ODBC nào miễn là bạn có nhà cung cấp dịch vụ thích hợp. Cơng cụ này có sẵn, miễn phí khi bạn mua Microsoft SQL Server. Tuy nhiên thực tế là bạn sẽ khơng phải ln ln có một nguồn dữ liệu tuân thủ theo OLEDB hoặc ODBC để làm việc. Nếu không, bạn buộc phải đầu tư đáng kể thời gian và nỗ lực viết một chương trình tùy chỉnh chuyển dữ liệu từ nguồn gốc vào cơ sở dữ liệu nguồn tổng hợp (staging).
Đội phát triển sẽ phải tạo Data Connection: lưu trữ các Data Connection kết nối đến các CSDL STG (Staging), SOR (System of Records) và DMT (Data Mart). Các data connection sẽ được tạo vào thời điểm dữ liệu được đẩy lên tầng tương ứng.
2.1.3.2 Xây dựng tầng STAGING
Một bước quan trọng khơng kém sau khi trích xuất là chuyển đổi dữ liệu được chiết xuất từ nhiều nguồn. Hệ thống nguồn của datawahouse được tạo hầu như được xây dựng bởi nhiều chuyên gia IT khác nhau. Hầu hết các cơng ty đều có dữ liệu tồn tại trong một số hệ thống quản lý cơ sở dữ liệu khác nhau: MS Access, MS SQL Server, Oracle, Sybase, v.v. Nhiều cơng ty cũng sẽ có nhiều dữ liệu của họ trong các tệp tin phẳng, bảng tính, hệ thống thư và các loại lưu trữ dữ liệu khác. Khi xây dựng kho dữ liệu, dữ liệu từ các nguồn sẽ được liên hệ với nhau và được xử lý tại nguồn dữ liệu tập trung.
Mỗi 1 bảng bên nguồn thường sẽ được chia ra làm 3 loại bảng trong STG: PREDAY, TODAY, MINUS (trừ các bảng giao dịch)
Khóa luận tốt nghiệp Quy trình xây dựng và kiểm thử data warehouse Đầu tiên dữ liệu nguồn sẽ được đẩy vào bảng TODAY và PREDAY trên Staging (Truncate).
Sau đó Dùng lệnh minus giữa 2 bảng TODAY <> PREDAY để đẩy dữ liệu vào bảng MINUS trên Staging.
Sau khi tất cả dữ liệu nằm trong staging, tất cả dữ liệu sẽ được định dạng. Trước khi định dạng dữ liệu, các bảng và cột giữa các hệ thống phải được tìm ra mối liên hệ với nhau.
2.1.3.3 Xây dựng tầng SOR
Dữ liệu từ nguồn STAGING sẽ được đẩy vào bảng TWT (Temp Work) tương ứng trên SOR nhằm lưu trữ các thông tin cần thiết, và chỉ bao gồm các giá trị code đối với các giá trị sẽ chuyển sang ID trên SOR
2.1.3.4 Xây dựng tầng Data Mart
Các luồng ETL xử lý dữ liệu từ nguồn SOR được tổng hợp thành các chủ đề khác nhau, bao gồm các bảng Dimession theo các chủ đề tương ứng cho Data Mart
2.1.4 Triển khai hệ thống
Sau khi đã thiết kế cũng như xây dựng được các thành phần của data warehouse, cơng ty sẽ căn cứ vào đó để ước tính cơng việc và lên kế hoạch cho việc triển khai dự án. Phạm vi của mỗi dự án liên quan tới kho dữ liệu là vô cùng lớn chính vì thế lịch trình triển khai dự án sẽ được chia thành từng giai đoạn.
Tên cột Mơ tả
CL_ID Khóa tự tăng của bảng CV
SRC_STM_ID Mã khóa nguồn cho các cập nhật mới nhất của dữ liệu
CL_SCM_ID Mã phân loại đối tượng
CL_SCM_SEQ_NBR Số tự tăng duy nhất của giá trị phân loại trong đối tượng phân loại
EFF_DT Ngày sự thể hiện của thực thể hợp lệ
END_DT Ngày mà sau đó thực thể sẽ khơng cịn giá trị
CL_CODE Mã phân loại được sử dụng khi mã bộ nhớ ngồi có ý nghĩa, trong
trường hợp ngôn ngữ môi trường kho dữ liệu, sẽ được gán cho mỗi lần xuất hiện phân loại để xác định
CL_NM Tên chính được gán cho giá trị phân loại. Tên này được sử dụng trong
các báo cáo và tài liệu.
2.2Đánh giá quy trình xây dựng data warehouse
2.2.1 Điểm mạnh
Quy trình xây dựng data warehouse bao gồm rất nhiều các giai đoạn nhưng tất cả đều được thiết lập một cách chi tiết rõ ràng dễ dàng quản lý cũng như thực hiện, các thành viên trong đội dự án nắm được rõ công việc cần thực hiện, công việc không bị chồng chéo.
Từng bước của quy trình đều được giám sát một cách cẩn thận chính bởi vậy nên giảm thiểu rủi ro, quản trị dự án cũng nắm được rõ tình hình thực hiện, có những biện pháp quản lý hợp lý, kịp thời.
2.2.2 Hạn chế
Đối với hệ thống data warehouse được công ty xây dựng do hệ thống tích hợp lớn nên các yêu cầu về nghiệp vụ ban đầu có thể bị thay đổi khơng giống với tài liệu thiết kế ban đầu và tính linh hoạt trong quy trình vẫn cịn chưa cao nên hoạt động điều chỉnh theo những thay đổi vẫn chưa hoàn toàn được đáp ứng.
Tại bước xây dựng, mơ hình dữ liệu được xây dựng theo mơ hình hình sao, đơn giản tiết kiệm thời gian nhưng bộ nhớ lưu trữ lớn và người dùng không thể thấy được dữ liệu ở mức chi tiết.
CHƯƠNG 3: XÂY DỰNG TESTCASE THỰC HIỆN KIỂM THỬ DATA WAREHOUSE LƯU TRỮ DỮ LIỆU VỀ HỢP ĐỒNG GIAO DỊCH TRONG
NGÂN HÀNG
3.1Giới thiệu về bộ dữ liệu hợp đồng giao dịch trong data warehouse
Theo chuẩn của IBM Banking Data Model, dữ liệu chi tiết của DWH gồm 9 nội dung: Involved Party, Arrangement, Condition, Product, Location, Classification, Business Direction Item, Event và Resource Item. Đối với data warehouse lưu trữ dữ liệu hợp đồng giao dịch của khách hàng trong hoạt động ngân hàng được xây dựng với những nhóm sau:
3.1.1 Nhóm Classification (CL)
Nhóm bảng này chứa những dữ liệu định nghĩa mang tính chất phân loại như loại khách hàng gồm khách hàng cá nhân, tổ chức; loại hợp đồng gồm hợp đồng vay, hợp đồng mở thẻ; hợp đồng gửi tiết kiệm; các nhóm nợ...
Mơ tả
IP_ID Mã chủ thể
EFF_DT Ngày có hiệu lực
END_DT Ngày đáo hạn
IST_DT Ngày insert dữ liệu
IP_NM Tên chủ thể
IP_TP_ID Mã phân loại chủ thể
SRC_STM_ID Mã nguồn hệ thống
UNQ_ID_IN_SRC_STM Khóa thay đổi
Tên cột Mơ tả
IDV_ID Mã khách hàng cá nhân
GND_ID Mã giới tính
BRTH_DT Ngày sinh
CTY_OF_RSDNC_ID Mã quốc gia cư trú
BRTH_PLC Nơi sinh
Bảng 3.1: Bảng các thuộc tính của bảng CV
Khóa luận tốt nghiệp Quy trình xây dựng và kiểm thử data warehouse
3.1.2 Nhóm Involved party (IP)
Nhóm này chứa thông tin về các bên tham gia liên quan tới ngân hàng như khách hàng, nhà cung cấp, các ngân hàng đối tác, tổ chức tài chính, cụ thể trong kho dữ liệu là thơng tin về khách hàng, chi nhánh
❖ Bảng IP: lưu trữ thông tin về chủ thể
Bảng 3.2: Bảng các thuộc tính của bảng IP
CTY_OF_RSDNC_ID Mã quốc gia cư trú
ESTB_DT Ngày thành lập
ORG_TAX_IDENTN_NBR Mã số thuế của tổ chức
Tên cột Mô tả
OU_ID Mã đơn vị trong tổ chức
OU_CODE Tên đơn vị trong tổ chức
ORG_ID Mã tổ chức
Tên cột Mô tả
CST_ID Mã khách hàng
PPN_DT Ngày dữ liệu thay đổi
EFF_CST_DT Ngày khách hàng có hiệu lực
END_CST_DT Ngày khách hàng kết thúc
CST_LC_ST_TP_ID Mã loại trạng thái vòng đời khách hàng
CST_LC_ST_DT Ngày trạng thái vòng đời của khách hàng
CST_CGY_ID Mã danh mục khách hàng
CST_BSN_TP_ID Mã các loại khách hàng kinh doanh
Bảng 3.3: Bảng các thuộc tính của bảng IDV
❖ Bảng Organization (ORG): lưu trữ thông tin khách hàng là tổ chức
Bảng 3.4: Bảng các thuộc tính của bảng ORG
❖ Bảng Organization Unit lưu trữ những thông tin của các đơn vị tổ chức
Bảng 3.5: Bảng các thuộc tính của bảng OU
PRIM_BR_NBR Số chi nhánh chính
CST_SHRT_NM Tên ngắn gọn của khách hàng
CST_FORMATTED_SHRT_NM Tên ngắn theo định dạng của khách hàng
CST_ADR_SEQ_NO Địa chỉ khách hàng
RSDNC_TP_ID Mã loại cư trú
CST_LAST_MNT_DT Ngày hỗ trợ cuối khách hàng
CST_RVW_DT Ngày duyệt lại khách hàng
RPT_BR_NBR Chi nhánh báo cáo
Tên cột Mô tả Tên cột Mô tả
AR_ID Mã hợp đồng AR_NM Tên hợp đồng
PPN_DT Ngày dữ liệu thay
đổi
AR_SHRT_NM Tên hợp đồng viết tắt
SRC_STM_ID Mã hệ thông nguồn AR_FORMATTED_
SHRT_NM
Tên viết tắt theo định dạng hợp đồng UNQ_ID_IN_SRC_
STM
Khóa thay đổi AR_OFCR_CODE Mã nhân viên trực thuộc
phòng ban chịu trách nhiệm với hợp đồng
AR_TP_ID Mã loại hợp đồng AR_GRP_NBR SƠ nhóm tài khoản
AR_LC_ST_TP_ ID
Mã loại trạng thái vịng đời của hợp đồng
ACG_GRP_NBR Mã nhóm sổ cái chung
AR_LC_ST_DT Ngày vịng đời hợp
đồng
ISRT_DT Ngày thực hiện thêm
mới
AR_TERM_TP_ID Mã loại kỳ hạn hợp
đồng
ISRT_TM Thời gian thêm mới
DNMN_CCY_ID Mã mệnh giá tiền
tệ
SPCL_INF_CODE_1 Mã thông tin đặc biệt
EFF_DT Ngày hợp đồng có
hiệu lực
EST_END_DT Ngày kết thúc ước tính
Bảng 3.6: Bảng các thuộc tính của bảng CST
3.1.3 Nhóm Arrangement (AR)