1. A computer readable storage medium having stored thereon a system for application-layer monitoring of communication between one or more database clients and one or more database servers, the system comprising: one or more decoders residing at a decoding layer above a network layer, the decoders residing on a database device at a first network location between one or more database clients residing at one or more second network locations distinct from the first network location and one or more database servers residing at one or more third network locations distinct from both the first network location and the one or more second network locations, the decoders on the database device being operable to: receive database messages communicated over the network from any of the database clients residing at the one or more second network locations and intended for any of the database servers at the one or more third network locations and database messages communicated from the database servers and intended for the database clients; decode the database messages, wherein decoding the database messages comprises decoding a protocol generated as an output of a database connectivity driver in response to an input by a database application residing at an application layer, wherein decoding the database messages comprises decoding database messages of database implementations different from each other and, wherein the database connectivity driver is utilized by the one or more database clients to communicate with the database server; and extract query-language statements from the database messages, wherein the query-language statements are created by the database application at one or more of the database clients and provided as input to the database connectivity driver and the database connectivity driver generate the database message as an output based on the query-language statement; and a monitoring application residing at an application layer above the decoding layer, the monitoring application residing on the database device at the first network location, the monitoring application being operable to receive query-language statements extracted at the decoders and record observations on the database messages based at least in part on the query-language statements extracted at the decoders.