IO-Geräte und Latenz
- Nichtflüchtige Speichergeräte sind ein Kernelement moderner Computersysteme, da sie Daten auch dann speichern können, wenn der Strom ausgeschaltet ist. Anders als flüchtige Speicher wie CPU-Register, CPU-Cache und RAM benötigen sie keine dauerhafte Stromversorgung.
Bandlaufwerke
- Seit den 1950er Jahren verwenden Computer Bandlaufwerke für die nichtflüchtige digitale Speicherung. Bänder eignen sich für die Speicherung langer Datensequenzen und sind passend für Situationen, in denen große Datenmengen sicher gespeichert werden müssen, aber nicht häufig gelesen werden.
- Bänder sind kostengünstig und langlebig und werden weiterhin in großen Datenspeichern wie bei CERN und AWS eingesetzt.
Festplattenlaufwerke (HDD)
- Festplattenlaufwerke bieten im Vergleich zu Bändern einen schnelleren Datenzugriff und speichern Daten auf kreisförmigen Metallscheiben. Da die gesamte Oberfläche der Scheiben jederzeit verfügbar ist, verringert sich die Latenz beim Lesen und Schreiben von Daten.
- HDDs unterstützen Command Queuing, sodass mehrere Befehle parallel ausgeführt werden können.
Solid-State-Drives (SSD)
- Solid-State-Drives lesen und schreiben Daten elektronisch ohne mechanische Bauteile und bieten mit NAND-Flash nichtflüchtige Speicherung.
- SSDs können ihre Leistung durch Parallelverarbeitung und Garbage Collection optimieren. Auch die Anordnung der Daten kann die Performance beeinflussen.
Speicherung in der Cloud
- Die Verlagerung in die Cloud hat die IO-Performance verändert, und viele Unternehmen migrieren ihre Server und Datenbanksysteme in die Cloud.
- In Cloud-Umgebungen ist die Trennung von Storage und Compute üblich. Das bietet Datensicherheit und Flexibilität, kann aber zu Performance-Einbußen führen.
Trennung von Storage und Compute
- Traditionell wurden nichtflüchtige Speichergeräte direkt an Server angebunden, in der Cloud ist jedoch die Anbindung von Storage über das Netzwerk üblich.
- Netzwerkgebundener Storage bietet Datensicherheit, kann sich jedoch negativ auf die IO-Performance auswirken.
Lokaler vs. Netzwerk-Storage
- Lokale NVMe-SSDs bieten sehr hohe IO-Geschwindigkeiten und geringere Latenzen als netzwerkgebundener Storage.
- Bei netzwerkgebundenem Storage kann es Beschränkungen für IO-Operationen geben, was zu Performance-Verlusten führen kann.
Lösung: Metal
- Metal ist eine von PlanetScale angebotene Lösung, die direkt angebundene NVMe-SSDs nutzt und dadurch hervorragende Performance und Skalierbarkeit bietet.
- Ein Metal-Cluster besteht standardmäßig aus einem Primärserver und zwei Replikaten, um die Datenhaltbarkeit sicherzustellen, und die Speicherkapazität lässt sich einfach erweitern.
- Metal-Datenbanken haben keine künstlichen Beschränkungen für IO-Operationen und können diese mit minimaler Latenz ausführen.
1 Kommentare
Hacker-News-Kommentare