Hacker Newsnew | past | comments | ask | show | jobs | submit | minkeymaniac's commentslogin

Normalize till it hurts, then denormalize till it works!

Normalize the app, denormalize the reporting.

what a marvelous motto <3.

Certainly a lot more concise than the article or the works the article references.


Imperative mood "normalize" assumes that you had something not-normalized before you received that instruction. It's not useful when your table design strategy is already normalization-preserving, such as the most basic textbook strategy (a table per anchor, a column per attribute or 1:N link, a 2-column table per M:N link).

And this is basically the main point of my critique of 4NF and 5NF. They both traditionally present an unexplained table that is supposed to be normalized. But it's not clear where does this original structure come from. Why are its own authors not aware about the (arguably, quite simple) concept of normalization?

It's like saying that to in order to implement an algorithm you have to remove bugs from its original implementation — where does this implementation come from?

The other side of this coin is that lots of real-world design have a lot of denormalized representations that are often reasonably-well engineered.

Because of that if you, as a novice, look at a typical production schema, and you have this "thou shalt normalize" instruction, you'll be confused.

This is my big teaching pet peeve.


> But it's not clear where does this original structure come from. Why are its own authors not aware about the (arguably, quite simple) concept of normalization?

I find the bafflement expressed in the article as well as the one linked extremely attractive. It made both a joy to read.

Were I to hazard a guess: Might it be a consequence of lack of disk space in those early decades, resulting into developers being cautious about defining new tables and failing to rationalise that the duplication in their tragic designs would result in more space wasted?

> The other side of this coin is that lots of real-world design have a lot of denormalized representations that are often reasonably-well engineered.

Agreed, but as the OP comment stated they usually started out normalised and then pushed out denormalised representations for nice contiguous reads.

As a victim of maintaining a stack on top of an EAV schema once upon a time, I have great appreciation for contiguous reads.


> Might it be a consequence of lack of disk space in those early decades

A plausible explanation of "normalization as a process" was actually found in https://www.cargocultcode.com/normalization-is-not-a-process... ("So where did it begin?").

I hope someday to find some technical report of migrating to the relational database, from around that time.


> Normalization-as-process makes sense in a specific scenario: When converting a hierarchical database model into a relational model.

That makes much more sense as reasoning.

If I can also offer a second hazard of guess. I used to work in embedded in the 2000's and it was absolutely insane how almost all of the eldy architects and developers would readily accept some fixed width file format for data storage over a sensible solution that offered out of the box transactionality and relational modelling like Sqlite. This creates a mindset where each datastore is effectively siloed and must contain all the information to perform the operation, potentially leading to these denormalised designs.

Bit weird, given that was from the waterfall era, implying that the "Big Design Up Front" wasn't actually doing any real thinking about modelling up front. But I've been in that room and I think a lot of it was cargo cult. To deal with the insanity of simple file I/O as data, I had to write a rudimentary atomicity system from scratch in order to fix the dumb corruption issues of their design when I would have got that for free with Sqlite.


7 was a rewrite, from c to c++, also went from 2k pages to 8k pages


2000 for sure had instead of triggers.. I used them :-)


Thanks for the clarification, I guess my memory is very bad after all! :)

Do you remember if that was a recent addition?

Full disclosure: I was quite the newbie back then and most of what I "new" about SQL Server was what the more experienced coworkers told me. This was a very IBM-biased place so I'm not surprised they would have stuck to some old shortcoming, like people who still talk about bad MySQL defaults that have been changed for at least 10 years.

Up until that job (which was my second Actual Formal Job), all my DB experience had been with either dBase (I think III plus or IV) and access, so this was a whole new world with me.

It was through MS SQL Server that a colleague taught me about backups and recovery, after I ran an update in prod but forgot to include the where clause ... :)


It went down 89% Between 1929 And 1932, it took 25 years to close above 400 again. https://denisgobo.blogspot.com/2008/12/how-long-did-it-take-... Of course with Dollar-Cost Averaging you will be buying at the low until as well


If you're lucky enough to have a job. Which you probably won't in a Great Depression II


The step count in NYC stands out like One World Trade Center compared to the rest of the building when looking at the skyline ;-)


I listed some hard drives on Friday on eBay.. most of them refurbished... within 5 minutes got a message from a person who wanted them all... shipped them an hour later


