Zero-Cost NDV Estimation from Columnar File Metadata

Diese Arbeit stellt eine Methode vor, die die Anzahl der eindeutigen Werte (NDV) in Spaltendateien ausschließlich anhand bestehender Metadaten schätzt, indem sie entweder die Größe der Wörterbuchkodierung oder die Verteilung von Min/Max-Werten nutzt, ohne zusätzlichen Speicher oder Datenzugriff zu erfordern.

Claude Brisson

Veröffentlicht 2026-03-27
📖 4 Min. Lesezeit☕ Kaffeepausen-Lektüre

Each language version is independently generated for its own context, not a direct translation.

Stell dir vor, du bist ein Bibliothekar, der eine riesige, digitale Bibliothek verwaltet. Diese Bibliothek besteht aus vielen Regalen (den sogenannten "Row Groups"), und in jedem Regal stehen Bücher (die Datenzeilen). Deine Aufgabe ist es, einem Gast zu sagen: "Wie viele verschiedene Buchtitel gibt es insgesamt in dieser Bibliothek?" (Das nennt man im Fachjargon NDV – Number of Distinct Values).

Das Problem: Du darfst kein einziges Buch öffnen. Du darfst keine Seiten lesen. Du darfst auch keine neuen Zettel schreiben, um die Titel zu zählen. Du darfst nur auf die Etiketten auf den Regalen schauen.

Normalerweise wäre das unmöglich. Aber dieser Papier beschreibt einen genialen Trick, wie man das nur mit den vorhandenen Etiketten herausfinden kann – und das kostenlos, ohne Zeit oder Speicherplatz zu verschwenden.

Hier ist die Erklärung der zwei Haupt-Tricks, die der Autor verwendet:

Trick 1: Das Gewicht der Regale (Die Wörterbuch-Methode)

In vielen modernen Bibliotheken werden Bücher nicht einfach so hingedrückt. Wenn es viele Bücher mit demselben Titel gibt, schreibt man den Titel nur einmal auf eine Liste (ein "Wörterbuch") und klebt dann kleine Nummern an die Bücher, die auf diese Liste verweisen.

  • Die Idee: Der Autor schaut sich das Gewicht (die Größe) des Regals an.
  • Die Logik: Wenn das Regal schwer ist, aber die Bücher selbst eigentlich dünn sind, muss das "Wörterbuch" (die Liste der Titel) sehr lang gewesen sein.
  • Der Rechen-Trick: Er nimmt die bekannte Formel, wie viel Platz ein Wörterbuch braucht, und dreht sie um.
    • Beispiel: "Wenn das Regal 10 kg wiegt und jedes Buch 100g wiegt, aber wir wissen, dass 5 kg nur für die Nummern-Liste draufgehen sind... dann müssen wir etwa 50 verschiedene Titel haben."
  • Wann es funktioniert: Wenn die Bücher in den Regalen gut gemischt sind (in jedem Regal sind viele verschiedene Titel).
  • Wann es scheitert: Wenn die Regale sortiert sind (Regal 1 hat nur "A", Regal 2 hat nur "B"). Dann denkt das System, es gäbe nur wenige Titel, weil die Liste kurz ist, obwohl es in Wahrheit viele verschiedene Titel im ganzen Gebäude gibt.

Trick 2: Die Extrem-Spitzen (Die Min/Max-Methode)

Jedes Regal hat ein kleines Schildchen mit zwei Zahlen: dem kleinsten und dem größten Wert, der in diesem Regal vorkommt.

  • Die Idee: Stell dir vor, du hast 50 Regale. Du schaust dir nur die kleinsten Werte jedes Regals an.
  • Der Rechen-Trick (Das "Gummibärchen-Spiel"): Stell dir vor, du hast einen Topf mit 100 verschiedenen Gummibärchenfarben (die verschiedenen Titel). Du greifst 50 Mal blind in den Topf (einmal pro Regal) und schaust, wie viele verschiedene Farben du dabei siehst.
    • Wenn du in jedem Regal nur "A" und "B" siehst, hast du wahrscheinlich nur 2 Farben im Topf.
    • Wenn du in Regal 1 "A", in Regal 2 "B", in Regal 3 "C" siehst, weißt du, dass der Topf viel mehr Farben hat.
  • Der Mathematische Zauber: Der Autor nutzt ein bekanntes mathematisches Modell (den "Coupon Collector"), um zu raten: "Wenn ich bei 50 Regalen schon 40 verschiedene Minima gesehen habe, wie viele Farben müssen dann insgesamt im Topf sein?"
  • Wann es funktioniert: Wenn die Bücher sortiert sind (Regal 1 hat "A-M", Regal 2 hat "N-Z"). Dann sind die Minima sehr unterschiedlich, und man kann die Gesamtzahl gut schätzen.
  • Wann es scheitert: Wenn alles wild durcheinander ist, sehen die Minima oft gleich aus, und man unterschätzt die Anzahl.

Der Schiedsrichter: Der "Verteilungs-Detektor"

Da beide Tricks unterschiedliche Stärken haben, braucht man einen Schiedsrichter. Das System schaut sich die Regale an:

  1. Sind die Regale sortiert? (Die Minima ändern sich ständig?) -> Nimm Trick 2.
  2. Sind die Regale wild gemischt? (Die Minima sind überall ähnlich?) -> Nimm Trick 1.
  3. Ist es eine Mischung? -> Nimm das Ergebnis, das höher ist. (Besser, man schätzt etwas zu hoch als zu niedrig).

Warum ist das so toll?

  1. Kostenlos: Man muss kein einziges Buch öffnen. Man liest nur die Etiketten auf den Regalen (die Metadaten), die ohnehin schon da sind.
  2. Schnell: Es dauert nur einen kurzen Blick.
  3. Nützlich für KI und Datenbanken: Wenn ein Computer wissen will, wie viel Arbeit eine Abfrage macht (z. B. "Wie viele verschiedene Kunden gibt es?"), kann er sofort planen, ohne erst alles durchsuchen zu müssen. Das spart Energie und Zeit, besonders auf schnellen Grafikprozessoren (GPUs).

Zusammenfassung in einem Satz

Der Autor hat einen Weg gefunden, die Anzahl der verschiedenen Dinge in einer riesigen Datenbank zu erraten, indem er einfach die Größe der Listen und die Extremwerte auf den Regaletiketten analysiert, ohne jemals den Inhalt der Regale zu öffnen – wie ein Detektiv, der nur anhand des Gewichts eines Koffers und der Temperatur am Rand schließt, was sich darin befindet.