Berechnung von Speicherplatzbedarf

Werbung
Berechnung von Speicherplatzbedarf
1. In vielen EDV-Umgebungen werden Datum und Uhrzeit als Zeitstempel (TIMESTAMP)
gespeichert. Der Zeitstempel ist eine ganze Zahl: Die Anzahl der Tausendstelsekunden,
die seit dem 1.1.1970, 0.00 Uhr, vergangen sind.
Frage: Wie viele Byte sollten sinnvollerweise für ein TIMESTAMP zur Verfügung stehen?
Musterlösung:
1 Byte kann 256 verschiedene Werte annehmen. Damit kann man
Timestamps in einem Zeitraum von 256/1000 sec., also ca. ¼ sec.,
codieren.
Jedes weitere Byte bietet 256-mal so viele Möglichkeiten.
Folglich kann man mit 2 Byte schon die verschiedenen Timestamp-Werte für
256 * ¼ sec. = ca. 60 sec. = 1 min. abdecken.
3 Byte reichen für 256 * 1 min. = ca. 4 Stunden.
4 Byte reichen für 256 * 4 Stunden = ca. 40 Tage.
5 Byte reichen für 256 * 40 Tage = ca. 10.000 Tage = ca. 27 Jahre.
6 Byte reichen für 256 * 27 Jahre = ca. 7.000 Jahre.
Ein Zeitraum von 7.000 Jahren ist ausreichend, so dass mindestens 6 Byte
Speicherplatz für ein TIMESTAMP zur Verfügung stehen müssen.
2. Wie viele Byte braucht man ungefähr, um alle 80 Mio. Personen der BRD zu speichern
(Modellierung wie beim Personalausweis)?
Im Personalausweis sind enthalten:
- 9-stellige Nummer
- Nachname
- Vorname
- Geburtsdatum
- Geburtsort
- Staatsangehörigkeit
- Gültig-Bis-Datum
- Wohnort
- Straße und Hausnummer
- Größe in cm
- Augenfarbe
- Ausstellende Behörde
- Datum der Ausstellung
Musterlösung 1:
Zunächst überlegt man, wieviel Speicherplatz benötigt wird, um 1 Person
zu speichern. Wenn man die Datentypen Zeichenfolge, Zahl und Datum
zu Grunde legt, kann man den Speicherplatz errechnen. Weil es sich
einerseits bei fast allen Feldern um Zeichenfolgen handelt und es
andererseits möglich ist, alle Felder als Zeichenfolgen zu modellieren,
beschränken wir uns auf diesen einen Datentyp (die Näherung ist gut
genug). Ein Datum braucht 8 Zeichen, Größe 3 Zeichen, Augenfarbe 10
Zeichen, Straße und Hausnummer, Name, Vorname, Ausstellende
Behörde je 30 Zeichen, der Rest je 20 Zeichen.
Dann kommt man auf
9 + 30 + 30 + 8 + 20 + 20 + 8 + 20 + 30 + 3 + 10 + 30 + 8 = 226 Zeichen.
Bei Verwendung der ASCII-Tabelle braucht jedes Zeichen 1 Byte, also
braucht man 226 Byte pro Person.
Für 80 Mio. Personen sind das 226 * 80 Mio. Byte = 18,08 Millarden Byte.
Gerundet sind das 18 Gigabyte Speicherplatz. Verlangt die
Aufgabenstellung keine größere Genauigkeit, reicht diese Antwort völlig
aus.
Musterlösung 2:
Wenn eine genaue Umrechnung von 18,08 Mrd. Byte in GB verlangt ist
und 1 GB = 1.024 MB = 1.024 KB = 1.024 Byte zu Grunde gelegt wird,
muss man so rechnen:
18,08 Mrd. Byte = 17.656.250 KB = 17.242,4 MB = 16,84 GB.
Wenn der Aufgabentext es verlangt, numerische Werte als solche zu
codieren, sieht man für die Körpergröße nur 1 Byte vor (wenn man nur
positive Zahlen darstellen möchte, kommt man damit bis 256 – das reicht
völlig aus).
Wenn man auch das Datum codiert, kann man entweder eine 8-stellige
Zahl (yyyymmdd) nehmen, die 4 Byte benötigt, oder man nimmt yyyy = 2
Byte, mm = 1 Byte, dd = 1 Byte, also auch 4 Byte, oder man nimmt einen
Zeitstempel (6 Byte).
Der Gesamtspeicherbedarf reduziert sich entsprechend (Berechnung
siehe Musterlösung 1).
Herunterladen