Each object (i.e. usually dark matter halo or particle) in our database tables has got a unique identifier. This usually is just a long integer which can be considered as the “name” of the object, by which it is uniquely identified. Such identifiers are important in order to facilitate data retrievable (e.g. when joining tables) and to enable performance tuning with Indexes later on.
The first approach could be to number the objects in a table by auto-incrementing the index for each new record. However, we constructed the object identifiers based on additional properties like the snapshot number to which the halo belongs or by including information from merger trees. In this way, certain types of queries are easier to construct and can even be accelerated. The figure below illustrates the usefulness of constructed unique identifiers.