Apparatus for storing and 
processing a plurality of data items each comprising supplied data values organized in one or more fields each of which stores typed data. Character strings and 
natural language text are converted to numerical token values in an array of 
fixed length integers and other forms of typed data (real numbers, dates, times, boolean values, etc.) are also converted to integer form and stored in the array. Stored 
metadata specifies the 
data type of all data in the integer array to enable each integer to be rapidly accessed and interpreted. When 
fixed length data types are present, the 
metadata specifies location, size and type of each 
fixed length element. When 
variable length data is stored in the integer array, size and 
location data stored in the integer array is accessed to rapidly and directly access the 
variable size data. The presence of implicit or explicit size information for each 
data structure, including 
variable size structures, speeds 
processing by eliminating the need to scan the data for delimiters, and by reducing the 
processing needed to perform memory allocation, data movement, lookup operations and data addressing functions. Data stored in the integer array is subdivided into items, and items are subdivided into fields. Items may be organized into more 
complex data structures, such as relational tables, hierarchical object structures, linked lists and trees, and the like, using special fields called links which identify other referenced items.