←back to thread

121 points b-man | 2 comments | | HN request time: 0.001s | source
Show context
AnonHP ◴[] No.44026428[source]
Seems like this article places too much emphasis on normalization, which is appropriate for many cases, but may be a huge cost and performance issue for requirements like reporting. You may probably need different kinds of schema and data storage structures for different requirements in the same application, which in turn may result in duplicated data, but results in acceptable trade offs.
replies(3): >>44026517 #>>44026552 #>>44026719 #
zeroCalories ◴[] No.44026719[source]
Putting aside performance implications, I get kinda irritated by having to do joins for basic queries all the time.
replies(2): >>44030411 #>>44030636 #
sgarland ◴[] No.44030411[source]
Then don't use a relational database. Sorry for being rude, but joins are an integral part of the relational model. If you want a KV store, you should use a KV store; if you want a Document DB, you should use a Document DB.
replies(1): >>44055232 #
zeroCalories ◴[] No.44055232[source]
Sometimes I just wanna do some adhoc analysis and I need to do like four joins because some monkey decided to split everything into it's own table without thinking about the people that would actually have to use the db.
replies(1): >>44056601 #
1. sgarland ◴[] No.44056601[source]
Your one-off analysis doesn’t trump the normal OLTP workloads.
replies(1): >>44061852 #
2. zeroCalories ◴[] No.44061852[source]
I regularly have to do queries. I'm trying to understand my non-trivial product to figure out what work items will have, or have had, impact. Sometimes I'm in a meeting and need to do some real time analysis. My ability to understand and use the data is actually more important than a slightly higher database bill. And I thought we were ignoring the poor performance of normalization?