Dynomite currently provides integrated storage and distribution, requiring developers to adopt a simple, key/value
data model to get the availability and scalability advantages. By separating these two functions, developers can
take advantage of the sophisticated distribution and scaling techniques of Dynomite with great flexibility in the
choice of data model. In this new architecture, Dynomite handles data partitioning, versioning, and read repair,
and user-provided storage engines provide persistence and query processing.