1. A system for optimizing data distribution, the system comprising: at least one processor operatively connected to a memory for executing system components; a database comprising a plurality of database partitions, wherein at least one of the plurality of database partitions includes a contiguous range of data from the database and wherein new data added to the at least one of the plurality of database partitions is assigned a key value or key pattern greater than previously used key values or patterns; and a partition component configured to: detect a partition size for the at least one of the plurality of database partitions that exceeds a size threshold; split, automatically, the at least one of the plurality of database partitions into at least a first and a second partition; control, during splitting of an existing one of the at least one of the plurality of database partitions having the contiguous range of data into the at least the first and the second database partition, a distribution of data originating from the existing one of the at least one of the plurality of database partitions to the first and the second partition based on a value for a database key associated with the data in the at least one of the plurality of database partitions, wherein the partition component is further configured to: minimize any data distributed to the second partition originating from the at least one of the plurality of database partitions during splitting of the existing one of the at least one of the plurality of database partitions; and maximize any data distributed to the first partition from the data originating from the existing one of the at least one of the plurality of database partitions to the first partition up to a maximum size for the first partition during splitting of the existing one of the at least one of the plurality of database partitions.