1. A method comprising: using one or more computer processors to determine, for each of a plurality of time periods, a rate of a plurality of queries to a data source; associating a cost with a query state transition; assigning a query state to a particular query for a particular time period of the plurality of time periods; and identifying a query burst during the plurality of time periods based on assignment of the query state to each of the plurality of queries.