GT.M is a high end platform for developing transaction processing database applications. Individual database files in the terabyte range are supported; a logical database can consist of many files. It provides full support for ACID transactions using a Software Transaction Memory (STM) programming model and optimistic concurrency control. The GT.M data model is hierarchical associative memory (i.e. multi-dimensional arrays) that imposes no restriction on the data types of the indexes or content, nor any restriction on the schema is that imposed by the application. Such databases are also referred to as "document oriented", "schemaless", or "schema-free".