Changes between Version 8 and Version 9 of DbiTables

Show
Ignore:
Timestamp:
07/21/10 15:18:47 (14 years ago)
Author:
blyth (IP: 221.2.162.118)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DbiTables

    v8 v9  
    22= DbiTables = 
    33 
    4 = Possible Issues = 
     4= Overview of Issues = 
     5 
     6Minor issues common to almost all tables  
     7  * arbitrary name/case changes between SQL field names and C++ data members 
     8 
     9Potentially major issue of varchar usage in 5 tables  
     10   * CalibPmtSpec, DaqRawDataFileInfo, DaqRunInfo, FeeCableMap, SimPmtSpec 
     11 
     12Philosopy mismatch issue (pointed out by Brett)  
     13   * DaqRawDataFileInfo : changes transferState  
     14      * DBI should not do that  
     15      *  
     16     
    517 
    618== varchar/strings in DBI tables may prevent L2Cache == 
     
    1931 || FeeCableMap           || CHANNELDESC, CHANHRDWDESC, SENSORDESC                    || dybsvn:/dybgaudi/trunk/Database/DbiDataSvc/DbiDataSvc/FeeCableMap.h                      || 
    2032 || SimPmtSpec            || PMTDESCRIB                                               || dybsvn:/dybgaudi/trunk/Database/DbiDataSvc/DbiDataSvc/SimPmtSpec.h                       || 
     33 
     34 
     35 
     36== CalibPmtSpec + SimPmtSpec : varchar PMTDESCRIB   == 
     37 
     38Varchar Descriptions do not belong in '''hot''' DB tables , 
     39  * more efficient + useful approach : store integer codes ('''enums''' ) into DB 
     40      * derive description from them by adding methods to Data Object classes 
     41      * use of strings when enums are more appropriate is '''profligate''' 
     42       
     43{{{ 
     44mysql> select distinct(PMTDESCRIB) from CalibPmtSpec ; 
     45+------------------------+ 
     46| PMTDESCRIB             | 
     47+------------------------+ 
     48| SABAD1-ring01-column01 |  
     49| SABAD1-ring02-column01 |  
     50| SABAD1-ring03-column01 | 
     51... 
     52| SABAD1-ring00-column14 |  
     53| SABAD1-ring00-column15 |  
     54| SABAD1-ring00-column16 |  
     55+------------------------+ 
     56208 rows in set (0.00 sec) 
     57}}} 
     58 
     59   * inefficient storage and usage ... split into 2 or 3 fields  
     60 
     61== FeeCableMap : varchar CHANNELDESC, CHANHRDWDESC, SENSORDESC  == 
     62 
     63{{{ 
     64 mysql> select * from FeeCableMap limit 10 ; 
     65 +-------+-------------+-----------+--------------------------------+---------------+--------------+----------+----------------------------+---------------+-------------+ 
     66 | SEQNO | ROW_COUNTER | CHANNELID | CHANNELDESC                    | FEEHARDWAREID | CHANHRDWDESC | SENSORID | SENSORDESC                 | PMTHARDWAREID | PMTHRDWDESC | 
     67 +-------+-------------+-----------+--------------------------------+---------------+--------------+----------+----------------------------+---------------+-------------+ 
     68 |     1 |           1 |  16843009 | DayaBayAD1-board01-connector01 |      67109121 | Fee-1        | 16843009 | DayaBayAD1-ring01-column01 |      16777217 | Pmt8inch-1  | 
     69 |     1 |           2 |  16843010 | DayaBayAD1-board01-connector02 |      67109122 | Fee-1        | 16843010 | DayaBayAD1-ring01-column02 |      16777218 | Pmt8inch-2  | 
     70 |     1 |           3 |  16843011 | DayaBayAD1-board01-connector03 |      67109123 | Fee-1        | 16843011 | DayaBayAD1-ring01-column03 |      16777219 | Pmt8inch-3  | 
     71 |     1 |           4 |  16843012 | DayaBayAD1-board01-connector04 |      67109124 | Fee-1        | 16843012 | DayaBayAD1-ring01-column04 |      16777220 | Pmt8inch-4  | 
     72 |     1 |           5 |  16843013 | DayaBayAD1-board01-connector05 |      67109125 | Fee-1        | 16843013 | DayaBayAD1-ring01-column05 |      16777221 | Pmt8inch-5  | 
     73 |     1 |           6 |  16843014 | DayaBayAD1-board01-connector06 |      67109126 | Fee-1        | 16843014 | DayaBayAD1-ring01-column06 |      16777222 | Pmt8inch-6  | 
     74 |     1 |           7 |  16843015 | DayaBayAD1-board01-connector07 |      67109127 | Fee-1        | 16843015 | DayaBayAD1-ring01-column07 |      16777223 | Pmt8inch-7  | 
     75 |     1 |           8 |  16843016 | DayaBayAD1-board01-connector08 |      67109128 | Fee-1        | 16843016 | DayaBayAD1-ring01-column08 |      16777224 | Pmt8inch-8  | 
     76 |     1 |           9 |  16843017 | DayaBayAD1-board01-connector09 |      67109129 | Fee-1        | 16843017 | DayaBayAD1-ring01-column09 |      16777225 | Pmt8inch-9  | 
     77 |     1 |          10 |  16843018 | DayaBayAD1-board01-connector10 |      67109130 | Fee-1        | 16843018 | DayaBayAD1-ring01-column10 |      16777226 | Pmt8inch-10 | 
     78 +-------+-------------+-----------+--------------------------------+---------------+--------------+----------+----------------------------+---------------+-------------+ 
     79 10 rows in set (0.00 sec) 
     80}}} 
     81 
     82 
     83== DaqRawDataFileInfo : rethink needed  == 
     84 
     85  * transferState/fileState ... changes (does not fit with DBI philosophy) 
     86  * varchar : streamType, stream, fileState, checksum , transferState 
     87       * none need to be using varchar '''varchar''' BUT not a '''hot''' object so does not matter ?  
     88 
     89 *  although not a '''hot''' table, use of enums/int is still preferable for greater usability  
     90 
     91{{{ 
     92 
     93mysql> describe DaqRawDataFileInfo ; 
     94+---------------+------------------+------+-----+---------+----------------+ 
     95| Field         | Type             | Null | Key | Default | Extra          | 
     96+---------------+------------------+------+-----+---------+----------------+ 
     97| SEQNO         | int(11)          | NO   | PRI |         |                |  
     98| ROW_COUNTER   | int(11)          | NO   | PRI | NULL    | auto_increment |  
     99| runNo         | int(10) unsigned | YES  |     | NULL    |                |  
     100| fileNo        | int(10) unsigned | YES  |     | NULL    |                |  
     101| fileName      | tinytext         | YES  |     | NULL    |                |  
     102| streamType    | varchar(32)      | YES  |     | NULL    |                |  
     103| stream        | varchar(32)      | YES  |     | NULL    |                |  
     104| fileState     | varchar(32)      | YES  |     | NULL    |                |  
     105| fileSize      | int(11)          | YES  |     | NULL    |                |  
     106| checksum      | varchar(64)      | YES  |     | NULL    |                |  
     107| transferState | varchar(32)      | YES  |     | NULL    |                |  
     108+---------------+------------------+------+-----+---------+----------------+ 
     10911 rows in set (0.00 sec) 
     110 
     111 
     112 mysql> select * from DaqRawDataFileInfo limit 10 ; 
     113 +-------+-------------+-------+--------+-----------------------------------------------------+------------+---------+-----------+-----------+----------+---------------+ 
     114 | SEQNO | ROW_COUNTER | runNo | fileNo | fileName                                            | streamType | stream  | fileState | fileSize  | checksum | transferState | 
     115 +-------+-------------+-------+--------+-----------------------------------------------------+------------+---------+-----------+-----------+----------+---------------+ 
     116 |     1 |           1 |     6 |      1 | daq.NoTag.0000006.Pedestal.TST-AD1.SFO-1._0001.data | Pedestal   | TST-AD1 | CLOSED    | 233513220 | 4C98F617 | TRANSFERRED   | 
     117 |     2 |           1 |     7 |      1 | daq.NoTag.0000007.FEEDiag.TST-AD1.SFO-1._0001.data  | FEEDiag    | TST-AD1 | CLOSED    | 131074920 | 3994B4E8 | TRANSFERRED   | 
     118 |     3 |           1 |     9 |      1 | daq.NoTag.0000009.FEEDiag.SAB-AD1.SFO-1._0001.data  | FEEDiag    | SAB-AD1 | CLOSED    |  11360220 | 6D83A03B | TRANSFERRED   | 
     119 |     4 |           1 |    10 |      1 | daq.NoTag.0000010.Pedestal.SAB-AD1.SFO-1._0001.data | Pedestal   | SAB-AD1 | CLOSED    |  11200220 | 42DD5FD5 | TRANSFERRED   | 
     120 |     5 |           1 |    11 |      1 | daq.NoTag.0000011.Physics.SAB-AD1.SFO-1._0001.data  | Physics    | SAB-AD1 | CLOSED    | 473592276 | 70065B17 | TRANSFERRED   | 
     121 |     6 |           1 |    12 |      1 | daq.NoTag.0000012.Physics.SAB-AD1.SFO-1._0001.data  | Physics    | SAB-AD1 | CLOSED    | 108200292 | FEB524EC | TRANSFERRED   | 
     122 |     7 |           1 |    13 |      1 | daq.NoTag.0000013.Physics.SAB-AD1.SFO-1._0001.data  | Physics    | SAB-AD1 | CLOSED    | 128677660 | 539F47D1 | TRANSFERRED   | 
     123 |     8 |           1 |    14 |      1 | daq.NoTag.0000014.Physics.SAB-AD1.SFO-1._0001.data  | Physics    | SAB-AD1 | CLOSED    | 248492412 | 6CB379D1 | TRANSFERRED   | 
     124 |     9 |           1 |    15 |      1 | daq.NoTag.0000015.Physics.SAB-AD1.SFO-1._0001.data  | Physics    | SAB-AD1 | CLOSED    |  47866220 | 6B3C78EA | TRANSFERRED   | 
     125 |    10 |           1 |    16 |      1 | daq.NoTag.0000016.Physics.SAB-AD1.SFO-1._0001.data  | Physics    | SAB-AD1 | CLOSED    |  11077284 | 80CF0F36 | TRANSFERRED   | 
     126 +-------+-------------+-------+--------+-----------------------------------------------------+------------+---------+-----------+-----------+----------+---------------+ 
     127 10 rows in set (0.01 sec) 
     128 
     129}}} 
     130 
     131== DaqRawInfo :  varchars runType, partitionName == 
     132 
     133  * although not a '''hot''' table, I think use of enums/int is still preferable for greater usability  
     134 
     135{{{ 
     136mysql> describe DaqRunInfo ; 
     137+---------------+--------------+------+-----+---------+----------------+ 
     138| Field         | Type         | Null | Key | Default | Extra          | 
     139+---------------+--------------+------+-----+---------+----------------+ 
     140| SEQNO         | int(11)      | NO   | PRI |         |                |  
     141| ROW_COUNTER   | int(11)      | NO   | PRI | NULL    | auto_increment |  
     142| runNo         | int(11)      | YES  |     | NULL    |                |  
     143| triggerType   | bigint(20)   | YES  |     | NULL    |                |  
     144| runType       | varchar(32)  | YES  |     | NULL    |                |  
     145| detectorMask  | int(11)      | YES  |     | NULL    |                |  
     146| partitionName | varchar(255) | YES  |     | NULL    |                |  
     147| schemaVersion | int(11)      | YES  |     | NULL    |                |  
     148| dataVersion   | int(11)      | YES  |     | NULL    |                |  
     149| baseVersion   | int(11)      | YES  |     | NULL    |                |  
     150+---------------+--------------+------+-----+---------+----------------+ 
     15110 rows in set (0.00 sec) 
     152}}} 
     153 
     154{{{ 
     155mysql> select distinct(runType) from DaqRunInfo ; 
     156+----------+ 
     157| runType  | 
     158+----------+ 
     159| Pedestal |  
     160| FEEDiag  |  
     161| Physics  |  
     162| ADCalib  |  
     163+----------+ 
     1644 rows in set (0.01 sec) 
     165}}} 
     166 
     167{{{ 
     168mysql> select distinct(partitionName) from DaqRunInfo ; 
     169+---------------+ 
     170| partitionName | 
     171+---------------+ 
     172| part_tst-ad1  |  
     173| part_sab-ad1  |  
     174+---------------+ 
     1752 rows in set (0.00 sec) 
     176}}} 
     177 
     178 
    21179 
    22180