For example, the traffic flow counter on a router keeps increasing.

Other databases define tables with columns, and many other parameters.
These definitions sometimes are very complex, especially in large databases.
Though it is a database, there are distinct differences between RRDtool databases and other databases as listed below: RRDtool is designed to store time series of data.
With every data update, an associated time stamp is stored.
DS (Data Source) is the actual variable which relates to the parameter on the device that is monitored.
Its syntax is is a name under which the parameter is saved in the database. After every step interval, a new value of DS is supplied to update the database.
ABSOLUTE also saves the rate of change, but it assumes that the previous value is set to 0. Memory consumption in a server is a typical example of gauge.
The difference between the current and the previous value is always equal to the current value. The difference between the different types DSTs can be explained better with the following example: The next parameter is heartbeat. If the database does not get a new PDP within 300 seconds, it will wait for another 300 seconds (total 600 seconds).
At the end, it has sample scripts that illustrate the usage/wrapping of RRDtool within Shell or Perl scripts.
RRDtool is GNU licensed software developed by Tobias Oetiker, a system manager at the Swiss Federal Institute of Technology.
It comes with a command set to carry out various operations on RRD databases.