1. A computer-implemented method comprising: providing definitions, by one or more computer processors, for collection methods for a set of monitoring data, wherein the monitoring data is collected from agents running at monitoring computers in a software asset management system, wherein the monitoring data includes software license metrics, and wherein each item of the monitoring data has at least one respective collection method; in response to receiving a user query from a user computer via a network, determining, by one or more computer processors, a subset of the monitoring data to be updated; identifying, by one or more computer processors, collection methods corresponding to the subset of the monitoring data; triggering, by one or more computer processors, the agents running at the monitoring computers to collect the monitoring data using the identified collection methods; storing, by one or more computer processors, the monitoring data in a table of a database in a memory, wherein the table includes columns for a system identifier (ID), a software ID, a number of instances, and a software name; determining, by one or more computer processors, for each respective collection method of the collection methods, a cost of executing the respective collection method; annotating, by one or more computer processors, each column of the table with the respective collection method of the collection methods and the cost corresponding to the collection of the monitoring data in the column; creating, by one or more computer processors, a list of required tables and columns for processing the user query, based on analyzing the user query; mapping, by one or more computer processors, the list of required tables and columns to the collection methods and the costs for the collection methods; upon the creating of the list of required tables and columns and mapping the list of required tables and columns to the collection methods, assigning, by one or more computer processors, a weight to each said collection method of the collection methods based on the cost of executing the respective collection method; translating, by one or more computer processors, the received user query into a Structured Query Language (SQL) query; querying, by one or more computer processors, the table with the translated SQL query, wherein during execution of the user query one or more collection methods of the collection methods are selected from the list of required tables and columns in a way which minimizes a cost of operation on the agents, based on the weights; and responding, by one or more computer processors, to the user query with results from the agents that include collected monitoring data from the table, based on the query of the table with the translated SQL query.