Blog Kiểm toán Cognos - Mẹo và Thủ thuật cho Môi trường Khối lượng Lớn & Cao

by 17 Tháng Năm, 2021Kiểm toán0 comments

Một blog của John Boyer và Mike Norris.

Giới thiệu

Điều quan trọng là phải có khả năng Kiểm toán Cognos hoạt động để biết và hiểu cách Cognos đang được cộng đồng người dùng của bạn sử dụng và giúp trả lời các câu hỏi như:

    • Ai đang sử dụng hệ thống?
    • Họ đang chạy những báo cáo nào?
    • Thời gian chạy báo cáo là gì?
    • Với sự trợ giúp của các công cụ khác, như MotioCI, nội dung nào không được sử dụng?

Xem xét mức độ quan trọng của việc duy trì môi trường Cognos Analytics lành mạnh, đáng ngạc nhiên là có rất ít bài viết về cơ sở dữ liệu kiểm toán của nó ngoài tài liệu sản phẩm tiêu chuẩn. Có lẽ, điều đó là đương nhiên, nhưng các tổ chức sử dụng nó biết rằng theo thời gian truy vấn các bảng Cơ sở dữ liệu kiểm tra sẽ bắt đầu chậm lại - đặc biệt nếu tổ chức của bạn có nhiều người dùng đang chạy nhiều báo cáo và có nhiều lịch sử. Hơn nữa, bản thân việc ghi nhật ký hoạt động kiểm toán có thể bị trì hoãn vì nó đang được xếp hàng đợi khi không thể thêm nó vào cơ sở dữ liệu đủ nhanh, chẳng hạn. Đó là khi bạn bắt đầu nghĩ về hiệu suất cơ sở dữ liệu như cách bạn làm với bất kỳ cơ sở dữ liệu hoạt động nào có yêu cầu báo cáo.

Các bảng lớn thường làm chậm hiệu suất truy vấn. Bảng càng lớn, càng mất nhiều thời gian để chèn và truy vấn. Hãy nhớ rằng các bảng này và Cơ sở dữ liệu kiểm toán về cơ bản là một cơ sở dữ liệu hoạt động; việc ghi đang diễn ra thường xuyên và chống lại chúng tôi vì chúng tôi không thể tập trung chúng cho các hoạt động chỉ đọc như bạn làm với một data mart.

Giống như kho nội dung, sức khỏe của môi trường Cognos cũng phải tính đến sức khỏe của Cơ sở dữ liệu kiểm toán. Sự phát triển không giới hạn của Cơ sở dữ liệu kiểm toán có thể trở thành một vấn đề theo thời gian và thậm chí có thể ảnh hưởng đến hiệu suất tổng thể của môi trường Cognos. Trong nhiều tổ chức có các quy định bên ngoài thúc đẩy họ, việc không có hồ sơ kiểm toán đầy đủ có thể khiến họ rơi vào tình trạng không tuân thủ với hậu quả nặng nề. Vậy làm cách nào để chúng ta giải quyết việc phải duy trì quá nhiều dữ liệu cho mục đích kiểm toán lịch sử - trong một số trường hợp lên đến 10 năm - nhưng vẫn nhận được báo cáo chúng ta cần để duy trì môi trường và giữ cho người dùng hài lòng với hiệu suất?

Thách thức

    • Sự phát triển không giới hạn của Cơ sở dữ liệu kiểm toán đang tác động tiêu cực đến sức khỏe của môi trường Cognos
    • Báo cáo từ Cơ sở dữ liệu kiểm tra trở nên chậm hoặc không sử dụng được
    • Cognos gặp phải sự chậm trễ trong hồ sơ được ghi vào Cơ sở dữ liệu kiểm tra
    • Cơ sở dữ liệu kiểm tra sắp hết dung lượng đĩa

Tất cả điều này có nghĩa là không chỉ các báo cáo dựa trên Cơ sở dữ liệu kiểm toán bị ảnh hưởng, mà thường là toàn bộ hệ thống. Nếu Cơ sở dữ liệu kiểm tra nằm trên cùng một máy chủ với kho nội dung Cognos, hiệu suất của tất cả những thứ mà Cognos sẽ bị ảnh hưởng trong môi trường đó.

