Chương 1 giới thiệu tổng quan về Data warehouse, bao gồm lịch sử hình thành, định nghĩa, đặc điểm và vai trò quan trọng của Data warehouse đối với các doanh nghiệp hiện nay. Tìm hiểu về kiến trúc và quy trình xây dựng một Data warehouse. Ngoài ra, chương này còn giới thiệu về kỹ thuật kiểm thử Data warehouse và các phương pháp kiểm thử hiện nay.1 Một số khái niệm cơ bản về Data warehouse 1.1 Lịch sử hình thành Ngay từ những năm 70 nhiều công ty đã cung cấp các hệ thống cơ sở dữ liệu hỗ trợ phân tích, báo cáo như teradata, maper, nhưng thuật ngữ “Data warehouse” bắt đầu được sử dụng vào năm 1988 trong một công bố của IBM có tiêu đề “An architecture for a business and information system”. Vào đầu năm 1990, Internet như một cơn bão đổ bộ vào thế giới, nhu cầu cải thiện các báo cáo kinh doanh và lưu trữ dữ liệu ngày càng cao do ảnh hưởng của các hiệp định thương mại tự do, toàn cầu hóa làm tăng tính cạnh tranh giữa các doanh nghiệp.
Chính vì vậy cuộc cách mạng về xử lý dữ liệu không chỉ là phổ cập kho dữ liệu mà còn tạo điều kiện để mở rộng khái niệm kho dữ liệu. Vào cuối những năm của thế kỷ 20, các doanh nghiệp phát hiện ra rằng số lượng hệ thống ứng dụng và cơ sở dữ liệu được nhân lên nhanh chóng, giữa các hệ thống có sự tích hợp kém và sự thiếu nhất quán về mặt dữ liệu. Đồng thời họ có rất nhiều dữ liệu bị phân mảnh chứ không phải thông tin tích hợp được yêu cầu cho việc ra một quyết định, điều này có ảnh hưởng vô cùng quan trọng trong một nền kinh tế toàn cầu đang thay đổi một cách nhanh chóng và đầy tính cạnh tranh.2 Định nghĩa Data warehouse (Kho dữ liệu), gọi một cách chính xác hơn là kho thông tin (information warehouse), là một cơ sở dữ liệu hướng đối tượng được thiết kế với việc tiếp cận các ý kiến trong mọi lĩnh vực đặc biệt là trong lĩnh vực kinh doanh. Nó cung cấp các công cụ để đáp ứng thông tin cần thiết cho các nhà quản trị kinh doanh tại mọi cấp độ tổ chức – không những là các yêu cầu tổng hợp dữ liệu, mà còn là điều kiện thuận tiện nhất để đạt được việc lấy thông tin nhanh, chính xác.
Một kho dữ liệu được thiết kế để người sử dụng có thể nhận ra thông tin mà họ muốn có và truy cập đến bằng những công cụ đơn giản. [1] Tống Thu Hiền – K17HTTTA 3 Khóa luận tốt nghiệp Kiểm thử Data warehouse Một kho dữ liệu là một sự pha trộn của nhiều công nghệ, bao gồm các cơ sở dữ liệu đa chiều và mối quan hệ giữa chúng, kiến trúc khách chủ, giao diện người dùng đồ họa và nhiều hơn nữa. Nguyên nhân chính cho sự phát triển một kho dữ liệu là hoạt động tích hợp dữ liệu từ nhiều nguồn khác nhau vào một kho dữ liệu đơn lẻ và dày đặc mà kho này cung cấp cho việc phân tích và ra quyết định trong công việc kinh doanh, quản lý. Đối với một số hoạt động kinh doanh, thông tin là nguồn tài nguyên có giá trị rất lớn, thì một kho dữ liệu tương đối giống như một nhà kho chứa hàng.
Hệ điều hành tạo ra những phần lớn dữ liệu và nạp chúng vào kho. Một số phần được tóm tắt trong thành phần thông tin và được cất vào kho. Người sử dụng kho dữ liệu đưa ra những yêu cầu và được cung cấp sản phẩm được tạo ra từ các thành phần và các phân đoạn được lưu trong kho. Kho dữ liệu là một hướng công nghệ phát triển nhất.
Một kho dữ liệu được xác định đúng hướng, hoạt động hiệu quả có thể trở thành một công cụ cạnh tranh có giá trị cao trong kinh doanh.3 Lý do mà các doanh nghiệp ngày nay cần phải có Data warehouse - Đối với các tổ chức có lượng dữ liệu ngày càng lớn thì càng khó truy cập và sử dụng dữ liệu [2] - Dữ liệu trong nhiều định dạng khác nhau, tồn tại trên nhiều nền tảng khác nhau, và lưu trữ trong nhiều tập tin khác nhau, cấu trúc cơ sở dữ liệu khác nhau được phát triển bởi các nhà cung cấp khác nhau. - Các doanh nghiệp phải xây dựng và duy trì hàng trăm chương trình để trích xuất, chuẩn bị, hợp nhất dữ liệu để sử dụng cho nhiều chương trình khác nhau dùng để phân tích và báo cáo. - Các nhà lãnh đạo muốn khai thác dữ liệu sâu hơn trước khi thực hiện việc ra quyết định. Điều này dẫn đến các yêu cầu phát triển chương trình trích xuất mới hơn.
Quá trình này rất tốn kém, không hiệu quả và tốn thời gian. Data warehouse cung cấp một phương pháp tiếp cận tốt hơn. - Data warehouse thực hiện quá trình truy cập dữ liệu từ nguồn không đồng nhất; làm sạch, lọc và chuyển đổi dữ liệu; lưu trữ dữ liệu theo cấu trúc để dễ dàng truy cập, hiểu rõ và sử dụng. - Dữ liệu sau đó được dùng để truy vấn, báo cáo và phân tích dữ liệu.
- Khối lượng dữ liệu trong kho dữ liệu có thể rất lớn, đặc biệt khi xem xét các yêu cầu phân tích dữ liệu mang tính lịch sử. Tống Thu Hiền – K17HTTTA 4 Khóa luận tốt nghiệp Kiểm thử Data warehouse - Chương trình phân tích dữ liệu đòi hỏi phải quét qua khối lượng dữ liệu rất lớn, có thể dẫn đến kết quả không tốt cho các ứng dụng hoạt động. Do đó có một yêu cầu tách riêng hai môi trường để giảm thiểu xung đột và sự xuống cấp của hiệu suất trong môi trường hoạt động.4 Mục đích Mục đích chính của kho dữ liệu là: - Hỗ trợ để các nhân viên của tổ chức thực hiện tốt, hiệu quả công việc của mình, như có những quyết định hợp lý, nhanh và bán được nhiều hàng hơn, năng suất cao hơn, thu được lợi nhuận nhiều hơn,… - Giúp cho tổ chức, xác định, quản lý và điều hành các dự án, các nghiệp vụ một cách hiệu quả và chính xác. - Tích hợp dữ liệu và các siêu dữ liệu từ nhiều nguồn khác nhau 1.5 Đặc điểm - Dữ liệu trong các ứng dụng truyền thống bị phân tán, không được sắp xếp theo từng dịch vụ, chủ đề quản trị của doanh nghiệp như trong Data warehouse.
Mỗi dịch vụ, mỗi chủ đề tập hợp lại nhiều quy trình liên quan với nhau, có mối quan hệ mắt xích với nhau, để tạo ra một góc nhìn tổng thể cho doanh nghiệp. Các dịch vụ này được chi tiết theo từng nghiệp vụ nên cho phép các nhà phân tích có thể truy hồi đến từng hoạt động chi tiết và các hoạt động phân tích. [3] - Data warehouse có tính tích hợp hệ thống, tích hợp các dữ liệu lại với nhau theo một chủ đề cụ thể chứ không phải là các hoạt động chi tiết theo các hoạt động của doanh nghiệp. Việc tích hợp này có thể nói đơn giản là di chuyển dữ liệu từ database của các hệ thống đang vận hành của doanh nghiệp (ERP, CRM, SCM, HCM,.) vào data warehouse đã được thiết kế.
Mục tiêu lớn nhất của Data warehouse là hỗ trợ việc ra quyết định, dữ liệu chứa thông tin tổng hợp hơn là chi tiết hoặc là từng giao dịch độc lập. Dữ liệu được tập hợp từ nhiều nguồn và lưu trữ với trong khoảng thời gian dài. - Trong Data warehouse không được phép chỉnh sửa dữ liệu. Dữ liệu lưu trữ trong một hệ thống data truyền thống có thể được điều chỉnh hoặc là xóa, nhưng trong Data warehouse thì không thể, chỉ có thể thêm vào một dữ liệu mới khi nhận được thông tin điều chỉnh từ các hệ thống truyền thống.
- Phân tích theo thời gian là một sức mạnh của Data warehouse, các dữ liệu trên hệ thống truyền thống được lưu trữ vào Data warehouse theo chiều phân tích theo thời gian. Trên các dữ liệu truyền thống việc phân tích theo nhiều chiều thời gian phức tạp Tống Thu Hiền – K17HTTTA 5 Khóa luận tốt nghiệp Kiểm thử Data warehouse và là điều không thể (cấu trúc dữ liệu không cho phép). Ở Data warehouse khi vừa chuyển đổi dữ liệu, và được tính toán lại như được phân tích trên thì các chiều thời gian đã hoàn thành và chuẩn bị sẵn sàng cho nhà quản trị phân tích, điều mà các hệ thống truyền thống khó có thể đáp ứng được. - Không giống như các hệ thống hoạt động của doanh nghiệp yêu cầu phải có dữ liệu tức thời, Data warehouse quan tâm đến khoảng thời gian dài, và dữ liệu có tính lịch sử.
Các dữ liệu được sắp xếp làm sao có thông tin của các dữ liệu nguồn chi tiết, và các dữ liệu tổng hợp được tính toán sẵn để đáp ứng nhu cầu phân tích tức thời. Các dữ liệu tổng hợp này được tạo ra và lưu trữ sẵn sàng để giảm các tính toán làm nghẽn cục bộ cho hệ thống khi cần phân tích. Việc lưu trữ dữ liệu này rất quan trọng cho các phân tích mang tính chất xu hướng, dự đoán các hoạt động của tương lai, điều mà các hệ thống hoạt động truyền thống không thể làm được.2 Quy trình xây dựng một Data warehouse và cơ chế vận hành 1.1 Kiến trúc tổng thể của Data warehouse Kiến trúc Data warehouse mô tả các cấu trúc, công cụ và dịch vụ của Data warehouse, cũng như quan hệ và sự phát triển của chúng. Mục đích của việc chuẩn hóa kiến trúc Data warehouse là tích hợp các hệ thông tin cấp dưới để phục vụ các hệ thông tin cấp trên và ngược lại.
Kiến trúc này cung cấp một cơ chế tổ chức dữ liệu, cải thiện việc chia sẻ thông tin giữa các cơ quan và về lâu dài có khả năng tái sử dụng dữ liệu cũng như phát triển các dự án kho dữ liệu tiếp theo được nhanh hơn. [4] Một hệ thống Data warehouse gồm 3 thành phần chính như sau: - Tầng Staging: Dữ liệu được thu thập từ hệ thống nghiệp vụ, được chuẩn hóa về định dạng dữ liệu đa chiều để nạp vào data warehouse. - Tầng Data warehouse (SOR): Là một database dùng làm data warehouse để lưu trữ dữ liệu đã được chuẩn hóa. - Tầng Data mart: Lưu trữ dữ liệu theo chủ đề phục vụ phân tích, tạo báo cáo, khai phá dữ liệu của người dùng cuối.
Tống Thu Hiền – K17HTTTA 6 Khóa luận tốt nghiệp Kiểm thử Data warehouse Hình 1.