Since many containers may coexist, an application is able to partition its persistent storage as necessary. This has two advantages; firstly, partitioning permits the logical grouping of related data which may improve performance in terms of disk access time, garbage collection, and checkpointing overheads. Secondly, partitioning can also provide a level of protection between different uses of the store. For example, in a multilingual environment it is necessary to partition the store to ensure type security.