-
Emerson Faria Nobre authored
- Allow database shard shared nothing architeture with resharding - Configuration template in domains/default/shard.inc.php.dist - Frontend_Cli class to perform Shard configurations and operations - Sharding is added in Tinebase as a Plugin - Manager class is a controller that coordinates everything - ModOfDivision class is a Strategy to associate Shard Keys with Virtual Shards - Loginname class is a Strategy to allow user email address to be Shard Key - Filesystem classes are backends that allow all Shard control informations to be persisted in a filesystem folder (that must be shared between frontends) - Connectionconfig subpackage allows to persist DB Connection Configs - Association_Virtualshard_Connectionconfigkey subpackage allows to persist associations between Virtual Shards and DB Connection Configs - Persist Resharding state transitions using Resharding_Association_Shardkey_Connectionconfigkey subpackage and Resharding_Flag subpackage - Perform Resharding operations that copy tables contents between DBs using Redistributer subpackage - It requires multidomain enabled to work - Allow configuration of Shard for ActiveSync separated backend - Look at Tinebase/Shard/readme.txt Change-Id: I626ebe2773e440e20678fcb712b2b067228bc83c
a079cafc