Database SchemaThis is a featured page

Q: There seem to be a lot of tables in AirVision, more than I had config files for in E-DAS / tables in ATX. Why is that?

A: AirVision utilizes a large number of static data tables instead of hard-coding certain lists and items, such as EPA codes and flags, measurement units, GSI drivers, permissions, even the models for polling different instruments directly can be updated through the database, rather than always changing the code. This offers the advantage of making many updates through simple database scripts / updates, rather than changing the code and potentially introducing errors, requiring reinstallation, etc.


Q: Why does AirVision store data in a single database, rather than using a different database for each site (as per the BAAQMD system?)

A: The rationale for BAAQMD to store data in different databases is to create some degree of resiliance in the system- that is, if a single database becomes corrupt, the data may be lost for that site, but not for all sites. On the surface, this may have some merit, but under deeper scrutiny, the drawbacks far, far outweigh any possible benefit:
  • With distributed databases, data from different sites cannot be easily compared or worked with as a group. AirVision, for example, allows the user to graph ozone at all sites for a quick comparison to find outliers, and the same parameter at different sites can be compared in the Automatic Data Validation Processor. Distributing sites into different databases makes useful functions like this difficult to code or impossible to implement. The purpose of a relational database is to relate these databases together.
  • Database administration (backups, archive) labor is increased by a factor of.... um, how many sites do you have? 30? 50?

It should also be noted that database corruption is a relatively infrequent event these days with modern software development tools. Agilaire's ATX system has only experienced one database issue in its history, and that resulted from the administrator removing several of the database constraints, including primary key constraints (allowing duplicate records). As designed, ATX has effectively never suffered corruption.

(The E-DAS software has on occasion seen database corruption, particular if the PC is rebooted during polling, but E-DAS uses a direct indexing/pointer operation into the file (e.g., 'go xx bytes into the file and write the data there', the "non-modern" approach). The data access layers for SQL and Oracle specifically protect against this particular kind of corruption.







sdrevik
sdrevik
Latest page update: made by sdrevik , Oct 27 2009, 4:44 PM EDT (about this update About This Update sdrevik Edited by sdrevik

101 words added

view changes

- complete history)
Keyword tags: None
More Info: links to this page
Started By Thread Subject Replies Last Post
jberschling SQL db management 0 Mar 10 2010, 11:44 AM EST by jberschling
Thread started: Mar 10 2010, 11:44 AM EST  Watch
In converting historical data (hourly and aux), I seem to have created a huge database (on the order of 30 GB?) Is it not the intention to have all data stored in one place? I see there is a SQL function "shrink database" or "shrink files" - is this recommended?
Do you find this valuable?    
Keyword tags: None
Showing 1 of 1 threads for this page