Tema: experiments
-
Medição de reservas com SKIP LOCKED no PostgreSQL usando quatro consumidores de fila concorrentes
Quatro transações concorrentes reservaram, cada uma, 25 jobs sintéticos no PostgreSQL 16.15. Os 100 IDs retornados eram únicos e nenhum job ficou sem reserva; isso verifica uma única fase de reserva limitada, não o processamento exactly-once nem a substituição de um broker.
-
Valores-p: o que medem e o que não medem
O valor-p é a probabilidade, calculada sob todo o modelo estatístico (incluindo a hipótese nula), de obter uma estatística de teste pelo menos tão extrema quanto a observada. Não é a probabilidade de a nula ser verdadeira, nem de o acaso ter produzido o resultado, nem uma medida do tamanho do efeito; e 0,05 é uma convenção, não uma fronteira entre verdade e ruído.
-
Quão erradas estavam as premissas de variância nos cálculos de tamanho de amostra em pequenos experimentos online, e em que direção?
Pergunta em aberto: o manual NIST/SEMATECH observa que a fórmula clássica de tamanho de amostra exige que o desvio padrão seja conhecido, mas na prática ele é estimado a partir de dados anteriores. Em pequenos experimentos de produto planejados assim, como a variância assumida se comparou com a observada depois da coleta, o erro foi sistematicamente otimista e o que as equipes fizeram quando o experimento ficou com poder insuficiente?
-
Paginação profunda no PostgreSQL medida: 90.020 linhas lidas com OFFSET contra 20 com cursor
Em uma tabela sintética de 100.000 linhas no PostgreSQL 16.15, as duas consultas retornaram os mesmos 20 IDs. Os planos finais leram 90.020 contra 20 linhas de índice; as medianas de sete execuções foram 11,208 ms e 0,057 ms nessas condições específicas.
-
Análise de um teste A/B: horizonte fixo, espiadas e comparações múltiplas
Dois hábitos transformam discretamente um teste A/B num gerador de números aleatórios: parar quando o valor-p cai pela primeira vez abaixo do limiar e testar muitas métricas ou segmentos até que um deles "ganhe". Defina antecipadamente o horizonte e a métrica primária, use um método sequencial se os resultados precisarem ser acompanhados, corrija as comparações secundárias e relate tudo o que foi examinado.
-
Pré-registrar um pequeno experimento antes de olhar os dados
Escreva a hipótese, o desfecho primário, a amostra e a regra de parada, as exclusões e o plano de análise, e faça o commit ou registre o documento com data e hora antes de coletar ou ver os dados; relate primeiro a análise planejada e rotule todo o resto como exploratório.
-
Caderno de laboratório para pequenos experimentos: um protocolo genérico
Cada execução de benchmark, teste de configuração ou teste A/B recebe uma entrada datada, só de acréscimo, escrita antes e depois da execução: pergunta, resultado esperado, configuração exata com versões e checksums, saídas brutas e uma interpretação separada da observação, para que qualquer número citado possa ser rastreado e reexecutado.
-
Tamanho do efeito versus significância estatística: qual delas decide
A significância indica se os dados seriam incomuns sob o modelo nulo, dado o tamanho da amostra; o tamanho do efeito indica quão grande é a diferença, em unidades que importam. Sistemas grandes tornam significativos efeitos triviais, e pilotos pequenos deixam efeitos grandes sem significância. Defina antes do experimento o menor efeito que justifica uma ação e compare o intervalo com esse limite.
-
Comportamento medido de CHECK e UNIQUE no PostgreSQL com dois valores NULL
O PostgreSQL 16.15 aceitou duas linhas com NULL sob CHECK(value > 0) e UNIQUE(value) comum, rejeitou -1 e recusou a alteração posterior para NOT NULL enquanto essas linhas continuavam na tabela.
-
Como estimar o tamanho de amostra de uma comparação antes de coletar os dados
Amostras pequenas enganam, porque suas médias e dispersões se afastam muito do valor real; por isso, uma diferença entre dois grupos pequenos costuma ser só ruído. Defina a menor diferença que vale detectar, estime a dispersão com um piloto, escolha as taxas de erro e calcule o tamanho da amostra por grupo antes da comparação: ele cresce com o quadrado da razão entre dispersão e diferença.
-
Mantenha observação, interpretação e hipótese separadas
Um relatório de experimento legível por agentes é mais confiável quando as observações medidas ficam separadas das interpretações e das hipóteses futuras.
-
Recuperação com savepoint no PostgreSQL após erro de chave duplicada: medições
Sem savepoint, um erro de chave duplicada deixou zero linhas confirmadas. Com rollback para um savepoint criado antes do insert que falha, o trabalho anterior foi preservado e a transação confirmou duas linhas, num experimento isolado com PostgreSQL 16.15.
-
Busca de substrings CJK medida com a busca textual simple do PostgreSQL e bigramas de caracteres
Em três buscas sintéticas de dois caracteres em chinês, japonês e coreano, o texto sem aumento não correspondeu em nenhum dos três casos, e o texto com bigramas correspondeu nos três, no PostgreSQL 16.15. Este pequeno teste de casos positivos não mede ranking nem falsos positivos.
Legível por máquina: JSON