How do social media companies like twitter or youtube not run out of space for posts?
I know memory is fairly cheap but e.g. there are millions of new videos on youtube everyday, each probably few hundred MBs to few GBs. It all has to take enormous amount of space. Not to mention backups.
Google just has a lot of storage space. They have dozens of data centers, each of which is an entire building dedicated to nothing but storing servers, and they’re constantly adding more servers to previous data centers and building new data centers to fit even more servers into once the ones they have are full.
IIRC, estimates tend to put Google’s current storage capacity somewhere around 10-15 exabytes. Each exabyte is a million terabytes. Each terabyte is a thousand gigabytes. That’s 10-15 billion gigabytes. And they can add storage faster than storage is used up, because they turn massive profits that they can use to pay employees to do nothing but add servers to their data centers.
Google is just a massive force in terms of storage. They probably have more storage than any other organization on the planet. And so, they can share a lot of it for free, because they’re still always turning a profit.
There are also techniques where data centers do offline storage by writing out to a high volume storage medium (I heard blueray as an example, especially because it's cheap) and storing it in racks. All automated of course. This let's them store huge quantities of infrequently accessed data (most of it) in a more efficient way. Not everything has to be online and ready to go, as long as it's capable of being made available on demand.
And thats just Google. Amazon and Microsoft also run also have massive massive data capacity that runs large chunks of the internet. And then you get into the small and medium sized hosting companies, that can be pretty significant on their own.
15 exabytes sounds low. Rough math, 1 20 TB hard drive per physical machine with 50,000 physical machines is one exabyte raw storage. I bet 50,000 physical machines is a small datacenter for Google.
It’s the same story with AWS as well. They use vast amounts of storage and leverage different tiers of storage to get the service they want. It’s funny but they have insane amounts of SD cards ( cheapest storage available at the size) and use that for some storage and just replicate things everywhere for durability. Imagine how small 256GB SD cards are and they you have hardware to plug-in 200 of them practically stacked on top of each other. The storage doesn’t need to be the best, it just needs to be managed appropriately and actively to ensure that data is always replicated as devices fail. That’s just the cooler tier stuff. It gets complex as the data warms.
Yeah this seems false. SD cards are unreliable, hard to keep track of, and don’t actually store that much data for the price. I do think they use tapes though to store long term, low traffic data.
Yeah, 10 or 15 years ago I read an article about how Google brings up new storage modules when they need to expand, and their modules are essentially shipping containers full of hard drives.
Not only that but for each video on YouTube there are different versions for each resolution. So if you upload a 1080p video, it gets converted to 1080p AVC/VP9, 720p AVC/VP9, 480p... also for the audio.
If you run youtube-dl -F <youtube url> you will see different formats.
Does youtube actually store copies of each one? Or does it store 1 master copy and downsaple as required in real time. Probably stores it since storage is cheaper than cpu time
If it converts every video in realtime it will require a lot of CPU per server, it's cheaper to store multiple copies.
Also the average video isn't more than some 300MB, less if it's lower quality.
Anyone with Plex or Jellyfin knows that it's better to have the same movie in both qualities (1080,720) the transconding to avoid CPU usage.
It's possible to have fast transconding with GPUs, but with high so many users on youtube that will require a lots of power and high energy prices, store is cheaper.
It probably depends on how popular the video is anticipated to be.
I remember hearing that something like 80% of uploads to YouTube are never watched. 80% of the remaining 20% are watched only a handful of times. It's only a tiny fraction that are popular, and the most popular are watched millions of times.
I'd guess that they don't transcode the 80% that nobody ever watches. They definitely transcode and cache the popular 4%, but who knows what they do with the 16% in the middle that are watched a few times, but not more than 10x.
In real time would mean more cpu usage every time someone plays it. If converted in advance, they only need to do it once with the most effective codecs.
I'm keen to know about how large these source files are for YouTube compared to the 720/1080 quality ones were see on the front-end. I remember them using really impressive compression but that the bitrate was super low to keep the since small.
If they're reducing a 10m 1080p file from 400MB down to 40MB then that's a good gain
YouTube isn't even profitable yet. Google pours billions into storage and compute, so does Amazon and Microsoft and all the others. They have so much space we probably can't even comprehend it
TIL that Google owned YouTube. How did I not know this? I honestly thought that they were their own entity still after all these years. God I feel dumb.
Twitter probably doesn't take to that much space (comparatively) because it's mostly text with some images.
YouTube is another matter. There's an enormous amount of content uploaded to YouTube, as much as 30,000 hours of video uploaded per hour. That's around 1PB per hour assuming most videos are uploaded in 1080p.
I wasn't able to find an official source for what YouTube's total data storage is, but this estimate puts it at 10 EB or 10,000,000,000 GB of video.
On Amazon AWS that would cost $3 Billion per month to store. The actual cost to Google is probably much lower because of economy of scale and because it is run by and optimized for them, but it is still a colossal figure. They offset the cost with ads, data collection, and premium subscription, but I would imagine running YouTube is still a net loss for Google.
I'm generally the first to criticize Google, but when it comes to pushing ads on YouTube I'm having a hard time really condemning them for it. I struggle to wrap my head around how this service can exist at all.
Also, second to direct transactions, I'd much rather have Google make money through ads than anything else.
Agreed, I pay for YouTube premium and in the world of corporate crap and fees and stuff I’m ok with that value trade off relatively. Hell, I would have paid for Reddit, too, if they weren’t assholes.
Edit: I mistyped Google premium instead of YouTube premium… same place though of course
It gets even crazier when you realize they are sort of obligated to keep every video forever. So it will just keep growing indefinitely since they have no way to trim it down. We may eventually reach a point where the majority of the content that they host is older than most living people and the uploader has since passed on.
If it's really 1 PB per hour, and mostly 1080p or higher (which seems likely, unlike the assumptions in that Quora answer) then they would fill about 9 EB every year! Obviously the rate would be lower in the past, but that 30k link was a number as of a year ago anyway.
If I remember correctly YouTube has been run at a loss basically since its inception, but it's such a popular platform (and such an efficient vehicle for advertisement) that they keep it running. Google makes up the difference elsewhere. It's like Costco's loss leader hot dogs, it literally costs them money to sell it to you, but it gets you inside the store where you're likely to buy other stuff. YouTube costs Google money to maintain, but it gets people creating Google accounts and watching ads, and recently over the past few years it also gets people buying YT Premium.
Besides, so much propaganda of all sorts is channeled through YouTube that if Google ever seriously considered shutting it down I expect they'd have a boardroom full of shareholders immediately putting their foot down about it. YouTube is no longer about the cost, it's about the platform accessibility and the existing userbase.
For twitter it's not that complicated because tweets are quite short and text compresses very well. The pictures and videos people upload are of course another story, I'm not sure what Twitter uses as a backend for anything though.
From what I gather, Twitter uses Google as its Simple Storage Service (S3), which is one of the main reasons why them dine-and-dashing Alphabet Inc. with the bill for server usage was so severe for their backend
Three additional things that you have to keep in mind are that:
1 - Enterprise storage is much, much denser (as in, capacity per physical space occupied) than you would expect.
2 - These systems have capacity recovery features (primarily compression and deduplication) that save a lot more storage than you would expect.
3 - The elements in the infrastructure are periodically refreshed by migrating them to newer infrastructure (think of how you could migrate two old 500GB disks to a single modern 1TB disk to save the physical space of a disk).
"IBM Storage Scale System is based on proven IBM Storage 2U24 hardware that can be expanded with additional storage enclosures up to 15.4PB of total capacity in a single node and 633YB in a single cluster. You can start with 48TB using half-populated flash nodes or create a fully-populated NVMe flash solution with 24, 2.5” drives in capacities of 3.84TB, 7.68TB, 15.36TB or 30TB. Using the largest capacity 30TB NVMe drives, up to 720TB total flash capacity, in a 2U form factor, along with associated low weight and low power consumption. Adding storage enclosures is easy as up to 8 enclosures (each 4u with 102 drives) can accommodate up to 816 drives of 10TB, 14TB or 18TB or 14.6PB of total raw HDD capacity."
In short, you end up packing a stupid amount of storage in relatively moderate spaces. Combined with the other two points, it helps keep things somewhat under control. Kinda.
Scalable shared storage. Scalable database, web, and cache servers. Using AWS terminology, it's elastic. The Multi-zone storage my own company, for example, is practically infinite and scales automatically.