A method of processing queries in a distributed database system, the distributed database system comprising: at least one original data source storing an amount of original data, and a plurality of clients comprising at least a first client and a second client, wherein the first client and the second client store cached data which corresponds to at least a part of the amount of original data; wherein the first client and the second client host a probabilistic model yielding validity values associating with the cached data indicating a probability that the cached data stored at the client coincides with the corresponding original data; characterized in that the method comprises, at the first client: randomly selecting queries from among a plurality of queries handled by the distributed database system, at the time the respective query is received from one of the plurality of clients; for each of the queries randomly selected, retrieving a first piece of the cached data stored at the first client and matching the randomly selected query, and retrieving a first piece of the original data matching the randomly selected query from the at least one original data source; for queries not being randomly selected, retrieving a second piece of the cached data stored at the first client and matching the query; evaluating the validity value of the second piece of the cached data stored at the first client; if the validity value is below a given threshold, retrieving a second piece of the original data matching the query from the at least one original data source, and updating the second piece of the cached data stored at the first client by the second piece of the original data; and adapting the probabilistic model of the first client based on the retrieved first piece of the cached data and the retrieved first piece of the original data using a machine learning algorithm, making available the adapted probabilistic model to the second client. at least one original data source storing an amount of original data, and a plurality of clients comprising at least a first client and a second client, wherein the first client and the second client store cached data which corresponds to at least a part of the amount of original data; wherein the first client and the second client host a probabilistic model yielding validity values associating with the cached data indicating a probability that the cached data stored at the client coincides with the corresponding original data; characterized in that the method comprises, at the first client: randomly selecting queries from among a plurality of queries handled by the distributed database system, at the time the respective query is received from one of the plurality of clients; for each of the queries randomly selected, retrieving a first piece of the cached data stored at the first client and matching the randomly selected query, and retrieving a first piece of the original data matching the randomly selected query from the at least one original data source; for queries not being randomly selected, retrieving a second piece of the cached data stored at the first client and matching the query; evaluating the validity value of the second piece of the cached data stored at the first client; if the validity value is below a given threshold, retrieving a second piece of the original data matching the query from the at least one original data source, and updating the second piece of the cached data stored at the first client by the second piece of the original data; and adapting the probabilistic model of the first client based on the retrieved first piece of the cached data and the retrieved first piece of the original data using a machine learning algorithm, making available the adapted probabilistic model to the second client. randomly selecting queries from among a plurality of queries handled by the distributed database system, at the time the respective query is received from one of the plurality of clients; for each of the queries randomly selected, retrieving a first piece of the cached data stored at the first client and matching the randomly selected query, and retrieving a first piece of the original data matching the randomly selected query from the at least one original data source; for queries not being randomly selected, retrieving a second piece of the cached data stored at the first client and matching the query; evaluating the validity value of the second piece of the cached data stored at the first client; if the validity value is below a given threshold, retrieving a second piece of the original data matching the query from the at least one original data source, and updating the second piece of the cached data stored at the first client by the second piece of the original data; and adapting the probabilistic model of the first client based on the retrieved first piece of the cached data and the retrieved first piece of the original data using a machine learning algorithm, making available the adapted probabilistic model to the second client.