If we think of a CasView as a way of accessing a subset of the data
in the CAS, what are the pluses and minuses of having every view
have the same (shared) index definitions?  Would it make more sense
to have each view have its own non-shared set of indexes / definitions?

Pluses:
 - A view which wanted to only index one kind of thing would not need
   to create instances of all the other indexes (which would be unused).

Minuses: - more complexity?

Other topics around indexes include how to think about what the
index is logically associated with.  Using the DB analogy - indexes
are "extra" - only serving to speed things up.  In this view, they are
associated with "assemblers" who are doing fine-tuning, space/time
trade-offs.
But some components need specific indexes (and type priorities :-)
in order to correctly iterate through sets of FSs.  In this case, the
component part is closely associated with the index specification.

For better modularity - if I had a component operating on a particular
view, needing a particular index specification, these might be
associated to the component - and having such an index as a "global"
thing might lead to unwanted "collisions" in the index "name-space",
although this could be minimized by having some uniqueness to the
index name.  So if I called the indexed "ComponentAsIndex", it would
make more sense if this was associated only with Component A, and not
globally.  This doesn't quite match associated the index with just one
view, I admit.
-Marshall

Reply via email to