4
$\begingroup$

My short term goal in a project is to build a local database of the NCBI dbSNP database. The data and schema are available on the FTP site(). I was going to implement the database using MySQL, but I just learnt about MongoDB. Is it possible to somehow convert the sql schema code to mongoDB architecture? Also, are there any real advantages to implementing the dbSNP database as MongoDB?

$\endgroup$
4
  • 4
    $\begingroup$ This question appears to be off-topic because it is about pure bioinformatics implementation issues, not biology. Also: why would you want to use MongoDB, given you just heard about it and don't know the advantages? $\endgroup$ – Michael Kuhn Jun 11 '14 at 13:13
  • 2
    $\begingroup$ Why bioinformatics is off topic in a biology website is beyond me. Lots of biologists don't know how to do taxonomy or behavioral observation which was most common 40 years ago. Many are molecular biologists, but its not required for all biologists. Nobody can define what is in biology these days, why in such a hurry to declare what is out? This is a highly subjective judgement. $\endgroup$ – shigeta Jun 11 '14 at 15:28
  • 2
    $\begingroup$ @shigeta I usually put the line pretty far on the informatics side when deciding whether a question is off-topic, but this question is a bit far on the informatics side for me. The main question, how to convert an SQL database to MongoDB is better asked on a specialized site. But there is a question below that that might require some biology knowledge, and that is whether a NoSQL approach is useful for an SNP database. $\endgroup$ – Mad Scientist Jun 11 '14 at 16:16
  • $\begingroup$ @Venkat if you edit your question with indications of biological relevance, then it will assist its reopening! $\endgroup$ – Behzad Rowshanravan Jun 11 '14 at 18:02
2
$\begingroup$

I've played with mongoDb. It is a nearly schemaless data store - each record (analogous to a row) can have nearly any entry name set except for a unique ID that mongoDb uses. In practice most of your records will have the same labels and names

Leaving SQL for noSQL is turning out not to be a great win. MongoDB will excel in retrieving records quickly and processing records by their content. It has some constraints too compared to SQL. It requires that the main index be stored in RAM, which might or not be an issue. For very large datasets mongoDB can be configured to shard the data automatically - splitting it up over a cluster of machines for high throughput fast processing applications.

If you need flexibility in your data record and you have a good machine (or a good cluster) to put it up on it could offer some advantages. We have a reasonable store of dbSNP on a recent MySQL machine and it performs okay. Not thousands of transactions a second, but we can do reasonable throughput of record processing.

$\endgroup$