Changeset 40027 for trunk/doc/release.2015/ps1.datasystem/datasystem.tex
- Timestamp:
- May 9, 2017, 8:54:52 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/release.2015/ps1.datasystem/datasystem.tex
r40026 r40027 1138 1138 \end{table} 1139 1139 1140 \begin{verbatim}1141 DVO section outline or list of topics:1142 1143 * schema overview [ignoring sky partitioning]1144 * measurements -> objects1145 * images1146 * object definition1147 * tables in detail1148 * adding other data types (2mass, etc)1149 * storage details1150 * FITS1151 * compressed FITS1152 * sky partitioning1153 * parallelized DVO1154 * addstar / ingest process [stage -> this goes elsewhere]1155 * dvo shell description?1156 \end{verbatim}1157 1158 1140 \subsection{DVO} 1159 1141 \label{sec:DVO} … … 1193 1175 astronomical objects. 1194 1176 1177 \subsubsection{DVO Schema} 1178 1195 1179 Table~\ref{tab:DVO_schema} lists the full collection of database 1196 1180 tables used by DVO. These tables fall into one of several classes: … … 1200 1184 which store supporting information. 1201 1185 1202 Beyond that basic use, DVO has the ability to accept data from other 1203 kinds of data sources in which measurements are not clearly associated 1204 with specific images. DVO ingest methods are defined for several 1205 large-scale surveys for which the published data represent average 1206 properties derived from multiple measurements, and for which the 1207 measurement-to-image relationship is not provided. Ingets methods 1208 have been defined for example for 2MASS, WISE, Gaia, USNO-B. In each 1209 of these cases, the astrometric and photometric measurements are 1210 stored in the \table{Measure} table, with the data source identified 1211 by the photcode of the measurement. 1186 \subsubsubsection{Measurement Tables} 1187 1188 The individual measurements of the astronomical objects are carried in 1189 the table \ippdbtable{Measure}. For measurements from PS1 in the PV3 1190 / DR1 database, this would be values determined by \ippprog{psphot} 1191 for each \ippstage{chip}, \ippstage{warp}, or \ippstage{stack} stage 1192 image. Measurements for other cameras processed by the IPP may also 1193 be included similarly in a DVO database. Measurements from other 1194 sources, such as SDSS, 2MASS, or WISE, can also be included in this 1195 table (see \S\ref{sec:other.photometry}. 1196 1197 The \ippdbtable{Measure} table includes the instrumental magnitudes 1198 for the PSF, aperture, and Kron photometry; raw position 1199 (\ippdbcolumn{Xccd}, \ippdbcolumn{Yccd}) and second moments 1200 (\ippdbcolumn{Mxx}, \ippdbcolumn{Myy}, \ippdbcolumn{Mxy}), along with 1201 shape parameters of the PSF model at the position of the object 1202 (\ippdbcolumn{FWx}, \ippdbcolumn{FWy}, \ippdbcolumn{theta}). Metadata 1203 about the exposure that the measurement was derived from is also 1204 included, such as the exposure time, the date \& time of the 1205 observation, airmass, azimuth, and \ippdbcolumn{photcode} information 1206 specifying the filter. The \ippdbtable{Measure} table also carries 1207 the calibration magnitude offsets ($M_{\rm cal}$ and $M_{\rm flat}$, 1208 discussed below) and the astrometrically calibrated position. 1209 Astrometric offsets for several systematic corrections discussed below 1210 are also defined for each measurement. Since stacks and forced warp 1211 photometry may have non-significant values, the table is somewhat 1212 de-normalized in that it also carries instrumental flux values for the 1213 PSF, aperture, and Kron photometry. In this case, we have chosen to 1214 trade storage space for computing time. 1215 1216 In the \ippdbtable{Measure} table, there are three fields which 1217 provide two independent links from the specific measurement to the 1218 associated object: \ippdbtable{Measure}.\ippdbcolumn{catID} specifies 1219 the spatial partition to which the measurement belongs; 1220 \ippdbtable{Measure}.\ippdbcolumn{objID} specifies to which entry in 1221 the \ippdbtable{Average} table the measurement belongs. These two 32 1222 bit fields can thus be combined into a single 64 bit ID unique for all 1223 objects in the database. \note{PSPS IDs} In addition, the field 1224 \ippdbtable{Measure}.\ippdbcolumn{averef} specifies the row number in 1225 the \ippdbtable{Average} table of the associated object. The 1226 \ippdbtable{Measure} table may be unsorted, in which case it is slow 1227 to find the measurements associated with a specific object (a full 1228 table scan is required). After the table is sorted and indexed, the 1229 \ippdbcolumn{Measure} rows for a given object are grouped together. 1230 In this case, the fields 1231 \ippdbtable{Average}.\ippdbcolumn{measureOffset} and 1232 \ippdbcolumn{Average}.\ippdbcolumn{Nmeasure} define an index for the 1233 code to jump to the list of measurements for a single object. The 1234 field \ippdbtable{Measure}.\ippdbcolumn{imageID} defines the link from 1235 the measurement to the image which supplied the measurement. 1236 1237 For the warp images, we also measure the weak lensing KSB parameters 1238 related to the shear and smear tensors \citep{1995ApJ...449..460K}. 1239 These measurements are stored in the \ippdbcolumn{Lensing} table, 1240 along with the radial aperture fluxes for radii numbers 5, 6, \& 7 1241 (respectively 3.0, 4.63, and 7.43 arcsec). This table contains one 1242 row for every warp row. \note{warp row hasn't been defined anywhere.} 1243 Similarly to the \ippdbtable{Measure} table, the fields 1244 \ippdbcolumn{objID}, \ippdbcolumn{catID}, and \ippdbcolumn{averef} 1245 define links from the \ippdbtable{Lensing} table to the 1246 \ippdbtable{Average} table. In a similar fashion, the fields 1247 \ippdbtable{Average}.\ippdbcolumn{lensingOffset} and 1248 \ippdbtable{Average}.\ippdbcolumn{Nlensing} are the index into the 1249 sorted \ippdbtable{Lensing} table entries. \note{discuss failure of 1250 the Lensing to Measure indexing} 1251 1252 \subsubsubsection{Astronomical Objects} 1212 1253 1213 1254 % object -> detection … … 1221 1262 assigned to that object. If more than one object exists within the 1222 1263 database, the detection is associated with the closest object. 1223 1224 % photcodes1225 Detections in DVO have a special piece of metadata called the1226 \ippdbcolumn{photcode} which identifies the source of the measurement.1227 A \ippdbcolumn{photcode} has a name which in general consists of the1228 name of the camera or telescope (e.g., GPC1 or 2MASS), the name (or1229 short-hand name) of the filter used for the measurement (e.g.,1230 \gps{}), and an identifier for the detector, if not unique (e.g., XY011231 for a GPC1 OTA). Along with each name, there is a numerical value for1232 the photcode. A table within the DVO system, \ippdbtable{Photcode},1233 lists the photcodes and defines a number of additional pieces of1234 information for each photcode. These include the nominal zero point1235 and airmass slope, as well as color trends to transform a measurement1236 in the specific photcode to a common system. There are 3 classes of1237 photcodes defined within the DVO system. Those photcodes associated1238 with detections from an image loaded into the database system are1239 called \ippmisc{DEP} photcodes. There are also photcodes associated with1240 the average photometry values, called \ippmisc{SEC} photcodes. There are1241 also those measurements which come from external data sources for1242 which DVO does not have any information to determine a calibration1243 (e.g., instrumental magnitudes and detector coordinates). These are1244 measurements are reference values and are assigned \ippmisc{REF}1245 photcodes.1246 1247 % FITS table + compression1248 In the implementation of DVO used for the PV3 calibration analysis,1249 the database tables are stored on disk using binary FITS tables. Each1250 type of database table is stored as a separate file, or a collection1251 of files for table which are spatially partitioned. The binary FITS1252 tables are compressed using the (to date) experimental FITS binary1253 table compression strategy outlined by \note{REF}. Table compression1254 is in general an option in DVO; for the PV3 database, the large data1255 volume (70TB compressed) drove the decision to compress the tables.1256 1257 % FITS table compression details1258 The FITS binary table compression scheme uses a strategy similar to1259 that used for FITS image compression (\note{REF}). The binary tabular1260 data is compressed and stored in the 'HEAP' section of the FITS table1261 extension, with pointers to the compressed data stored in the regular1262 data section. Each column in the FITS table is compressed as one (or1263 more) blocks. The standard header keywords which describe the data1264 column format (e.g., TFORM1) are replaced with keywords which describe1265 the location and size of the compressed data in the HEAP section; the1266 information about the uncompressed data is moved to a keyword with 'Z'1267 prepended (e.g., ZFORM1) and an additional field is added to define1268 the compression algorithm (e.g., ZCTYP1). The column names (e.g.,1269 TTYPE1) and units (e.g., TUNIT1) are retained in their original form.1270 1271 % FITS table compression details1272 The compression algorithm can treat the entire column as a single1273 block of data, or it may be broken into a number of chunks, each1274 compressed in turn (this must be the same for all columns).1275 Additional header information is added to describe the block sizes and1276 infomation needed to describe the HEAP data section. The compression1277 algorithms currently defined consist of the GZIP, RICE, PLIO, and1278 HCOMPRESS (REFS). For GZIP, the compression algorithm may transpose1279 the byte order before compression: for floating point data of a1280 similiar dynamic range, this choice may allow for better compression1281 as each byte in the 4 or 8 byte floating point value is more likely to1282 be similar to the same byte in other rows than to the other bytes of1283 the same row value. This option is called \code{GZIP_2} in the FITS1284 standard, as opposed to the standard order, \code{GZIP_1}. The DVO1285 system can be set to specify the compression options for each column1286 in the tables. In practice, we have chosen a default in which1287 floating point numbers use \code{GZIP_2}, character strings use1288 \code{GZIP_1}, integers use \code{RICE}.1289 1290 \subsubsection{Sky Partition}1291 1292 DVO includes two major classes of database tables: those containing1293 information about astronomical objects in the sky and those containing1294 other supporting information. The object-related tables are1295 partitioned on the basis of position in the sky: objects within a1296 region bounded by lines of constant RA,DEC are contained in a specific1297 file. The boundaries and the associated partition names are stored in1298 one of the supporting tables, \ippdbtable{SkyTable}. This table1299 contains the definitions of the boundaries for each sky region1300 (\ippdbcolumn{R_MIN}, \ippdbcolumn{R_MAX}, \ippdbcolumn{D_MIN},1301 \ippdbcolumn{D_MAX}), the name of the sky region, an ID1302 (\ippdbcolumn{INDEX}, equal to the sequence number of the region in1303 the table), and index entries to enable navigation within the table.1304 The regions are defined in a hierarchical sense, with a series of1305 levels each containing a finer mesh of regions covering the sky.1306 1307 In the default used by the PV3 DVO, the partitioning scheme is based1308 on the one used by the Hubble Space Telescope Guide Star Catalog1309 files. \note{add figure} Level 0 is a single region covering the full1310 sky. Level 1 divides the sky in Declination into bands1311 7.5\degree\ high. Level 2 subdivides these Declination bands in the1312 RA direction, with spacing related to the stellar density. Level 31313 divides these RA chunks into 4 - 8 smaller partitions. This level1314 exactly matches the HST GSC layout, and uses the same naming1315 convention to identify the partitions: \code{n0000/0000},1316 etc. \note{more on the names?}. Level 4 further divides these regions1317 by a factor of 16. In the \ippdbtable{SkyTable}, a region at one1318 level has a pointer to its parent region (the one which contains it)1319 and a sequence pointing to its children (regions it contains). The1320 \ippdbtable{SkyTable} enables fast lookups of the on-disk partitions1321 which map to a specific coordinate on the sky. In general, a single1322 DVO will have the full sky represented with tables at a single1323 level. Although it is possible for mixed levels to be used, this mode1324 is not well tested and is avoided in the PV3 DVO database. For the1325 PV3 master database, the partitioning at the \note{should this be1326 4th?} 5th level results in \approx 150,000 regions to cover the full1327 sky, of which \approx 110,000 are used for the PV3 $3\pi$ data. The1328 densest portions of the bulge contain at most \approx 300,0001329 astronomical objects in the database files, with an associated maximum1330 of \approx 30 million measurements in these files. With the compression1331 scheme described above, the largest database files are \approx1332 3GB, which can be loaded into memory in 30 seconds on the processing1333 machines that contain partition data.1334 1335 \note{is the use of the term 'partition host' consistent in this paper1336 and the calibration paper?}1337 1338 % parallel partitions1339 The DVO software system allows the tables which are partitioned across1340 the sky to also be distributed across multiple computers, which we1341 call partition hosts. A single file defines the names of these1342 partition hosts and the location of the database partition on the1343 disks of that machine. The \ippdbtable{SkyTable} contains elements to1344 define by ID the parition host to which a partitioned set of tables1345 has been assigned. Operations which query the database, or perform1346 other operations on the database, are aware of the partitioning scheme1347 and will launch their operations as remote processes on the machines1348 which contain the data they need. For example, a query for data from1349 a small region will launch sub-query operations on the machines which1350 contain the data overlapping the region of interest. These remote1351 query operations will select the database information which matches1352 the query request (i.e., applying restrictions as defined) and return1353 the results to the master process. The results from the various1354 partition hosts are then merged into a single result by the master1355 process. When the parallel partitioning for a DVO instance is1356 defined, the tables are randomly assigned to the partition hosts. As1357 a result, queries which span more than a single parition are likely to1358 spread the I/O load across a large number of machines. This1359 parallelization is critical to querying and manipulating the enormous1360 database on a reasonable timescale.1361 1362 \subsubsection{Astronomical Objects}1363 1264 1364 1265 Two tables carry the most important information about the astronomical … … 1395 1296 rows $9i \rightarrow 9i + 8$ ($i$ is zero counting). 1396 1297 1397 The individual measurements of the astronomical objects are carried in1398 the table \ippdbtable{Measure}. For measurements from PS1 in the PV31399 / DR1 database, this would be values determined by \ippprog{psphot}1400 for each \ippstage{chip}, \ippstage{warp}, or \ippstage{stack} stage1401 image. Measurements for other cameras processed by the IPP may also1402 be included similarly in a DVO database. Measurements from other1403 sources, such as SDSS, 2MASS, or WISE, can also be included in this1404 table (see \S\ref{sec:other.photometry}.1405 1406 The \ippdbtable{Measure} table includes the instrumental magnitudes1407 for the PSF, aperture, and Kron photometry; raw position1408 (\ippdbcolumn{Xccd}, \ippdbcolumn{Yccd}) and second moments1409 (\ippdbcolumn{Mxx}, \ippdbcolumn{Myy}, \ippdbcolumn{Mxy}), along with1410 shape parameters of the PSF model at the position of the object1411 (\ippdbcolumn{FWx}, \ippdbcolumn{FWy}, \ippdbcolumn{theta}). Metadata1412 about the exposure that the measurement was derived from is also1413 included, such as the exposure time, the date \& time of the1414 observation, airmass, azimuth, and \ippdbcolumn{photcode} information1415 specifying the filter. The \ippdbtable{Measure} table also carries1416 the calibration magnitude offsets ($M_{\rm cal}$ and $M_{\rm flat}$,1417 discussed below) and the astrometrically calibrated position.1418 Astrometric offsets for several systematic corrections discussed below1419 are also defined for each measurement. Since stacks and forced warp1420 photometry may have non-significant values, the table is somewhat1421 de-normalized in that it also carries instrumental flux values for the1422 PSF, aperture, and Kron photometry. In this case, we have chosen to1423 trade storage space for computing time.1424 1425 In the \ippdbtable{Measure} table, there are three fields which1426 provide two independent links from the specific measurement to the1427 associated object: \ippdbtable{Measure}.\ippdbcolumn{catID} specifies1428 the spatial partition to which the measurement belongs;1429 \ippdbtable{Measure}.\ippdbcolumn{objID} specifies to which entry in1430 the \ippdbtable{Average} table the measurement belongs. These two 321431 bit fields can thus be combined into a single 64 bit ID unique for all1432 objects in the database. \note{PSPS IDs} In addition, the field1433 \ippdbtable{Measure}.\ippdbcolumn{averef} specifies the row number in1434 the \ippdbtable{Average} table of the associated object. The1435 \ippdbtable{Measure} table may be unsorted, in which case it is slow1436 to find the measurements associated with a specific object (a full1437 table scan is required). After the table is sorted and indexed, the1438 \ippdbcolumn{Measure} rows for a given object are grouped together.1439 In this case, the fields1440 \ippdbtable{Average}.\ippdbcolumn{measureOffset} and1441 \ippdbcolumn{Average}.\ippdbcolumn{Nmeasure} define an index for the1442 code to jump to the list of measurements for a single object. The1443 field \ippdbtable{Measure}.\ippdbcolumn{imageID} defines the link from1444 the measurement to the image which supplied the measurement.1445 1446 \note{some discussion of the db construction, addstar, dvomerge, etc?}1447 1448 For the warp images, we also measure the weak lensing KSB parameters1449 related to the shear and smear tensors \citep{1995ApJ...449..460K}.1450 These measurements are stored in the \ippdbcolumn{Lensing} table,1451 along with the radial aperture fluxes for radii numbers 5, 6, \& 71452 (respectively 3.0, 4.63, and 7.43 arcsec). This table contains one1453 row for every warp row. \note{warp row hasn't been defined anywhere.}1454 Similarly to the \ippdbtable{Measure} table, the fields1455 \ippdbcolumn{objID}, \ippdbcolumn{catID}, and \ippdbcolumn{averef}1456 define links from the \ippdbtable{Lensing} table to the1457 \ippdbtable{Average} table. In a similar fashion, the fields1458 \ippdbtable{Average}.\ippdbcolumn{lensingOffset} and1459 \ippdbtable{Average}.\ippdbcolumn{Nlensing} are the index into the1460 sorted \ippdbtable{Lensing} table entries. \note{discuss failure of1461 the Lensing to Measure indexing}1462 1463 1298 The values stored in the \ippdbtable{Lensing} table are used to 1464 1299 calculate average values for each of these types of measurements in … … 1493 1328 in our analysis of the astrometry \citep[][see]{magnier2017a}. 1494 1329 1495 \subsubs ection{Other Tables}1330 \subsubsubsection{Other Tables} 1496 1331 1497 1332 Measurements which are loaded into DVO may be associated with a … … 1526 1361 flat-field corrections determined by the astrometry calibration 1527 1362 analysis \citep[][see]{magnier2017a}. 1363 1364 \subsubsection{MISC INFO TO BE RE-ORGed} 1365 1366 Beyond that basic use, DVO has the ability to accept data from other 1367 kinds of data sources in which measurements are not clearly associated 1368 with specific images. DVO ingest methods are defined for several 1369 large-scale surveys for which the published data represent average 1370 properties derived from multiple measurements, and for which the 1371 measurement-to-image relationship is not provided. Ingets methods 1372 have been defined for example for 2MASS, WISE, Gaia, USNO-B. In each 1373 of these cases, the astrometric and photometric measurements are 1374 stored in the \table{Measure} table, with the data source identified 1375 by the photcode of the measurement. 1376 1377 % photcodes 1378 Detections in DVO have a special piece of metadata called the 1379 \ippdbcolumn{photcode} which identifies the source of the measurement. 1380 A \ippdbcolumn{photcode} has a name which in general consists of the 1381 name of the camera or telescope (e.g., GPC1 or 2MASS), the name (or 1382 short-hand name) of the filter used for the measurement (e.g., 1383 \gps{}), and an identifier for the detector, if not unique (e.g., XY01 1384 for a GPC1 OTA). Along with each name, there is a numerical value for 1385 the photcode. A table within the DVO system, \ippdbtable{Photcode}, 1386 lists the photcodes and defines a number of additional pieces of 1387 information for each photcode. These include the nominal zero point 1388 and airmass slope, as well as color trends to transform a measurement 1389 in the specific photcode to a common system. There are 3 classes of 1390 photcodes defined within the DVO system. Those photcodes associated 1391 with detections from an image loaded into the database system are 1392 called \ippmisc{DEP} photcodes. There are also photcodes associated with 1393 the average photometry values, called \ippmisc{SEC} photcodes. There are 1394 also those measurements which come from external data sources for 1395 which DVO does not have any information to determine a calibration 1396 (e.g., instrumental magnitudes and detector coordinates). These are 1397 measurements are reference values and are assigned \ippmisc{REF} 1398 photcodes. 1399 1400 \subsubsection{DVO Data Storage} 1401 1402 % FITS table + compression 1403 In the implementation of DVO used for the PV3 calibration analysis, 1404 the database tables are stored on disk using binary FITS tables. Each 1405 type of database table is stored as a separate file, or a collection 1406 of files for table which are spatially partitioned. The binary FITS 1407 tables are compressed using the (to date) experimental FITS binary 1408 table compression strategy outlined by \note{REF}. Table compression 1409 is in general an option in DVO; for the PV3 database, the large data 1410 volume (70TB compressed) drove the decision to compress the tables. 1411 1412 % FITS table compression details 1413 The FITS binary table compression scheme uses a strategy similar to 1414 that used for FITS image compression (\note{REF}). The binary tabular 1415 data is compressed and stored in the 'HEAP' section of the FITS table 1416 extension, with pointers to the compressed data stored in the regular 1417 data section. Each column in the FITS table is compressed as one (or 1418 more) blocks. The standard header keywords which describe the data 1419 column format (e.g., TFORM1) are replaced with keywords which describe 1420 the location and size of the compressed data in the HEAP section; the 1421 information about the uncompressed data is moved to a keyword with 'Z' 1422 prepended (e.g., ZFORM1) and an additional field is added to define 1423 the compression algorithm (e.g., ZCTYP1). The column names (e.g., 1424 TTYPE1) and units (e.g., TUNIT1) are retained in their original form. 1425 1426 % FITS table compression details 1427 The compression algorithm can treat the entire column as a single 1428 block of data, or it may be broken into a number of chunks, each 1429 compressed in turn (this must be the same for all columns). 1430 Additional header information is added to describe the block sizes and 1431 infomation needed to describe the HEAP data section. The compression 1432 algorithms currently defined consist of the GZIP, RICE, PLIO, and 1433 HCOMPRESS (REFS). For GZIP, the compression algorithm may transpose 1434 the byte order before compression: for floating point data of a 1435 similiar dynamic range, this choice may allow for better compression 1436 as each byte in the 4 or 8 byte floating point value is more likely to 1437 be similar to the same byte in other rows than to the other bytes of 1438 the same row value. This option is called \code{GZIP_2} in the FITS 1439 standard, as opposed to the standard order, \code{GZIP_1}. The DVO 1440 system can be set to specify the compression options for each column 1441 in the tables. In practice, we have chosen a default in which 1442 floating point numbers use \code{GZIP_2}, character strings use 1443 \code{GZIP_1}, integers use \code{RICE}. 1444 1445 \subsubsection{Sky Partition} 1446 1447 DVO includes two major classes of database tables: those containing 1448 information about astronomical objects in the sky and those containing 1449 other supporting information. The object-related tables are 1450 partitioned on the basis of position in the sky: objects within a 1451 region bounded by lines of constant RA,DEC are contained in a specific 1452 file. The boundaries and the associated partition names are stored in 1453 one of the supporting tables, \ippdbtable{SkyTable}. This table 1454 contains the definitions of the boundaries for each sky region 1455 (\ippdbcolumn{R_MIN}, \ippdbcolumn{R_MAX}, \ippdbcolumn{D_MIN}, 1456 \ippdbcolumn{D_MAX}), the name of the sky region, an ID 1457 (\ippdbcolumn{INDEX}, equal to the sequence number of the region in 1458 the table), and index entries to enable navigation within the table. 1459 The regions are defined in a hierarchical sense, with a series of 1460 levels each containing a finer mesh of regions covering the sky. 1461 1462 In the default used by the PV3 DVO, the partitioning scheme is based 1463 on the one used by the Hubble Space Telescope Guide Star Catalog 1464 files. \note{add figure} Level 0 is a single region covering the full 1465 sky. Level 1 divides the sky in Declination into bands 1466 7.5\degree\ high. Level 2 subdivides these Declination bands in the 1467 RA direction, with spacing related to the stellar density. Level 3 1468 divides these RA chunks into 4 - 8 smaller partitions. This level 1469 exactly matches the HST GSC layout, and uses the same naming 1470 convention to identify the partitions: \code{n0000/0000}, 1471 etc. \note{more on the names?}. Level 4 further divides these regions 1472 by a factor of 16. In the \ippdbtable{SkyTable}, a region at one 1473 level has a pointer to its parent region (the one which contains it) 1474 and a sequence pointing to its children (regions it contains). The 1475 \ippdbtable{SkyTable} enables fast lookups of the on-disk partitions 1476 which map to a specific coordinate on the sky. In general, a single 1477 DVO will have the full sky represented with tables at a single 1478 level. Although it is possible for mixed levels to be used, this mode 1479 is not well tested and is avoided in the PV3 DVO database. For the 1480 PV3 master database, the partitioning at the \note{should this be 1481 4th?} 5th level results in \approx 150,000 regions to cover the full 1482 sky, of which \approx 110,000 are used for the PV3 $3\pi$ data. The 1483 densest portions of the bulge contain at most \approx 300,000 1484 astronomical objects in the database files, with an associated maximum 1485 of \approx 30 million measurements in these files. With the compression 1486 scheme described above, the largest database files are \approx 1487 3GB, which can be loaded into memory in 30 seconds on the processing 1488 machines that contain partition data. 1489 1490 \note{is the use of the term 'partition host' consistent in this paper 1491 and the calibration paper?} 1492 1493 % parallel partitions 1494 The DVO software system allows the tables which are partitioned across 1495 the sky to also be distributed across multiple computers, which we 1496 call partition hosts. A single file defines the names of these 1497 partition hosts and the location of the database partition on the 1498 disks of that machine. The \ippdbtable{SkyTable} contains elements to 1499 define by ID the parition host to which a partitioned set of tables 1500 has been assigned. Operations which query the database, or perform 1501 other operations on the database, are aware of the partitioning scheme 1502 and will launch their operations as remote processes on the machines 1503 which contain the data they need. For example, a query for data from 1504 a small region will launch sub-query operations on the machines which 1505 contain the data overlapping the region of interest. These remote 1506 query operations will select the database information which matches 1507 the query request (i.e., applying restrictions as defined) and return 1508 the results to the master process. The results from the various 1509 partition hosts are then merged into a single result by the master 1510 process. When the parallel partitioning for a DVO instance is 1511 defined, the tables are randomly assigned to the partition hosts. As 1512 a result, queries which span more than a single parition are likely to 1513 spread the I/O load across a large number of machines. This 1514 parallelization is critical to querying and manipulating the enormous 1515 database on a reasonable timescale. 1528 1516 1529 1517 \subsection{Addstar : DVO Ingest}
Note:
See TracChangeset
for help on using the changeset viewer.
