This is a working proposal for the backend storage architecture of PiCL server. It's based on a massively-sharded and cross-DC-replicated MySQL installation, and is far from final. All feedback welcome!
The goals are:
* Provide a simple programming model to the application.
* Provide a relatively simple and well-understood Ops environment.
* Don't lose user data. Even if a machine dies. Even if a meteor hits a data-center.
The basic principles:
* All sharding logic and management lives in a stand-alone proxy process, so that it's transparent to the application.
== What the App Sees ==