2 Replies Latest reply on Jul 1, 2020 8:53 AM by Bernard Stern

    CAM: Pattern efficiency when many instance matches

    Bernard Stern
      Share This:

      I have a BAI with terrible inferencing figures


      SAS cons prod 20.6.png

      One of the components, Oracle Database Server, has 20 different instance matches. I modelled this

      using type = Oracle Database Server and instance matches (?i)^(?:match1|match2 ... |match20).

      I believe this is the reason for the bad figures, as all 8 other components are rather straightforward

      mappings, mapping types I have used many times for other BAIs.

      Would it be better to separate these 20 matches in multiple OR conditions? I mean this here

      instance matches (?i)^(?:match1|match2|match3|match4) OR

      instance matches (?i)^(?:match5|match6|match7|match8) ...

        • 1. Re: CAM: Pattern efficiency when many instance matches
          Bob Anderson



          The change in the queries may help, but not enough to make a difference.


          Are the Oracle Databases the starting point of your CAM model? 


          Does this pattern really trigger 700+ times in a single day?  Why would it trigger/run that many time?  That seems a bit of overkill, and perhaps your 'trigger' for the CAM model is not unique enough.


          I would try changing your 'starting point' in the CAM model to see if that helps.


          It may turn out that this application may require modeling exclusively through TPL.


          Or you may need to write a custom pattern to infer a more unique trigger for your CAM model.


          Are you able to share (export) your CAM definition in this public forum?  If not, are you able to share the defintion with me via private message?

          • 2. Re: CAM: Pattern efficiency when many instance matches
            Bernard Stern

            Hi Bob


            Thanks for your observations.

            I have changed the required functional component from Oracle DB to another one that triggers much less.


            Here are the figures BEFORE that change in my test environment:



            And here are those AFTER the change in the same environment, just finished scanning:



            Usually the Oracle DB is a good required functional component, many applications are DB + Tomcat/Jboss + Webserver + Website + MQ Series, from which the DB triggers the least. For the particular SAS BAI causing the problem, I recently changed the DB defintion from one single match to 20 matches as the SAS BAI was redefined (from the application point of view). Doing that, I completely oversaw the consequence of having a complex BAI triggering that often.