Setup

Chúng tôi giả định:

    1. Cognos Analytics đã được cài đặt và đang chạy
    2. Cognos được định cấu hình để đăng nhập vào Cơ sở dữ liệu kiểm tra
        • Có sẵn Cơ sở dữ liệu kiểm tra
        • Đặt cấp độ ghi nhật ký Kiểm tra thích hợp trong quản trị Cognos
        • Bản ghi đang được ghi vào cơ sở dữ liệu bởi Cognos
    3. Cơ sở dữ liệu kiểm toán đã được sử dụng hơn một năm
    4. Môi trường rất tích cực với người dùng và quá trình thực thi
    5. Gói Kiểm tra đang được sử dụng để hiển thị dữ liệu sử dụng Cognos
    6. Chúng tôi đang tìm cách cải thiện hiệu suất báo cáo Cơ sở dữ liệu kiểm toán
    7. Bắt đầu lại hoặc xóa các bản ghi cũ không phải lúc nào cũng là một lựa chọn

Nếu bạn chưa cài đặt và định cấu hình Cognos Audit, Lodestar Solutions, Motio đối tác, có một xuất sắc gửi khi bật Kiểm tra trong Cognos BI / CA.

Giải pháp

Có một số giải pháp khả thi có thể nhanh chóng trình bày:

    1. Giảm khối lượng dữ liệu bằng cách:
        • Di chuyển một số dữ liệu cũ hơn sang cơ sở dữ liệu khác
        • Di chuyển một số dữ liệu cũ hơn sang một bảng khác trong cùng một cơ sở dữ liệu
    2. Chỉ cần xóa hoặc cung cấphive một số dữ liệu và đừng lo lắng về nó
    3. Sống với nó. Kick the can xuống road và thúc đẩy Quản trị viên cơ sở dữ liệu để đạt được hiệu suất
      cải tiến trong khi xử lý chúng bằng cách không cho phép thay đổi lược đồ hoặc
      chỉ số

Chúng tôi sẽ không giải quyết tùy chọn 3. Tùy chọn 2, xóa dữ liệu, không phải là một lựa chọn tốt và tôi khuyên bạn nên giữ ít nhất giá trị tối thiểu là 18 tháng. Nhưng, nếu bạn có khuynh hướng như vậy, IBM cung cấp một tiện ích, Kiểm toánDBDọn dẹp (Cognos BI) hoặc a kịch bản (Cognos Analytics) sẽ làm chính xác điều đó. Tiện ích cho Cognos BI xóa các bản ghi dựa trên dấu thời gian trong khi các tập lệnh cho Cognos Analytics chỉ xóa các chỉ mục và bảng.

Các khuyến nghị mà chúng tôi đã đưa ra cho khách hàng trước đây về vấn đề này là tách thành hai cơ sở dữ liệu:

    1. Kiểm tra - Trực tiếp: chứa giá trị dữ liệu của tuần gần đây nhất
    2. Kiểm toán - Lịch sử: chứa dữ liệu lịch sử (lên đến N năm)

Nói tóm lại, quy trình này chạy hàng tuần để chuyển các bản ghi gần đây nhất từ ​​Audit Live sang Audit History. Audit Live bắt đầu lại dưới dạng một phương tiện chặn trống sau khi quá trình này chạy.

    1. Live DB nhanh và chặt chẽ, cho phép việc chèn diễn ra nhanh nhất có thể
    2. Các truy vấn kiểm tra được chuyển hướng độc quyền đến Cơ sở dữ liệu lịch sử

Sử dụng phương pháp này, không có sự “kết hợp” ngầm nào giữa dữ liệu Trực tiếp và dữ liệu Lịch sử. Tôi tranh luận rằng bạn có thể muốn giữ nó theo cách đó.

