Will YouTube Ever Run Out Of Video IDs?
Summary
TLDRYouTubeのビデオには一意のIDがあり、そのIDは11文字の文字列で表されます。これにより、ビデオを特定し、参照することが可能です。YouTubeは、ビデオのアップロード量が膨大であることを考慮し、11文字の文字列で非常に大きな数値を表現できるため、Base 64を使用しています。また、安全上の問題を回避するために、連続したカウンターを避け、ビデオごとにランダムな数値を生成しています。Base 64を使用することで、73京786兆976兆294億838万206千464のビデオを表すことができます。これは、地球上の全人類が約18,000年間、1分間に1本ずつビデオをアップロードするのに十分な大きさです。YouTubeは将来のニーズを十分に計画しており、URLが不足する可能性は技術的にはありますが、実際にはそうであるとは言えません。もしもそうなった場合でも、1文字を追加するだけで解決可能です。
Takeaways
- 📺 YouTubeの各動画には一意の11文字のIDが付いています。
- 🌐 YouTubeは1分間に400時間もの動画がアップロードされるほどの規模を誇ります。
- 🔢 人間は10進法で数え、コンピュータは2進法または16進法で計算します。
- 📈 Base 64はコンピュータが扱いやすいし、人間が理解しやすくなっています。
- 🔑 YouTubeの動画IDは、Base 64で表現されたランダムな数字です。
- 🚫 動画のアップロードを全てのサーバーで同期する必要があるため、単純なカウントは避けられます。
- 🛡️ 動画のIDを単純に1, 2, 3と数えると、セキュリティリスクを引き起こす可能性があります。
- 🚫 インクリメンタルカウンターは、ウェブサイトの設計において避けるべき悪手です。
- 🧮 Base 64を使用すると、非常に短い文字列で非常に大きな数値を表現できます。
- 🌟 YouTubeの11文字のIDは、73の京と976の兆、294億の数千兆、464の万と206の数千の動画を表すことができます。
- ⏳ 地球上の全人類が1分間に1本ずつ動画をアップロードした場合でも、18,000年は十分にカバーできます。
- 🔗 YouTubeは将来のニーズを考慮して、URLの枯渇を未然に防いでいます。
Q & A
YouTubeのビデオには一意のIDが付いているとされていますが、それはどのようにして識別されるのですか?
-YouTubeのビデオには、URL内に11文字の文字列があり、それがビデオを一意に識別します。
YouTubeは1分間に400時間ものビデオがアップロードされるとされていますが、ビデオIDが不足する可能性はありますか?
-YouTubeは基数64を使用しているため、非常に多くのビデオIDを生成できます。実際には、11文字のIDで73京786兆976兆294億838万206千464のビデオを表すことができます。
基数64とは何ですか?なぜYouTubeは基数64を使用するのですか?
-基数64は、0から9、大文字のAからZ、小文字のaからz、そして2つの記号(ハイフンとアンダースコア)を使用する数値システムです。YouTubeは基数64を使用して、小さなスペースで大きな数値を表し、人間が読みやすいようにしています。
YouTubeがビデオのアップロードを処理する際に、なぜシーケンシャルなカウンターを使用しないのですか?
-シーケンシャルなカウンターはセキュリティ上の問題を引き起こす可能性があり、誰もが簡単にすべてのビデオを列挙することができるためです。代わりに、YouTubeは各ビデオに対してランダムな数値を生成します。
YouTubeのビデオIDはどのように生成されるのですか?
-YouTubeは各ビデオに対してランダムな数値を生成し、その数値が既に使われているかどうかをチェックします。もし使われていなければ、その数値をビデオIDとして使用します。
もしYouTubeがビデオIDを使いきったらどうなるでしょうか?
-技術的には、YouTubeがビデオIDを使い切ることは可能です。しかし、実際にはそうする可能性は非常に低く、もしそうなった場合でも、ただ1文字を追加するだけで解決できます。
YouTubeのビデオIDは、なぜ人間が読むことが難しい2進法の代わりに基数16の16進数を使用するのですか?
-16進数は、コンピュータが扱いやすい一方で、人間が理解するのが難しいためです。また、16は2の4乗で、コンピュータにとっても扱いやすい数字です。
YouTubeのビデオIDは、なぜ人間が読むことが困難な2進法を使用しないのですか?
-2進法は非常に長い数字列になるため、人間が読むのは困難です。また、2進法はコンピュータが扱いやすいですが、人間にとっては読み書きが不便です。
YouTubeのビデオIDが基数64で表される場合、11文字のIDは何の数量のビデオを表すことができますか?
-11文字の基数64のIDは、73京786兆976兆294億838万206千464のビデオを表すことができます。
YouTubeがビデオをアップロードする際に、なぜシーケンシャルなカウンターを使用しない方が安全ですか?
-シーケンシャルなカウンターは、誰もが簡単にビデオIDを推測し、未公開のビデオにアクセスすることができるリスクがあります。ランダムなIDを使用することで、そのようなセキュリティリスクを減らすことができます。
ウェブサイトを構築する際に、シーケンシャルなカウンターを使用しないでくださいとアドバイスされていますが、なぜでしょうか?
-シーケンシャルなカウンターを使用すると、競合他社が簡単に顧客数を推測したり、誰もが簡単にすべての記録をダウンロードしたり、他人の個人情報を閲覧したりできるリスクがあります。代わりにランダムな数値を使用することが推奨されています。
YouTubeがビデオIDを使い切った場合、どうすればさらに多くのIDを生成できますか?
-YouTubeがビデオIDを使い切った場合、URLにもう1つの文字を追加することで、さらに多くのビデオIDを生成できます。
Outlines
😀 YouTubeビデオのユニークIDについて
YouTubeの各ビデオには、URL内の11文字の文字列で一意に識別されるユニークIDがあります。ビデオは数百万もの存在し、1分間に400時間のビデオがアップロードされるとされています。このような状況で、YouTubeはユニークなIDを使い切ることはないでしょうか?そこで、数値表現方法について話します。人間は10進法で数え、コンピュータは2進法で数えますが、人間には読みづらいため、しばしば16進法で表示されます。しかし、YouTubeはBase64を使用しており、0から9、大文字のAからZ、小文字のaからz、そしてハイフンとアンダースコアの2つの文字を用いて、コンピュータが扱いやすいかつ人間が読むこともできるようにしています。また、ビデオのアップロードを担当する各サーバー間でのカウントの同期が必要になるため、YouTubeは各ビデオに対してランダムな番号を生成し、使用可能かどうかをチェックしています。これにより、インクリメンタルカウンターが原因でセキュリティ上の問題が生じるのを避けることができます。YouTubeが使用する数値の大きさについて考えてみると、1文字のBase64で64のID番号が生まれるため、11文字のIDで73の京兆に及ぶビデオを扱えます。これは、地球上の全人類が1分間に1本ずつビデオをアップロードしても、約18,000年も続くほど十分な大きさです。
Mindmap
Keywords
💡YouTube動画ID
💡カウントシステム
💡Base 64
💡ランダムナンバー
💡シーケンシャルカウンター
💡エントロピー
💡セキュリティ
💡人間が読める
💡コンピュータの扱いやすさ
💡URL
💡文字の選定
Highlights
YouTubeの各ビデオには一意のIDが付いており、そのIDはURL内の11文字の文字列で表されます。
YouTubeは、1分間に400時間のビデオがアップロードされるほどの数百万のビデオを持つとされています。
人々は10進法で数え、コンピュータは2進法で数えますが、人間には読みづらいため、16進数(ヘクス)で表示することがよくあります。
YouTubeは、2の6乗である64をベースとした64進法を使用し、これはコンピュータにとって扱いやすい数です。
64進法では、0から9、大文字のAからZ、小文字のaからz、および2つの記号を使用します。
YouTubeのURLで使用される64進法のIDは、単にランダムな数値です。
YouTubeが単純に1からカウントを始めなかった理由は、サーバー間のカウント同期が必要であるためです。
インクリメンタルカウンターは、セキュリティ上の問題を引き起こす可能性があり、YouTubeでは使用していません。
YouTubeの非公開ビデオは、パブリックには表示されませんが、リンクを共有することができます。
インクリメンタルカウンターは、サイトの設計において避けるべき悪い考えであり、ランダムな数値を使用することが推奨されます。
YouTubeが使用する数は、64進法で11文字を使用することで、73の京兆(10の15乗)と976の四兆(10の12乗)294億8385万206千464個のビデオに対応できます。
地球上のすべての人間が1分間に1つのビデオをアップロードする場合でも、YouTubeのIDが枯渇するまでに約18,000年の時間がかかります。
技術的には、YouTubeのURLが枯渇する可能性はありますが、実際にはそうする可能性は非常に低いです。
もしもYouTubeがURLを使い切った場合でも、1文字を追加することで問題を解決することができます。
YouTubeは、ビデオのアップロードを計画的に行っており、十分な余裕を持っています。
YouTubeのビデオIDは、人間が読むことができる大規模な数値を小さく保ちながら、ランダム性と安全性を確保しています。
プログラマーサム・ヒューズによって、64,512進法が提案されており、これはすべての言語の文字を使用していますが、実際には必要ではありません。
YouTubeは、URLに登場する可能性のある言葉、特に不適切な言葉を除外するために辞書チェックを行っていると予想されます。
Transcripts
Every YouTube video has a unique ID.
It's up in the URL: a string of eleven characters
that uniquely identifies which video you want.
Now, YouTube has millions and millions of videos.
The last stats that they released said they have
400 hours of video being uploaded every minute.
So: are they ever going to run out of those IDs?
Well, to find out, let's talk about counting systems.
People count in Base 10. 0 to 9.
That'll be, hopefully, familiar to you.
Computers count in base 2, in binary,
but that's difficult for humans to read,
it gets too long to write really, really quickly,
so often computers will display it in base 16, hexadecimal.
You have 0 to 9, and then A to F,
and then you start adding to the next column.
Humans can't understand that easily,
but it's efficient if we have to type it in somewhere,
and 16 - 2 to the power of 4 - is also easy for computers to deal with.
So how about Base 64?
That'd be a ridiculous counting system, right? Except.
64 is another one of those easy numbers for computers,
it is 2 to the power of 6.
And humans can get to 64 very easily:
0 to 9, then capital letters A to Z,
then small letters a to z, and two other characters.
Most Base 64 uses slash and plus,
but they don't work so well in URLs,
so YouTube uses hyphen and underscore.
That YouTube URL, that unique ID,
is really just a random number in base 64.
They could have have picked base 10 or base 16,
but they didn't: they went with 64,
because it will let you cram a huge number into a small space
and still make it vaguely human readable.
Author and programmer Sam Hughes, by the way,
pushed this to the limit, and invented Base 65,536,
which includes basically every character from every language.
It is ridiculous and unnecessary,
but when has that ever stopped programmers?
So why didn't YouTube just start counting at 1 and work up?
Well, first, they would have to synchronise their counting
between all the servers handling the video uploads,
or they'd have to assign each server a block of numbers.
Either way, there's a lot of tracking to do,
a lot of making sure that it's never duplicated.
Instead, they just generate a random number for each video,
see if it's already taken, and if not, use it.
And secondly, it is a really, really bad idea
to just count 1, 2, 3 and so on in URLs.
Incremental counters, as they're called, can be a big security flaw:
if you see video 283 up there, then you might wonder:
what's video 284? Or video 282?
It's easy to enumerate, as it's called,
to run through the entire list.
YouTube Unlisted videos, the ones that don't appear publicly
but that you can send the link to people, those wouldn't work.
And by the way? Lots of badly designed sites do use incremental counters.
And it is a terrible idea.
It might tell your competitors exactly how many customers you have,
'cos they can just count them.
It might let people download all your records easily,
'cos they can just run through them.
And in one site that someone in Florida emailed me about this week,
it lets you look at other people's personal details.
Don't use incremental counters if you're building a web site. Use a random number.
Which brings me to the question:
just how big are the numbers that YouTube uses?
Well, let's work it out.
One character of base 64 lets you have 64 ID numbers.
Two characters? That's 64 by 64, or 4,096.
Three characters? 64 times 64 times 64 -- or 64 to the power of 3.
That is already more than a quarter of a million.
And if we go to four? Well, now we're above 16 million.
If you use Base 64, then you can assign an ID number
to everyone who lives in London down there twice over,
and you'll only need four characters.
This gets big fast. We can keep on doing this,
and by seven characters we're already at four quadrillion.
Now, I assume that YouTube checks through a dictionary,
and doesn't allow any actual words to appear up there --
particularly anything rude.
But that is going to be a tiny minority of the URLs,
so for our purposes, we can pretty much just ignore that.
At YouTube's 11 characters, we are at 73 quintillion 786 quadrillion
976 trillion 294 billion 838 million
206 thousand and 464 videos.
That's enough for every single human on planet Earth
to upload a video every minute for around 18,000 years.
YouTube planned ahead.
Can they run out of URLs? Technically, yes.
Practically? No. And if they did?
They could just add one more character.
[Translating these subtitles? Add your name here!]
Ha! One take! One take! Yes!
Ver Más Videos Relacionados
アップロードした動画のURLを変えずに置換え・変更できるか?|企業・官公庁の為のYouTube活用方法【品川動画配信スタジオ】
2.2.4 undefined-null-and-empty-values
The TRUTH About James Jani Sucess
【50代以上必見】スマホの代わりにiPad Miniを使う方法、メリット、デメリット | 老眼に悩むシニア時代の必需品
How Google Translate Uses Math to Understand 134 Languages | WSJ Tech Behind
Internet Computer ICP: You Have No Clue About THIS...
5.0 / 5 (0 votes)