Hacker News new | ask | show | jobs
by notachatbot1234 752 days ago
> - Most data isn't big. I can fit data about every person in the world on a $100 Chromebook. (8 billion people * 8 bits of data = 8GB)

Nitpick but I cannot help myself: 8 bits are not even enough for a unique integer ID per person, that would require 8 bytes per person and then we are at 60GB already.

I agree with pretty much anything else you said, just this stood out as wrong and Duty Calls.

2 comments

Sure it is. You just need a one to one function from person to [0, eight billion]. Use that as your array index and you're golden. 8 GB is overkill, really, you could pack some boolean datum like "is over 18" into bits within the bytes and store your database in a single gigabyte.

Writing your mapping function would be tricky! But definitely theoretically possible.

I'm old enough to have built systems with similar techniques. We don't do that much anymore since we don't need to, but it's not rocket science.

We had spell checkers before computers had enough memory to fit all words. They'd probabilistically find almost all incorrect words (but not suggest corrections). It worked fine.

meh. memory address is the ID
Airline booking numbers used to just be the sector number of your booking record on the mainframes HDD.
That’s why they were constantly recycled?
This is such a simple scheme.

I wonder how they dealt with common storage issues like backups and disks having bad sectors.

They're likely record based formatting rather than file based. At the high level the code is just asking for a record number from a data set. The data set is managed including redundancy/ECC by the hardware of that storage device.
My jaw just hit the floor. What a fascinating fact!
source?