I can confirm.. open up linkedIn.. hit F12 and watch the error count keep going up and up and up

Screenshots found here https://x.com/DenisGobo/status/2018334684879438150



Yikes, same happening on my PC. This is crazy, nefarious websites constantly intruding in any way they can.


Article is from July 2025, Gold was 3362 at that time


So gold is up 50% in six months? That's... quite a bit.


Yep, it doubled in the last 4 months https://www.youtube.com/watch?v=o5Zc-FsUDCM I upgraded my PC by adding 64GB.. two Fridays ago I sold the 32 GB I took out for the same amount of what I paid for the 64 GB in July... insane


And I'm beating myself for not preemptively ordering that 128G kit for $500 a couple of months ago, thinking about upgrading soon.

Last week it went to $1300 and now it's not available anymore.

Guess I'll just skip AM5 and wait for AM6 at this rate...


Same situation. I looked up the previous RAM boom and bust cycles (thanks Gemini) and we are looking at over a year of waiting potentially.


I bought a refurbished laptop with 64gb ddr4 (so-dimm) last week. It was just slightly more expensive than the 32gb variant with same specs. I guess the seller was not yet aware of the high memory prices.

In a week or two I might be able to make a profit by just selling the memory.


There's cheap adapters that allow you to use SO-DIMM memory in desktop DIMM slots. Of course performance will suffer compared to native DIMM sticks, but if you happen to have SO-DIMM laying around that you aren't currently using, this might be a nice use for it.


Oh, man.

This conjures up vivid memories of being in the middle 1990s, with my first Pentium build on a Triton (FX) chipset board. The motherboard only accepted 72-pin SIMMs, but those were still pretty rare and expensive for me.

Instead of buying new expensive RAM, I used memory adapters I used to get that going. IIRC, they were branded SimmVerter.

Each adapter allowed a person to install four 30-pin SIMMs (which were very cheap and common) into one 72-pin SIMM socket on a motherboard.

I had four such adapters, and they were each of different shape: One for each variation of tall-vs-short, and also for left-vs-right. These shapes allowed for all four of the adapters to be used concurrently on a motherboard with 4 72-pin slots without them physically interfering with eachother.

It was so much fun back then to try to get all sixteen 30-pin SIMMs to function reliably.

Things became even more fun when I decided to mix in some 72-pin EDO SIMMs, and get each of them working with their respective features enabled.

(And I said all of that with a lot of sarcasm, but: I did eventually get it all to work reliably-enough for my purposes back then. I also learned a ton of stuff about cleaning electrical contacts, maintaining fast mechanical alignment, conclusively identifying problematic modules through testing, and optimizing physical layouts. These are skills that I've been able to get out and productively use on occasion during the 30-ish years that have subsequently passed.

While I can look back on that with a bit of positivity, I'm not sure that people are ready for that kind of thing today. A lot of folks weren't ready for it back then, either -- adapters like that, while being a [mostly] electrically-sound concept, were popularly considered to be cursed.)


Bought a 64gb upgrade kit in September for my wife's new PC for $205. The same kit right now on Newegg is $570. That's not even double in 4 months; thats almost triple in 2 months.


If I can get that right now $389 retail is there an arb opportunity (not in US, but maybe you are getting fucked on tariffs? Could that be the difference?)


Doubled in the last 4 months https://www.youtube.com/watch?v=o5Zc-FsUDCM

Upgraded by adding 64GB.. last Friday I sold the 32 GB I took out for what I paid for the 64 GB in July... insane


Time to start scouring used-PC sales to reclaim the RAM and sell it for a profit?


Have you not noticed the domain of the submitted article? Others are way, way ahead on that already.

(Including the submitter. In their comment history is "Tip: You can sell used server RAM or desktop modules through BuySellRam to recover value from old hardware." at https://news.ycombinator.com/item?id=45800881 and all of the submissions of this domain are from this user: https://news.ycombinator.com/from?site=buysellram.com )


but why wouldn't that used-PC simply increase in price due to the components becoming more expensive?


Information asymmetry


If you can find used PCs being liquidated with DDR4 RAM that is fast enough for a modern build, then you might.

Old RAM that comes out of the PCs being sold at fire sale prices isn’t really in demand though. Even slower DDR4 grades aren’t seeing much demand.


You should use OBS to screen record rather than video your computer screen with your phone


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: