Alternative zu MySQL.?!

  • Gibt es eigentlich noch ne Alternative zu MySQL?


    Nehmen wir als Beispiel Facebook.
    Wenn sich einer einloggt, werden die doch sicher nicht in der Datenbank 600Millionen(!) Nutzerdaten vergleichen mit dem Eingegebenen?

  • Datenbak-Server gibt´s viele: PostgreSQL, den MS SQL Server und Cassandra, welchen auch Facebook einsetzt.
    Auch SQLite sollte man mit beachten.


    Zu deinem Einlog-Script: Würde man in großen Projekten SELECT * FROM `users` ausführen, wäre das schon fatal. Deshalb nimmt man hier meine Variante mit der WHERE-Klausel.


    Gruß,
    webmaster3000

  • @drPHIP132:
    Hmmmm, möchtest du MySQL nicht verwenden oder wolltest du einfach nur wissen, ob es eine Alternative gibt?

  • Es werden tatsächlich alle Datensätze durchsucht, aber nur einer wird letztendlich ausgewählt, das durchsuchen geht sehr schnell da es sich um winzige Datenmengen handelt.

  • Hast du.
    Jedes Zeichen ist (im ASCII-Code) genau ein Byte groß. Ein Byte besteht aus 8 Bit. Ein Bit kann nur die Werte WAHR (1) oder FALSCH (0) haben.
    Demnach sind es 8 Byte.

  • Dann verwechselt dein Informatiklehrer da etwas^^
    Im Ascii-Satz muss ich Webmaster zustimmen ist jedes Zeichen 1 Byte, was 8Bit entspricht.


    Übrigens wird die Geschwindigkeit von solchen Abfragen bei Datenbanken auch erhöht, da nicht alle 600 Millionen einträge in einer Datei stehen sondern aufgespalten werden und durch vordefinierte Indexen "vorher herausgesucht" werden (man muss also nur noch Abschnitte der 600 Millionen Einträge durchsuchen und nicht mehr alle). So kann die Datenbank viel Effizienter suchen.

  • Ein Zustand 0 / 1 = 1 Bit
    8 Bit = 1 Byte
    1000 Byte = 1 KiloByte


    Ein Byte besteht aus 8 Zuständen (0/1) und kann durch Umstellen dieser insgesamt 256 verschiedene Werte beinhalten, deshalb auch 256 Zeichen in der Zeichentabelle.

  • Wenn schon, musst du auch ganz genau sein:


    1 KiloByte sind 1024 (2^10) und nicht 1000 Byte.
    (Zumindest im Rechner, die Speicherhersteller verwechseln das auch sehr gerne :wink: )

  • "Sören" schrieb:

    1 KiloByte sind 1024 (2^10) und nicht 1000 Byte.


    Diese 24 Bytes sind allerdings Verlust der nicht wirklich nutzbar ist.


    Deswegen hat man ja auch größeren Speicherverlust wenn man mehr Speicher hat ;)

  • Moment mal. Ich will ja jetzt keinen verunsichern, aber:


    8 Bit = 1 Byte (B)
    Soweit waren wir schon. Jetzt wirds aber kompliziert.


    1000 (10^3) B = 1 Kilobyte (kB) und 1024 (2^10) Byte = Kibibyte (KiB)


    So gehts dann auch weiter:
    1 000 000 (10^6) B = 1 Megabyte (MB) und 1 048 576 (2^20) B = 1 Mibibyte (MiB)
    1 000 000 000 (10^9) B = 1 Gigabyte (GB) und 1.073.741.824 (2^30) B = 1 Gibibyte (GiB)
    ...


    Bei Speicherangaben im Handel sing immer die dezimalen Einheiten gemeint.


    Für weitere Informationen siehe http://de.wikipedia.org/wiki/Byte#Vergleich.


    Gruß,
    webmaster3000

  • Ich dachte bisher immer, die Angaben vom Rechner (1KB = 1024B) sind richtig und die Speicherhersteller (1KB = 1000B) gaukeln einem quasi mehr Speicher vor, aber wenns anders herum ist, machts ja auch keinen so großen Unterschied.