Results 1 to 11 of 11
  1. #1
    Join Date
    Aug 2004
    Posts
    17

    Regarding denormalizing for performance reasons

    After having read some posts on this forum about denormalizing for performance reasons, I stumbled across discussions on this topic elsewhere, and I would like to share them with this forum. They are interesting articles:

    - The Dangerous Illusion: Denormalization, Performance and Integrity, Part 1 By Fabian Pascal (http://dmreview.com/article_sub.cfm?articleID=5251)
    - The Dangerous Illusion: Denormalization, Performance and Integrity, Part 2 By Fabian Pascal (http://dmreview.com/article_sub.cfm?articleID=5337)
    - Dangerous Allusions, a reply to Fabian Pascal by Stephen R. VanArsdale (http://dmreview.com/article_sub.cfm?articleID=5736)
    - No Value in Multi-Value, a reply of Fabian Pascal to Stephen R. VanArsdale (http://dmreview.com/article_sub.cfm?articleID=5893)
    - ON “MULTIVALUE” TECHNOLOGY (exchange between both of them) http://www.dbdebunk.com/page/page/622342.htm

  2. #2
    Join Date
    Feb 2004
    Location
    In front of the computer
    Posts
    15,579
    This is just an observation, but you seem to have chosen a Molitov cocktail as your calling-card! There are folks that are well respected around this forum that get a bit worked up at the mere mention of Fabian Pascal.

    Its no big deal to me (although he'd probably like to see me as a smoking ruin), and I hope that nobody decides to flame you just for mentioning him. Fabian has a right to an opinion as much as anybody, whether I agree with him on that particular issue or not.

    -PatP

  3. #3
    Join Date
    Aug 2004
    Posts
    17
    Quote Originally Posted by Pat Phelan
    Fabian has a right to an opinion as much as anybody, whether I agree with him on that particular issue or not.
    I would like to know your view of this topic. If you can't point me to a place where it's published, would you be so kind to describe it here?

  4. #4
    Join Date
    Sep 2002
    Location
    UK
    Posts
    5,171
    The "Dangerous Allusions" article misses the real point of Pascal's argument, since it confuses logical and physical levels. This sentence is laughable: "The simple truth is that real data is not normalized; people have more than one phone number." Also, the point about indexes being "prone to corruption" is bogus. These seem typically uninformed relational-bashing arguments.

    Pascal is right (IMO), but to adhere fully to his principles requires the existence of a "true" RDBMS. Since none actually exists right now, people at the "coal face" using SQL-based products that conflate logical and physical levels can't really be blamed for making the compromises (like denormalisation) that these can force you into. Unfortunately, Pascal sometimes seems to castigate everyone for being prepared to use SQL products at all - as if we should all down tools and refuse to design a database at all until someone implements the relational model properly! This rather undermines his position, which is fundamentally correct. I agree with most of what he says, but not always with how he says it.

    Regarding denormalisation specifically, I would say that even with a good SQL product like Oracle it is much more rarely necessary to "denormalise for performance" than many people seem to think. For me, it is a last resort - one that in fact I have rarely if ever had to resort to at all!

  5. #5
    Join Date
    Jul 2004
    Location
    UK
    Posts
    43
    Oooh yeah. It's a matter of what makes sense.

    IMO data redundency is a BAD thing in database's. This is what we're really talking about. This is one of the prime reasons for normalization.

    Why is it bad? It's duplication, ie inefficiant, Businiess optimisers strive to remove duplication because it looses the business money. Remove it from your database design and you loose the responsibility of multiple updates, data inconsistancies and lower data integrity (result or incomplete updates).

    I think the only reason for denormalization is query hassle. To query a denormalised database is easier, nice short queries which in turn leads to the weak premise of performace gains.
    While a well normalized database may require thoughtfull, lengthly queries with joins which lead to another weak premise of performance losses. Perhaps SQL needs a good look at?

    In databases the number one priority should be data integrity, performance second. After all whats the point of false data?

    Isn't there a user on this forum with the footer 'One fact in one place'?

    Nuff said.

  6. #6
    Join Date
    Feb 2004
    Location
    In front of the computer
    Posts
    15,579
    Quote Originally Posted by roman2
    I would like to know your view of this topic. If you can't point me to a place where it's published, would you be so kind to describe it here?
    I've never really published much about this whole issue, so I'll do a brief summary. Maybe someday I'll blog this in more detail.

    I think that anyone who has spent significant time and effort working on a topic has a right to an opinion about it. I will make every reasonable effort to allow them their opinion and encourage their right to express it, within the limits of the law and social norms required by the situation without any regard to whether I agree with their opinion or not.

    Fabian makes a lot of enemies he doesn't need to make. He's irritated people that genuinely want to learn, to the point that their hackles raise at the mere mention of his name. That's an awful place for someone that really has a good mind and a desire to teach to place themselves... They've effectively removed the people they've alienated from their audience, probably forever.

    I'm sure that Fabian is very intelligent. He's acquired some friends that I really respect. I'm not really up for another helping of vitriol right now, so I really don't have much interest in reading him, much less debating anything with him... Life is too short to tolerate behavior from an acknowledged expert in my own field that I won't tolerate from the middle-school friends of my niece and nephew! Fabian can go his way, I'll go mine.

    He is an expert in the field. Many people put great store in what he has to say (and on most points I probably would too), in spite of the way that he says it. I personally feel that he has a right to his opinions, I just refuse to debate them on his terms anymore... If he can't behave tolerably, I'd prefer he behave as he pleases somewhere far away from me.

    -PatP

  7. #7
    Join Date
    Oct 2002
    Location
    Baghdad, Iraq
    Posts
    697

    Opinions aren't the same thing as arguments.

    Quote Originally Posted by Pat Phelan
    I think that anyone who has spent significant time and effort working on a topic has a right to an opinion about it. I will make every reasonable effort to allow them their opinion and encourage their right to express it, within the limits of the law and social norms required by the situation without any regard to whether I agree with their opinion or not.

    Fabian makes a lot of enemies he doesn't need to make. He's irritated people that genuinely want to learn, to the point that their hackles raise at the mere mention of his name. That's an awful place for someone that really has a good mind and a desire to teach to place themselves... They've effectively removed the people they've alienated from their audience, probably forever.
    Well, as Pascal might say, you're confusing opinions with arguments. When writing about the relational model, Pascal makes arguments backed with mathematical evidence. That is to say, he proves something. When he bellyaches about how awful the industry is for not publishing his stuff, he's opining. Now, while he does tend to present both with the same kind of prose, it's your responsibility as a professional to sort the two out and get what you need from his writing.

    One simple way is to buy his (their) books. (Oh, and the foundation series.) The irony is, given his politics, that the capitalist incentive brings out his best work.

  8. #8
    Join Date
    Apr 2002
    Location
    Toronto, Canada
    Posts
    20,002
    Quote Originally Posted by sco08y
    it's your responsibility as a professional to sort the two out and get what you need from his writing.
    to put it plainly, no it isn't

    i don't have to read that pr1ck at all

    the guy may be smart, the guy may be right, but the guy can bleat all he wants, i ain't gonna read him, and that's all i have to say about it
    rudy.ca | @rudydotca
    Buy my SitePoint book: Simply SQL

  9. #9
    Join Date
    Oct 2002
    Location
    Baghdad, Iraq
    Posts
    697

    Talking

    "i don't have to read that pr1ck at all"

    Where'd all the love go?

  10. #10
    Join Date
    Feb 2004
    Location
    In front of the computer
    Posts
    15,579
    Quote Originally Posted by sco08y
    Where'd all the love go?
    We're talking about Fabian Pascal, right? In Rudy's case, that boils down very quickly to "What love?"

    As I pointed out before, Fabian has alienated a lot of people, for no good reason. At this point in time, he could have the secret for turning lead into gold, but there are a lot of people that wouldn't bother to read about it, just because it was him writing.

    For the most part in Internet forums, your value within the community depends on what you contribute to it. Fabian has contributed a lot of vitriol and consternation, and very little if any of that could be justified. While he was very intelligent at one point in time, nobody of substance reads him anymore (with the possible exception of Chris Date) because of the needlessly caustic delivery style, so Fabian really doesn't matter much to us.

    -PatP

  11. #11
    Join Date
    Apr 2004
    Location
    Toronto, Canada
    Posts
    249
    (Let the flame wars begin.)

    It is unfortunate that people do not read Fabian Pascal.

    He has a lot to teach the rest of the world. His complaint is that people who claim to be experts are really lacking in the fundamentals. Why should he be nice to "experts" if they just blather on without having any fundamental knowledge?

    I see a lot of so called experts lacking basic knowledge of relational fundamentals.

    I see that the vast majority of software developers have no clue as to how to develop a software application. Especially those in the Object Oriented world who feel that XML + OO = solution of all problems in the world.

    Time and again I see developers/designers choose solutions that will lead to problems down the road.

    It is frustating to see people brush off the messenger (Fabian Pascal) when there are pearls of wisdom in the message.


    As I said at the beginning of this post, let the flames begin!


    Ravi (Toronto, Canada)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •