1. A method of replicating data in a distributed database having a plurality of nodes, including: receiving a semantic command at a local version of the database at a node; interpreting the semantic command; and applying the semantic command to the local version of the database.