Trong Quản trị Cognos, bạn có thể thêm hai kết nối khác nhau cho Nguồn dữ liệu kiểm tra. Khi người dùng chạy một báo cáo đối với gói Kiểm tra, họ sẽ được nhắc cho kết nối nào họ muốn sử dụng:

Cơ sở dữ liệu kiểm tra

Nếu bạn muốn xem dữ liệu kiểm tra trực tiếp thay vì dữ liệu kiểm tra lịch sử, bạn chỉ cần chọn kết nối "Kiểm tra - Trực tiếp" khi được nhắc (phải là ngoại lệ, không phải là tiêu chuẩn.)

Nếu bạn THỰC SỰ cũng muốn cung cấp một cái nhìn tổng hợp về cả Trực tiếp và Lịch sử, bạn có thể làm như vậy, nhưng nó sẽ ảnh hưởng đến hiệu suất.

Ví dụ: bạn có thể tạo Cơ sở dữ liệu thứ 3 được gọi là “Kiểm tra - Chế độ xem hợp nhất” và sau đó, đối với mỗi bảng trong lược đồ Kiểm tra: tạo một chế độ xem có tên giống hệt nhau là sự kết hợp SQL giữa bảng trong DB trực tiếp và bảng trong lịch sử DB. Tương tự, điều này cũng có thể đạt được trong mô hình Trình quản lý khung, nhưng, một lần nữa, hiệu suất sẽ là yếu tố quan trọng cần xem xét.

Một số khách hàng của chúng tôi đã tạo một chế độ xem tổng hợp. Theo ý kiến ​​của chúng tôi, điều này có thể là quá mức cần thiết. Hiệu suất sẽ luôn kém hơn trong chế độ xem tổng hợp này và chúng tôi chưa gặp nhiều trường hợp sử dụng sử dụng cả tập dữ liệu Trực tiếp và Lịch sử. Lịch sử được sử dụng để khắc phục sự cố và Lịch sử để báo cáo xu hướng.

Kể từ Cognos Analytics 11.1.7, Cơ sở dữ liệu kiểm tra đã phát triển lên 21 bảng. Bạn có thể tìm thêm thông tin ở những nơi khác trên Cơ sở dữ liệu đánh giá, báo cáo đánh giá mẫu và mô hình Trình quản lý khung. Cấp độ ghi nhật ký mặc định là Tối thiểu, nhưng bạn có thể muốn sử dụng cấp độ tiếp theo, Cơ bản, để nắm bắt các yêu cầu sử dụng, quản lý tài khoản người dùng và sử dụng thời gian chạy. Một cách bạn có thể duy trì hiệu suất hệ thống là giữ mức ghi nhật ký ở mức thấp nhất được yêu cầu. Rõ ràng, càng nhiều máy chủ thực hiện ghi nhật ký, thì hiệu suất tổng thể của máy chủ càng có thể bị ảnh hưởng.

Các bảng quan trọng mà hầu hết các quản trị viên sẽ quan tâm là 6 bảng ghi lại hoạt động của người dùng và hoạt động báo cáo trong hệ thống.

  • COGIPF_USERLOGON: Lưu trữ thông tin đăng nhập của người dùng (bao gồm cả thông tin đăng xuất)
  • COGIPF_RUNREPORT: Lưu trữ thông tin về các lần thực thi báo cáo
  • COGIPF_VIEWREPORT: Lưu trữ thông tin về các yêu cầu xem báo cáo
  • COGIPF_EDITQUERY: Lưu trữ thông tin về các lần chạy truy vấn
  • COGIPF_RUNJOB: Lưu trữ thông tin về các yêu cầu công việc
  • COGIPF_ACTION: Ghi lại các hành động của người dùng trong Cognos (bảng này có thể phát triển nhanh hơn nhiều so với các bảng khác)

Cấu hình out-of-the-box trông như thế này:

Cấu hình kiểm tra mặc định

Cấu hình đề xuất:

Cấu hình kiểm tra được đề xuất

