Video-Plattform kaputt gemacht

eine echte „Byte“-News, wenn auch 4fach:
Zu viele Klicks: Psy hat Youtube kaputt gemacht

Als erstes Youtube-Video der Welt hat das Lied „Gangnam Style“ nämlich die magische Marke von zwei Milliarden, 147 Millionen und 483.647 Klicks überschritten. Und damit die Google-Server ausgetrickst. Denn bei Google war man sich sicher, dass es ein Video niemals schaffen würde, diese Zahl zu knacken. 2.147.483.647 war die magische Grenze, weil die Youtube-Techniker für ihre Videos einen sogenannten 32-Bit-Integer programmiert haben. Ein Integer ist ein Datentyp, der Werte speichert – und in diesem Fall also die Klicks zählt. Und die Grenze dieses 32-Bit-Integers liegt bei ebendiesen gut zwei Milliarden.

dabei die 32 Bit nur zur Hälfte genutzt, 4 Mrd. wären doch auch drin gewesen…,
war schließlich kein Array

Der Integer war wohl vorzeichenbehafted.

So ist das wenn man mehr Erfolg hat als man sich selbst je zutraute :slight_smile:

Hoffe unser Forum benutzt fuer die Mitgliederanzahl einen unsigned Integer :smiley:

ich glaub 's ist ein unsigned byte (weils so schön zum Namen passt)

ein Byte ist nicht die Welt :wink:
wären nur 256 User, so pessimistisch darf man nicht sein, da haben wir ja allein mehr Spammer

255

wer auch immer den Spam filter - gute Arbeit

  1. Vergiss nicht die 0 mitzuzählen.

mit einem signed byte kann ich aber nur 255 User zählen. 256 Zustände ja, aber nicht 256 User.

Ein byte bietet Platz für 256 Speicherplätze, ja nachdem, ob man bei 0 oder bei 1 anfängt, zu Zählen, können 256 oder 255 Benutzer gespeichert werden.

Fand da bei YouTube ein integer-overflow statt, Counter auf einmal bei -…? So und jetzt * 10 MB, dann wirklich schon viel Traffic. Kann man irgendwo sehen, ohne einen Suchbegriff einzugeben, welche Videos am öftesten aufgerufen wurden? Es gibt auch Bücher, wie man Suchanfragen effektiv stellt!

Wenn ihr bei 256 Zuständen 256 Benutzer erfassen wollt, wie unterscheidet ihr dann zwischen “keine Benutzer” und “ein Benutzer”?

genau 256 Zustände

unsigned byte user = 0;
system.out.println("User: " + user);

vs.

unsigned byte user = 0;
system.out.println("User: " + (user + 1));

Letzteres wird wohl kaum einer machen. Wertebereich für 8 Bit geht von 0 bis 255. Das sind exakt 256 Zustände.

*** Edit ***

mir fehlen manchmal die richtigen Worte :smiley:

ein Admin-Account (umbenennbar) ist von Anfang an vorhanden :wink:

Irgendwie hatte ich schon befürchtet, dass genau DAS Argument kommen würde. :eek:

(Eine unterhaltsame Meldung)

ist ein unsigned byte

wären nur 256 User

255

  1. Vergiss nicht die 0

255 User, aber nicht 256

256 Speicherplätze, 256 oder 255 Benutzer

256 Zuständen, „keine Benutzer“ und „ein Benutzer“?

→ NERDS :rolleyes:

wie ist das nette Wort für „Kleinkarriert“ - ach ja - „Detailverliebt“

Meta-Nerd!

noch mehr meta
[spoiler][/spoiler]

Dann noch mein Nerd-Beitrag: Es ist ein Byte. Das ist zwar signed, kann aber auch als unsigned interpretiert werden, und kann null sein, wenn es keine User gibt. Also: 256.

pff, 4 Byte allein für die Speicheradresse, vom ganzen Byte-Objekt ganz zu schweigen,
so geht Sparen nicht

(ich nehme an und erlaube es als Threadersteller, dass das Thema eh nur noch blahblah ist)

//youtu.be/XJyMT4ZVQEc

Also kann 256 Zustände annehmen (spezieller Wertebereich …bis…), kann als unsigned interpretiert werden, kann bei 0 oder 1 anfangen zu zählen, kann 0 registriert sein, kann Admin oder Gast beinhalten, Byte hingegen braucht was für die Adresse und auch für den speziellen null-Wert, hätte man ((long)cnt) + ((long)Int.MAX) + ((long)Int.MAX) + 2L rechnen können? (kurz) zusammengefasst

und wie lange würde das funktionieren?! Natürlich nur bis zum nächsten Overflow… cnt==Counter, Int==Integer doll