Kapitel 62. Kleine Dateien in einer großen Datenwelt

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Adi Polak

Ganz gleich, ob deine Datenpipelines ereignisgesteuerte Echtzeitdatenströme, echtzeitnahe Daten oder Stapelverarbeitungsaufträge verarbeiten, wenn du mit einer riesigen Datenmenge arbeitest, die aus kleinen Dateien besteht, wirst du mit dem Alptraum der kleinen Dateien konfrontiert.

Was sind kleine Dateien, und warum sind sie ein Problem?

Eine kleine Datei ist deutlich kleiner als die Blockgröße in der Speicherung. Ja, selbst bei Objektspeichern wie Amazon S3 und Azure Blob gibt es eine Mindestblockgröße. Eine deutlich kleinere Datei kann dazu führen, dass Platz auf der Festplatte verschwendet wird, da die Speicherung nach Blockgröße optimiert wird.

Um zu verstehen, warum das so ist, wollen wir uns zunächst ansehen, wie Lesen und Schreiben funktionieren. Für Lese- und Schreibvorgänge gibt es einen eigenen API-Aufruf. Bei Schreibanfragen schreibt die Speicherung drei Komponenten:

  • Die Daten selbst

  • Metadaten mit beschreibenden Eigenschaften für Indizierung und Datenmanagement

  • Ein weltweit eindeutiger Identifikator zur Identifizierung in einem verteilten System

Mehr gespeicherte Objekte bedeuten zusätzliche eindeutige Bezeichner und zusätzliche E/A-Aufrufe für das Erstellen, Schreiben ...

Get 97 Dinge, die jeder Dateningenieur wissen sollte now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.