140 likes | 154 Views
Shots. Instances. Experiments. PHELIX shot database (PSDB) Udo Eisenbarth GSI Helmholtzzentrum für Schwerionenforschung GmbH CS Workshop, Jena 9.-10.2.2012. Documenting PHELIX operation was far away from being optimal: Manual shot documentation (Excel table) … error prone
E N D
Shots Instances Experiments PHELIX shot database (PSDB) Udo Eisenbarth GSI Helmholtzzentrum für Schwerionenforschung GmbH CS Workshop, Jena 9.-10.2.2012
Documenting PHELIX operation was far away from being optimal: Manual shot documentation (Excel table) … error prone Non-standard measurement data stored in single files (“somewhere”) No search for certain shot data Difficult to compare shots / shot series Accessible from only one computer The situation so far…
Technical Reliable data storage Storage of arbitrary data types (numeric, strings, images, spectra, …) Flexible enough to handle changes of the laser setup Possibility to add user data (as attachments) Handling As little maintenance effort as possible Easy access from everywhere Access policy Requirements for the shot database
PSDB structure overview CS-Application Write data LabVIEW interface Database PSDB Webserver Application written in Ruby on Rails 3.1 Web browser View & Export data
Shot/Run-based data: Design considerations 1 Camera 1 Picture: Exposure Time: 20 µs Shot Camera 2 Id (Shot Number) Date Comment Experiment Shot type Picture: Exposure Time: 15 µs Powermeter 5 Energy: 123 J Shutter 4 Position: open No “continuous” data recorded (so far): permanent measurements (e.g. vacuum)
Design considerations 2 • What to measure / record ? e.g: Camera data • For each shot ALL data is written to the database • minor drawback with respect to size (information redundancy) • much easier handling (no versioning necessary) • strongly reduced maintenance effort
Shot Shot # Timestamp Experiment # Shot type Shot comment Shot structure Automatically assigned Experiment Internal P010 P018 … 2010-25-1 15:00 Best shot ever, blah,blah, … Shot type Test shot Experiment shot Snapshot
Measurement data structure Data types Numeric String Image Spectrum … Shots … Devices PA_Input_NF_Cam MAS_Filt1_BB MAS_Spectrometer … Device Data
PSDB LabVIEW interface example 1 • Open and close a database connection
PSDB LabVIEW interface example 2 • Register a (CS-) instance This is usually done in the CS constructor
PSDB LabView interface example 3 • Write data
During a PHELIX shot data written by 167 registered CS instances. 24 class types and 13 subsystems registered. 1740 instance values (average) written per shot. 3.6 MByte (average) written per shot. Scalability was tested in development setup > 200 CS instances > 5 million instance values (> 3 GByte) => No performance issues were observed (LabVIEW & Web interface) ! PSDB Statistics
LabVIEW / PCS interface Ready to go Web interface 90% implemented (except access control) Still to be done: User authentication and authorization on the way… Further enhancements? Any feature requests from the CS community are welcome. Status With begin of 2012 PHELIX has completely switched to PSDB