Describir: Principles of distributed database systems