Keywords: DataAccWG
Attendees:
Tim Axelrod
Kem Cook
Ani Thakar
Nicole Silvestri
Deborah Levine
Serge Monkevitz
Maria Nieto-Santisteban
Ray Plante
Jacek Becla
debrief from mysqlcamp
======================
- "unconference"
- attendees:
- MySQL: both cofounders, director of architecture (our liaison),
key developers, ceo...
- user community: google, amazon, youtube, flicker, many others...
mysql @ google talk
- google seriously uses mysql (but not for bulk searches)
- 6 DBAs, 3 db developers
- they did not reveal any numbers how big there db is, or
how many servers they have
- we could learn a lot from google, especially things related
to running large dbms setup. They have hands-on experience with
running hundreds (thousands?) of mysql servers on cheap boxes.
- they deal in production with issues like fault tolerance,
hot fail over, redundancy, replication, automatic client redirection,
auto-load balancing, schema migration
- they built some useful tools on top of mysql (in python)
- offered some of them as open source
- they don't use foreign keys, allow dangling references
- google's dba comment about database vs bigtable:
"In bigtable you manage schema, there is no sql interface.
If you need to keep your options open: use database.
If you understand what you need really well, look into bigtable"
- I'm planning to meet with google DBAs over lunch to talk more
few other notes picked from discussions with user community
- mentioned by several people independently:
- very bad experience with expensive fancy hardware:
- high expectations, breaks more often then expected,
cheap hardware catches up quickly (the fancy hardware
no longer fancy after 2 years)
- much better in long term to keep it simple:
cheap hardware, build in redundancy, fault tolerance...
- v. difficult to get to work a mixture of long and short queries
(true for other systems, not mysql only).
--> better to separate them
- youtube offered script for parallel replica synchronization
notes related to discussions with mysql people
- mysql working on new storage engine, very good fit for us
(next generation myisam, transactional, bitmap indexes,
fully support of foreign keys...)
- this is still unofficial, will be publicized / announced
next year
- mysql will fix problems with precision (introduce "near" operator)
- mysql offering to write storage engine to bind mysql
with google's bigtable
- mysql director of architecture will be at slac early
December to talk to us about lsst db
debrief from prototyping platform / DC2 meeting
===============================================
- DC2: not throw away code, will evolve
- official dates: 9/30-11/30 2007, might be pushed 1 month earlier
- covers nightly processing
- no provenance
- no archive processing
- but we need to do some of it to prepare data for
nightly processing
- also, produced data need to be made available for users
- details of that to be understood...
- expected manpower:
- Maria/Serge: mostly on association pipeline / xmatch
- Jacek, Ani, Russell, new slac postdoc: prototype db
- prototype db: will be populated with real data from selected
existing experiments and sky-mapper
- ~night worth of data, target db: few times 10^9 objects,
10x more (likely somewhat less than 10x) detections
- that translates to ~ 8TB objects, 11 TB sources + indexes
- issue to think about: how to separate data from different surveys
(maybe in separate databases?)
- will need dedicated hardware for db servers, getting random
nodes assigned in the last minute through teragrid in not an option
discussion around some technical points brought during DC2 meeting
==================================================================
- maybe we should leave link from DIASource to Object when we
detect that it is a moving object, and just flag that it is
a moving object?
- fast moving objects may quickly move outside of region we
prepare for image processing
- moving objects should not be in object catalog
- scientifically it makes more sense to have moving objects
in separate table, not in Object table
- want some sort of special object catalog for things that are
uncertain (e.g. things that have single measurement)
- or keep these only in DIASource, and do not generate corresponding
object until we collect several measurements
- keep in Object catalog only objects that have multiple detections
--> Tim will think more about it...
We definitely will NOT deal at all with Sources at the base.
Only DIASource
Is most recent history of an object sufficient to generate alert?
No sources, no DIASources
This will happen immediately after we do deep detection and
resync Archive Center --> Base
[issues with telecon line here], email response sent by Tim:
"I have been making the assumption that the very recent history of an
object is important to making the alert decision. So, one needs the
compressed representation in the Object table + the most recent history.
This may not be right! We need to do some science-oriented
simulations to investigate this, I think."
Kem, Ani, Maria, Serge, Deborah and Jacek continued the discussion:
Maybe we should allow fussy edges between partitions/chunks rather
than reallocate rows between partitions
- the extra "row of chunks" addresses this
---> need to understand what is the good size for this safety "buffer".
don't try to force vertical partitioning now, assume all needed
- we could internally vertically split object table if there
are good reasons, but given that it helps with writes only,
and writes are <1% of what we read, not worth
what to do with one object becoming two objects?
Input from Robert at the DC2 meeting:
- introduce Object catalog
- column: "number of children"
- column: "parent object id". -1 if no parents
--> need to discuss
We need to look at schema: at the moment DIASource table has one
column for pointers to Object catalog. But it will sometimes
point to MovingObject table
- could we split DIASource into 2 tables: one for objects,
one for moving objects?
- no, leave it together, MOPS will be shuffling different
detections between different moving objects, at least
initially
--> need to come back to this issue
object table partitioning
=========================
chunking vs zoneId+ra index. The tradeoff:
- chunking: assigning chunkIds to objects not obvious
- zoneId+ra: probably reads more data than necessary,
because clustering for 2 of the 4 sides non-optimal
--> Jacek will think about assigning chunkIds to objects
--> then need to do tests and compare
- we don't have to find the perfect solution, at least not now
number of updates?
==================
How many updates will we have per visit?
During normal (steady) processing after DR1 or so, there will not
be that many updates. In most cases detected measurements will
carry exactly the information that was expected, in which case
there will not be anything to update (maybe 5-10% of detections
will need an update).
But initially, before DR1, "it will be a mess", everything will
be updated, re-shuffled, re-classified etc...db has to handle
that.
--> need to think how to design DB that will smoothly transform
from the initial-mess mode to steady-processing mode
We will have the next "big meeting" through video next Friday
Dec 01 9:00-12:00 PST. We will try to talk during DB telecon
slot next Wed prior to that meeting.
Happy Thanksgiving!
Jacek
Jacek Becla wrote:
Keywords: DataAccWG
Hello,
Here is a brand new suggestion how to partition Object table
for the nightly processing use case:
http://www.slac.stanford.edu/~becla/tmp/objectTablePartitioningAtBase.doc
Hope we will have time to talk about it during the telecon tomorrow.
Jacek
Jacek Becla wrote:
Keywords: DataAccWG
Hi all,
We will have a Database telecon tomorrow (Wed) at 11:00 AM PST.
Agenda:
- debrief from the lsst-prototype-platform/DC2 meeting
- debrief from mysqlcamp unconference
- database architecture for nightly processing use case
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
_______________________________________________
LSST-data mailing list
[email protected]
http://www.lsstmail.org/mailman/listinfo/lsst-data