I was wondering if you think it's reasonable, using monetdb (or another columnar database) to put all of your data in one big, flat table rather than breaking it up into several related tables.
For example, a database of used cars, flat, might look like:
Make Model Year Color Mileage
Chevy Malibu 2009 orange 102100
Chevy Malibu 2009 orange 98112
Chevy Malibu 2008 orange 210232
Chevy Malibu 2009 pink 150100
Noticing the redundancy in Make-Model-Year-Color, in a SQL database or excel spreadsheet or whatever, you might have two tables like:
mId Make Model Year Color
1 Chevy Malibu 2009 orange
2 Chevy Malibu 2008 orange
3 Chevy Malibu 2009 pink
mId Mileage
1 102100
1 98112
2 210232
3 150100
This helps with the redundancy at the expense of more complex queries and having to think about how to decompose (break up) the tables.
I was reading about columnar databases and monetdb in particular. It seems like, since monetdb compresses columns individually that the redundancy doesn't matter and you could just use the flat table expecting same-or-better performance (query time, disk usage) as a well-decomposed set of relational tables would provide. This saves design effort, but even better lets you completely automate schema design -- by avoiding it.
What do you think? Is there some hidden cost that I'm not seeing?