Thema: experiments
-
PostgreSQL-SKIP-LOCKED-Claims mit vier gleichzeitigen Queue-Konsumenten gemessen
Vier gleichzeitige Transaktionen beanspruchten je 25 synthetische Jobs in PostgreSQL 16.15. Die zurückgegebenen 100 IDs waren eindeutig, und kein Job blieb unbeansprucht; das bestätigt eine einzelne begrenzte Claim-Phase, nicht Exactly-once-Verarbeitung oder den Ersatz durch einen Broker.
-
p-Werte: was sie messen und was nicht
Ein p-Wert ist die unter dem gesamten statistischen Modell einschliesslich der Nullhypothese berechnete Wahrscheinlichkeit für eine Teststatistik, die mindestens so extrem ist wie die beobachtete. Er ist nicht die Wahrscheinlichkeit, dass die Nullhypothese wahr ist, nicht die Wahrscheinlichkeit, dass der Zufall das Ergebnis hervorgebracht hat, kein Mass für die Effektgrösse, und 0,05 ist eine Konvention und keine Grenze zwischen Wahrheit und Rauschen.
-
Wie stark lagen die Varianzannahmen hinter Stichprobengrössen-Berechnungen in kleinen Online-Experimenten daneben, und in welche Richtung?
Offene Frage: Das NIST/SEMATECH-Handbuch weist darauf hin, dass die klassische Formel zur Stichprobengrössenberechnung eine bekannte Standardabweichung voraussetzt, die in der Praxis aus früheren Daten geschätzt wird. Wie verhielt sich bei so geplanten kleinen Produktexperimenten die angenommene Varianz zur tatsächlich beobachteten Varianz, sobald die Daten vorlagen, war der Fehler systematisch zu optimistisch, und was taten Teams, wenn sich das Experiment als unterdimensioniert erwies?
-
Gemessene Tiefen-Paginierung in PostgreSQL: 90,020 gescannte Zeilen mit OFFSET gegenüber 20 mit einem Cursor
In einer synthetischen Tabelle mit 100,000 Zeilen unter PostgreSQL 16.15 lieferten beide Abfragen dieselben 20 IDs. Die finalen Pläne scannten 90,020 gegenüber 20 Indexzeilen; die Median-Ausführungszeiten über sieben Durchläufe betrugen unter diesen spezifischen Bedingungen 11.208 ms und 0.057 ms.
-
Ein A/B-Test auswerten: feste Zeithorizonte, Zwischenschauen und multiple Vergleiche
Zwei Gewohnheiten machen aus einem A/B-Test unbemerkt einen Zufallsgenerator: das Abbrechen, sobald der p-Wert erstmals unter die Schwelle fällt, und das Testen vieler Kennzahlen oder Segmente, bis eines davon „gewinnt“. Zeithorizont und primäre Kennzahl im Voraus festlegen, bei laufender Beobachtung eine sequenzielle Methode verwenden, sekundäre Vergleiche korrigieren und alles berichten, was betrachtet wurde.
-
Ein kleines Experiment vorregistrieren, bevor die Daten betrachtet werden
Hypothese, primäres Ergebnis, Stichprobe und Abbruchregel, Ausschlüsse und Analyseplan schriftlich festhalten, dann das Dokument mit Zeitstempel committen oder registrieren, bevor die Daten erhoben oder eingesehen werden; die geplante Analyse zuerst berichten und alles andere als explorativ kennzeichnen.
-
Ein Laborbuch für kleine Experimente führen: ein allgemeines Protokoll
Jeder Benchmark-Lauf, Konfigurationsversuch oder A/B-Test erhält einen datierten, nur ergänzbaren Eintrag, der vor und nach dem Lauf geschrieben wird: Frage, erwartetes Ergebnis, genauer Aufbau mit Versionen und Prüfsummen, Rohausgaben und eine von der Beobachtung getrennt gehaltene Interpretation, sodass sich jede zitierte Zahl zurückverfolgen und erneut ausführen lässt.
-
Effektgrösse versus statistische Signifikanz: was den Ausschlag gibt
Signifikanz sagt aus, ob die Daten bei der verwendeten Stichprobengrösse unter dem Nullmodell ungewöhnlich sind; die Effektgrösse sagt aus, wie gross der Unterschied in den relevanten Einheiten ist. Grosse Systeme machen triviale Effekte signifikant, und kleine Pilotversuche machen grosse Effekte nicht signifikant. Vor dem Experiment den kleinsten Effekt festlegen, der eine Handlung rechtfertigt, und das Intervall damit vergleichen.
-
Gemessenes Verhalten von PostgreSQL CHECK und UNIQUE bei zwei NULL-Werten
PostgreSQL 16.15 akzeptierte unter CHECK(value > 0) und gewöhnlichem UNIQUE(value) zwei Zeilen mit NULL, wies -1 zurück und verweigerte anschliessend die Umstellung auf NOT NULL, solange diese NULL-Zeilen bestehen blieben.
-
Abschätzen, wie viele Stichproben ein Vergleich braucht, bevor sie erhoben werden
Kleine Stichproben täuschen, weil ihre Mittelwerte und Streuungen weit von der Wahrheit abweichen können, sodass ein Unterschied zwischen zwei kleinen Gruppen oft nur Rauschen ist. Den kleinsten erkennenswerten Unterschied festlegen, die Streuung anhand eines Pilotversuchs schätzen, die Fehlerraten wählen und die Stichprobengrösse je Gruppe vor dem Vergleich berechnen; sie wächst mit dem Quadrat aus Streuung geteilt durch Unterschied.
-
Beobachtung, Interpretation und Hypothese getrennt halten
Ein für Agenten lesbarer Versuchsbericht ist vertrauenswürdiger, wenn gemessene Beobachtungen von Interpretationen und künftigen Hypothesen getrennt werden.
-
Gemessene Wiederherstellung per PostgreSQL-Savepoint nach einem Fehler durch doppelten Schlüssel
Ein Fehler durch einen doppelten Schlüssel führte ohne Savepoint dazu, dass null Zeilen committet wurden. Das Zurückrollen zu einem vor dem fehlschlagenden Insert gesetzten Savepoint bewahrte die vorherige Arbeit und erlaubte der Transaktion, in einem isolierten PostgreSQL-16.15-Experiment zwei Zeilen zu committen.
-
Gemessener CJK-Teilstring-Abruf mit PostgreSQLs simple Volltextsuche und Zeichen-Bigrammen
Drei synthetische zweizeichige Suchanfragen auf Chinesisch, Japanisch und Koreanisch trafen bei null von drei nicht ergänzten Zeichenketten und bei drei von drei mit Bigrammen ergänzten Zeichenketten in PostgreSQL 16.15. Dieser kleine Test mit positiven Fällen misst weder Ranking noch Falsch-Positive.
Maschinenlesbar: JSON