Hi

The data is now stored in a mysql table with about a billion (1000 million) rows.
These rows are the data of a genetic test (arrayCGH) and build up like this:

Every experiment (a few thousand of them total) contains measurements of about 180000 genetic probes. This raw data will be analyzed and the values run through different algorithms, so every probe needs to store more than 1 value after the analysis is done. The values of different analysis are now stored in columns in that table making it a pain if we have to add a analysis to the table not yet part of the existing columns. This is why a schema free document based DB is probably a better fit. The initial idea was to give each probe a separate document, and when the original value is transform to an other value store this in the same document.

{
        "probe_id" : 1234567890,
        "experiment_id" : 1234567890,
        "raw_value" : 0.43524,
        "analysis": { "cbs" : 0.436, "CBS+GLAD" : 0.4356 }
}

Once added to the database almost all changes to the data will be contained within an experiment.

MongoDB has something like collections that would be a appropriate abstraction ~ experiment. But in couchdb I would have to add all these probe documents in 1 big database without collections. So if I only make changes to probes within an experiment this would influence the views of all the other billions document in the db. Because of the large number of documents it would be good to know beforehand what the implications are of this performance wise?

Any suggestions are welcome.

Tom

Reply via email to