I wish to use a database to store my experimental results, since I plan to obtain A LOT of data points and the good old csv table doesn't appear as a good solution anymore.
How would I go about making the structure of the database? Do you have any advise for this kind of things?
I will often have to change procedures according to the results I get, thus I would need to be able to understand what was the procedure used for each results and easily see which ones are the most recent and up to date.
@rastinza I like mongodb for that sorta thing, especially when I've got a lot of properties of properties of properties. It's very organized and has a lot of built in query operators for filtering things by time, value, order, even geolocation, and many more. You can also set it up to store data about when data is retrieved. It's JSON based, and extremely fast. JSON looks like this:
{
"_id": uo7g77hih77h7b75f5f5,
"name": "bob",
"logins": [
{
"when": date(7542246788642),
"from": "office"
},
{
"when": date(5432246788765),
"from": "home",
"accessed": [
{ "file": "work.pdf" },
{ "file": "dogs.jpg" }
]
}
],
"email": "bob@bob.bob"
}
Once I grab bobs object from the database, using the data is easy like result.logins[1].accessed would give me both files he accessed. 2D tables like SQL or CSV have a tough time with 3D data. There's a learning curve but we'll worth it.
Hope this helps.