Cơ sở dữ liệu kiểm tra Cognos - Trực tiếp chứa 1 tuần dữ liệu kiểm tra. Dữ liệu cũ hơn 1 tuần được chuyển đến Cơ sở dữ liệu kiểm tra Cognos - Lịch sử.

Dòng từ Cơ sở dữ liệu kiểm tra Cognos - Trực tiếp đến Cơ sở dữ liệu kiểm tra Cognos - Lịch sử trong sơ đồ chịu trách nhiệm về:

  • Sao chép dữ liệu từ Kiểm tra trực tiếp sang Kiểm tra lịch sử
  • Xóa tất cả các hàng trong Kiểm tra trực tiếp cũ hơn 1 tuần
  • Xóa tất cả các hàng trong Kiểm tra lịch sử cũ hơn x năm
  • Xóa tất cả các hàng trong COGIPF_ACTION cũ hơn 6 tháng

Chỉ số

Các kiểu cơ sở dữ liệu khác nhau có các kiểu lập chỉ mục khác nhau. Chỉ mục cơ sở dữ liệu là một cấu trúc dữ liệu, được liên kết với Bảng (hoặc Dạng xem), được sử dụng để cải thiện thời gian thực hiện truy vấn khi truy xuất dữ liệu từ bảng (hoặc Dạng xem) đó. Làm việc với DBA của bạn để tạo ra chiến lược tối ưu. Họ sẽ muốn biết câu trả lời cho những câu hỏi như thế này để đưa ra quyết định tốt nhất về những cột nào cần lập chỉ mục. Rõ ràng, người quản trị cơ sở dữ liệu có thể tìm ra câu trả lời cho một số hoặc tất cả những câu hỏi này mà không cần sự trợ giúp của bạn, nhưng sẽ mất một số nghiên cứu và một chút thời gian:

  • Bảng có bao nhiêu bản ghi và bạn mong đợi chúng sẽ phát triển ở kích thước nào? (Lập chỉ mục một bảng sẽ không hữu ích trừ khi bảng có số lượng lớn các bản ghi.)
  • Bạn có biết cột nào là duy nhất không? Họ có cho phép giá trị NULL không? Những cột nào có kiểu dữ liệu là số nguyên hoặc số nguyên lớn? (Các cột có kiểu dữ liệu số và KHÔNG DUY NHẤT và KHÔNG ĐẦY ĐỦ là những ứng cử viên mạnh mẽ để tham gia vào khóa chỉ mục.)
  • Vấn đề hiệu suất chính của bạn ngày hôm nay là ở đâu? Họ có đang truy xuất dữ liệu không? Có các truy vấn hoặc báo cáo cụ thể gây ra nhiều vấn đề hơn không? (Điều này có thể dẫn người quản trị cơ sở dữ liệu đến một số cột cụ thể có thể được tối ưu hóa.)
  • Những trường nào được sử dụng trong việc nối các bảng để báo cáo?
  • Những trường nào được sử dụng để lọc, sắp xếp, nhóm và tổng hợp?

Không có gì đáng ngạc nhiên, đây là những câu hỏi giống nhau cần được trả lời để cải thiện hiệu suất của bất kỳ bảng cơ sở dữ liệu nào.

Hỗ trợ của IBM đề nghị tạo chỉ mục trên các cột “COGIPF_REQUESTID”, “COGIPF_SUBREQUESTID” và “COGIPF_STEPID” cho các bảng sau để cải thiện hiệu suất:

  • COGIPF_NATIVEQUERY
  • COGIPF_RUNJOB
  • COGIPF_RUNJOBSTEP
  • COGIPF_RUNREPORT
  • COGIPF_EDITQUERY

Thêm vào các bảng ít được sử dụng khác:

  • COGIPF_POWERPLAY
  • COGIPF_HUMANTASKSERVICE
  • COGIPF_HUMANTASKSERVICE_DETAIL

Bạn có thể sử dụng điều này như một điểm khởi đầu, nhưng tôi sẽ thực hiện bài tập trả lời các câu hỏi ở trên để đi đến câu trả lời tốt nhất cho tổ chức của bạn.

