1. A database management system comprising a) a network interface, for receiving database queries from two or more client applications, the client applications operating on two or more user client computers, the system providing at least one connection into the system for each such client application; b) a group of one or more operational nodes for executing the queries as database operations, each operational node implemented as a logical collection of software components that execute on one or more physical machines; c) client applications establish connections with the system and interact with the system in some query language; d) one or more operational nodes operating as storage nodes and collectively referred to as a storage nodegroup; e) the system further storing user data in tables, and grouping the tables into databases; f) tables are associated with storage nodegroups and the data for the table is stored on the nodes that are part of the storage nodegroup; g) data in tables is distributed across the storage nodes in a storage nodegroup according to some specified distribution method which is either data dependent or data independent, the distribution method further specifying a Distribution Vector (DV) associated with each table; h) data dependent distribution methods distribute data to ensure co-location of rows with identical distribution vectors (DVs); i) a generational data structure is associated with each storage nodegroup, the generational data structure comprising a generation list, the generation list having a start generation and an end generation, each generation in the generation list consisting of a Distribution Map (DM) and an Allocation Strategy (AS); j) a storage nodegroup, when initially created, has a generational data structure that is a start generation; k) a new generation with an empty DM that dispatches no rows is added at any point in the associated generation list; and l) whereby a subject row of data is stored on the storage node in a storage nodegroup associated with a table identified by searching through the generational data structure to identify an Allocation Strategy (AS) associated with the first generation for which it cannot otherwise be determined from inspection of the distribution map (DM) that the Distribution Vector (DV) of the subject row has not been seen before, or using an Allocation Strategy (AS) associated with a current generation in the generation list.