in reply to Re^3: (OT) Couple of Data Model Design Considerations
in thread (OT) Couple of Data Model Design Considerations

Howdy!

"normalization can lead to worse performance" is a useless statement. Normalization can also lead to better performance. It *does* lead to more robust data models that more clearly communicate their design.

Deciding not to normalize amounts to denormalization.

Making that decision for "performance" implies that the normalized form has performance issues. Without normalizing and testing, you cannot properly assess the differences. You end up making assumptions about where to optimize, and those assumptions tend to be dead wrong too much of the time.

Further, what do you mean when you say "consider using a search engine"? The data being described seems to be live data that will be updated transactionally. That need points toward more fully normalized forms, but it is not clear how the balance between update activity and query activity lies. A "search engine" is no help for modifying the data, and may be counterproductive if you have to frequently query rapidly changing data.

yours,
Michael
  • Comment on Re^4: (OT) Couple of Data Model Design Considerations

Replies are listed 'Best First'.
Re^5: (OT) Couple of Data Model Design Considerations
by tinita (Parson) on Aug 15, 2007 at 11:28 UTC

    i don't know if you just don't *want* to understand me or what's the problem.

    in my first post in this thread i said "if there will be many searches".

    *if*. i just said if. and i said, normalization can lead to worse performance. in case you didn't get it, the word 'can' is in italic. that statement is true and in my context it was not useless.

    so all i did was pointing out that if the problem is, that the application has many searches, and normalization here would be worse for these searches, then one should consider a search engine to do the searches. i'm not that stupid to suggest to replace a database with a search engine.

    i never said "don't normalize because it make things slow" or something like that.

    i'm saying all that because i was working on code with a very flat database. it should have been normalized. but the database design was good for the searches, because almost all of the fields would be needed in a search. so what did we do in the end? replace database searches with a search engine. and that was a good decision. because then we were free to normalize without being worried.

    A reply falls below the community's threshold of quality. You may see it by logging in.