Những lưu ý khác

  1. Kiểm toán mô hình FM. Hãy nhớ rằng mô hình Trình quản lý khung mà IBM cung cấp được mô hình hóa trên các bảng và trường mặc định. Bất kỳ thay đổi nào bạn thực hiện đối với các bảng báo cáo sẽ cần được phản ánh trong mô hình. Mức độ dễ dàng hoặc phức tạp của những thay đổi này - hoặc năng lực tổ chức của bạn để thực hiện những thay đổi này - có thể ảnh hưởng đến giải pháp bạn chọn.
  2. Các trường bổ sung. Nếu bạn định làm điều đó, bây giờ là lúc để thêm các trường bổ sung cho ngữ cảnh hoặc dữ liệu tham chiếu để cải thiện báo cáo kiểm toán.
  3. Các bảng tổng hợp. Thay vì chỉ sao chép dữ liệu vào bảng lịch sử của bạn, hãy nén nó lại. Bạn có thể tổng hợp dữ liệu theo cấp độ ngày để làm cho việc báo cáo hiệu quả hơn.
  4. Chế độ xem thay vì bảng. Những người khác nói, “Vì vậy, thay vì có cơ sở dữ liệu 'hiện tại' và cơ sở dữ liệu 'lịch sử', bạn chỉ nên có một cơ sở dữ liệu và tất cả các bảng trong đó phải được đặt trước bằng 'lịch sử'. Sau đó, bạn nên tạo một tập hợp các chế độ xem, một cho mỗi bảng mà bạn muốn xem là 'hiện tại' và mỗi chế độ xem sẽ lọc ra các hàng lịch sử mà bạn không muốn xem và chỉ cho phép các hàng hiện tại đi qua. "
    https://softwareengineering.stackexchange.com/questions/276395/two-database-architecture-operational-and-historical/276419#276419

Kết luận

Điểm mấu chốt là với thông tin được cung cấp ở đây, bạn nên chuẩn bị tốt để có một cuộc trò chuyện hiệu quả với DBA của mình. Rất có thể cô ấy đã giải quyết được những vấn đề tương tự trước đây.

Những thay đổi được đề xuất trong kiến ​​trúc Cơ sở dữ liệu kiểm tra Cognos sẽ cải thiện hiệu suất trong cả báo cáo trực tiếp cũng như các ứng dụng của bên thứ 3 dựa vào nó, như Motio'S ReportCard và Hàng tồn kho.

Nhân tiện, nếu bạn đã có cuộc trò chuyện đó với DBA của mình, chúng tôi rất muốn nghe về nó. Chúng tôi cũng muốn biết liệu bạn đã giải quyết được vấn đề về Cơ sở dữ liệu kiểm tra hoạt động kém hay chưa và bạn đã thực hiện nó như thế nào.

Kiểm toánBI / Analytics
Bạn đã sẵn sàng kiểm tra chưa?

Bạn đã sẵn sàng kiểm tra chưa?

Bạn đã sẵn sàng kiểm tra chưa? Tác giả: Ki James và John Boyer Khi bạn lần đầu tiên đọc tiêu đề của bài viết này, có lẽ bạn đã rùng mình và nghĩ ngay đến cuộc kiểm toán tài chính của mình. Những điều đó có thể đáng sợ, nhưng còn về kiểm toán tuân thủ thì sao? Bạn đã chuẩn bị cho một ...

Tìm hiểu thêm

Kiểm toánBI / Analytics
Có lỗ hổng trong Sox của bạn không? (Tuân thủ)

Có lỗ hổng trong Sox của bạn không? (Tuân thủ)

Analytics và Sarbanes-Oxley Quản lý việc tuân thủ SOX bằng các công cụ BI tự phục vụ như Qlik, Tableau và PowerBI Năm tới SOX sẽ đủ tuổi để mua bia ở Texas. Nó được ra đời từ "Đạo luật cải cách kế toán công ty đại chúng và bảo vệ nhà đầu tư", ...

Tìm hiểu thêm