A framework for the publication of scientific databases


Daiquiri Logo

Daiquiri… Not your favourite drink in this case, but almost. Daiquiri (a silly acronym for Data and Information Query Interface for Research Infrastructure, something you come up with after a couple of daiquiris…) was developed out of the need to quickly publish various kinds of astrophysical data sets.

The common approach (at least by some groups) is, to develop a bespoke web application for each data set that needed publishing. This is usually done by the scientist that works with the data. As a consequence, an eScience group ends up with multiple web applications for publishing the data. Usually these solutions cover many different programming languages and programming styles, resulting in a maintenance nightmare. By just looking at the web services hosted by the AIP eScience team, this becomes evident:

Fed up with this situation, Jochen Klar and myself pushed for an unified approach to data publishing. Daiquiri was born…

What is Daiquiri and why should you care?

Daiquiri is designed to be a one size fits all solution for scientific data publishing. Since this is basically impossible, we built Daiquiri to be something like a framework of modules, that can be combined to quickly build data publication sites. Think of it as the LEGO(TM) of scientific data publication.

We envisioned Daiquiri to be fairly simple to use by web affine scientists who know some PHP and HTML. A scientist will download Daiquiri, install it on her server and create a Daiquiri-app that links against Daiquiri. To make things easy, Daiquiri comes with a complete demo application that is also the Daiquiri demo page that you find here: https://escience.aip.de/daiquiri/

Daiquiri screen shot
Daiquiri screen shot [JPG]

If you are happy with what the Daiquiri demo app provides, you just need to put your data into a database, change some text here and there and you are done. This is basically what these projects have already done (or are still doing):


Here are some features that come with Daiquiri. I will extend the descriptions throughout time. Many features come with a simple basic version, and an extended advanced version which usually depend on further 3rd party libraries or more complicated tools. These are marked in bold. Further we strive to make Daiquiri as Virtual Observatory (VO) compliant as possible. The currently implemented VO features are marked with VO.

  • User management
  • Permission management
  • SQL query form
  • SQL query permission handling
  • Data query forms
  • Query management
  • Query management using MySQL Job Queue
  • Integration with PaQu, a parallel query engine
  • Database table viewer
  • First impression in-browser plotting
  • Synchronous and asynchronous data export into different formats (MySQL Dump, CSV, VOTable ASCII + Binary (VO) )
  • Database table and column meta data management (supporting UCDs (VO))
  • File links and downloads through database tables
  • UWS job submission (VO)
  • Easy WordPress integration

Some of these features will be explained in more details below. In the near future though…

Technology behind Daiquiri

Daiquiri uses PHP together with the Zend framework. It is currently build for MySQL, but should be able to run with any database after some minor modifications. The advanced features though are tightly integrated with MySQL extensions that we built for use with Daiquiri. These are the MySQL query queue, PaQu, and the IVOA MySQL VOTable dumper. The asynchronous data export relies on Gearman. The user interface makes use of jQuery, bootstrap, CodeMirror and flot.

Download Daiquiri from GitHub!