next up previous contents
Next: Links Up: Keywords Previous: Keywords   Contents

Primary index

 
For many series a primary index associated with the principal axis (e.g. time or (lattitude, longitude)) associated with the image in the datarecord is desired. The intention is that the primary index maps to a unique slot on the principal axis for which might exist in multiple versions of the ``same observation'' (e.g. newer versions could be created to include missing data or fix a bad calibration). Therefore the primary index does not uniquely identify a data record.

The primary index consists of one or more keyword values that are concatenated to form the full index. [i.e. we should support queries for intervals like the existing [1000-1010] as well as multi-dimensional primary indices, e.g. (time, lattitude, longitude) as [1000-1010, 1-20, 5-50] or something like that.] If two records have keywords values that differ on any of the keywords comprising the primary index, they are considered different data record (w.r.t. the primary index), otherwise they are considered only diffent versions of the same data record (w.r.t. the primary index).

The default behavior of the JSOC should be to return the most recent version of a datarecord for a given primary index. Since record numbers are assigned in order of creation the most recent version is record with the highest record number. The primary index has two crucial uses in the JSOC:

  1. It allows users to reference data records by their primary index, which will generally have some physical meaning (e.g. for a time series it could be the number of seconds or hours since some epoch). This will also allow programs and scripts to step through datasets in logical (e.g. time) order, rather than in record creation order as given by the record number which is arbitrary.
  2. It allows the JSOC database system to maintain column indexes on the keywords corresponding to the primary index of a series. This will vastly speed up queries that select sets of records based on the primary index (possibly in combination with other criteria), and this is probably majority of all queries in the system.


next up previous contents
Next: Links Up: Keywords Previous: Keywords   Contents
Philip Scherrer 2006-06-17