Keywords: DataAccWG

Attendees:
   Ray Plante
   Russell Owen
   Kem Cook
   Sergei Nikolaev
   Zeljko Ivezic [part of telecon]
   Jacek Becla



review proposed changes to the schema
=====================================

Proposed changes ok
 - have "extended object" table in schema, perhaps could use it
BUT
Zeljko: splitting Object table into Stars and Galaxies can be
a nightmare to deal from science perspective


Would be nice to duplicate data to have at the same time
 1) all objects in one table and
 2) stars and galaxies separate
- but at this point that can not be considered as a realistic
  option because of the cost constraints we have to assume


Conclusion:
 - write a short (1-2 pages) high level summary write-up
   about proposed changes, then discuss at Science Council
   meeting
 - would be useful to show through spreadsheet the cost depending
   on whether we split Object table or not
    (relatively simple for disk space estimate, much more work
     for disk io estimate)


At some point soon (when Jacek finishes the disk io spreadsheet),
someone should help out with checking it to ensure the assumptions
are correctly reflected there.


Jacek will work primarily with Kem and Sergei on the write up,
and will keep Ray in the loop



another controversial topic....
===============================

retrieving data through non-clustered index can easily be worse
than full table scan
 - what is a clustered index? Index, which is used to sort the
   data rows on disk. Any other index is non-clustered.
   So if we sort (cluster) data based on spatial locality (eg ra,decl),
   index on ra,decl becomes "clustered", and index on "color"
   is not-clustered.
 - fetching data rows through a non-clustered index means
   reading data very sparsely (selected rows are scattered
   across all blocks randomly), to make things worse, blocks
   are read in random order
 - if number of data rows fetched through index = ~ number
   of data blocks, every block will likely be fetched
   (in random order).
   That is much worse than full sequential table scan...
 - in practice, for the numbers we have in the spreadsheet:
   (DR2 data set, 1000 partitions) selecting more than 2.5%
   of rows from a single partition through a non-cluster index
   turns out to be worse than full table scan of the partition
    - fetching the same number of rows (not the same percentage)
      from non-partitioned data set: non-clustered index
      better


Proposing to consider the following approach:
 - pick one index and rely on it. Most likely this would be
   spatial index (even most temporal queries use ra,decl...)
 - sort the data based on that index (make it a clustered index)
 - keep the whole index in memory
   Based on current db size estimate, we would need for
   ra,decl index (worst case):
   - 117 GB for DR1
   - 250 GB for DR2
   - 420 GB for DR20
   which is very reasonable.
 - rely on that index as much as possible: force its use first
   in every query that has spatial constraints.


Jacek






Jacek Becla wrote:
Keywords: DataAccWG

Hi all,

We will have a Database telecon tomorrow (Fri) at 11:00 AM PDT.
(yes, it will be much more Database-oriented than DataAccess)

The main topics
 - proposed changes to schema
 - update on disk io estimates

Relevant readings:

1) email I sent earlier today about proposed schema changes

2) http://www.slac.stanford.edu/~becla/tmp/lsst_diskIO_estimates_v01.doc
[the "Per Query Breakdown" starting on page 3 is probably
 worth re-reading if you already saw the previous version]

3) http://www.slac.stanford.edu/~becla/tmp/lsst_diskIO_estimates_v01.xls
[do keep in mind it is under construction, any comments
 or bug reports would be appreciated]


Phone number: 866 330 1200
Pass code:    300 2363

Jacek
_______________________________________________
LSST-data mailing list
[email protected]
http://www.lsstmail.org/mailman/listinfo/lsst-data

_______________________________________________
LSST-data mailing list
[email protected]
http://www.lsstmail.org/mailman/listinfo/lsst-data

Reply via email to