Security Data Works

Open notebook

Architecture research, in the open.

Somewhere in your program there's a claim nobody has tried to falsify: the retention number in the board deck, the coverage figure from the last vendor QBR, the architecture assumption everyone inherited. This page is where I run my own claims through that test in public. Eleven anchor hypotheses, each with an evidence tier, a confidence score, and a falsification condition — the thing that would make me retract it. The flagship has already been through one revision on the record: the performance claim now stands as two regimes, with the index winning simple lookups and the lakehouse engines winning the hunting-shaped aggregations by 5–62× (Tier B, single host, CV-gated, identical answers verified).

How positions form

Evidence tiers. Update on contact.

Every claim I put in a recommendation gets graded by the kind of evidence it rests on. The tiers determine whether a claim makes it into a recommendation at all, and how loudly I'll defend it under pushback.

  • Tier A — peer-reviewed research, ratified standards, and named production deployments on the public record.
  • Tier B — practitioner conference talks and controlled first-party benchmarks, single-host caveats stated.
  • Tier C — vendor-published material, blogs, and analyst reports (Gartner included), bias flagged.
  • Tier D — speculation, labeled as such.

The update rule: positions evolve when new evidence overturns them. Twenty-six contradictions are tracked across the portfolio, each one a place where a prior position got revised on contact with new data. Several of those changed what's in the matrix, what gets recommended in engagements, or how a benchmark gets framed. Surfacing them publicly is part of the deal. The alternative is a research practice that moves the goalposts and hopes no one notices.

Vendor claims get held to the same evidence standard as everyone else's. A vendor who publishes a benchmark with methodology and reproduction code (which is rare) earns Tier B, and reaches Tier A only when a named production deployment stands behind the result. A vendor who publishes a number with no methodology gets a Tier D rating until something independent corroborates it. This page is updated quarterly; significant new evidence gets folded in faster.

Read more on the method →. The contradiction-hunting workflow, the five patterns 25 hypotheses (the methodology-validation sample) revealed about vendor claims, and the four practices that move the floor on architecture decisions.

Active research — anchor hypotheses

Anchor hypotheses, with the evidence each one rests on.

Selected from the 70+ hypothesis portfolio (the 25 carried through full methodology validation are described on the methodology page). These are the claims most likely to show up in an engagement recommendation, including one per foundational standard (Arrow, Iceberg, OCSF, Sigma). Pick one from the list; each names what would change the answer.

H3-PERFORMANCE-01 · Tier B · 4.5/5

Two-regime: the schema-on-read index wins the simple lookups; the lakehouse engines win the hunting-shaped aggregations by 5–62×.

Two-regime finding: a schema-on-read index wins the simple indexed lookups; the lakehouse engines win the hunting-shaped aggregations by 5–62×, a 46.8× native / 10.1× Iceberg five-query average (Tier B, single host, 10M events, CV-gated, identical answers verified). Revised from the earlier single-headline framing — the revision is logged in the contradictions register. You can see how this evidence rolls up into a recommendation on the worked scorecard.

The counter-position runs along two lines. First, "ClickHouse isn't a SIEM" — true, but the comparison is on query-engine performance against the same workload, not against the broader SIEM feature set. Second, "the workload was selected to favor columnar storage." The workload is a Zeek deployment shape, and the result generalizes most cleanly to security workloads dominated by a small number of recurring queries. A workload dominated by ad-hoc full-text search across raw events would narrow the gap.

What would change the answer: an independent benchmark on a workload with a meaningfully different shape where the schema-on-read engine closes the gap, or evidence that the ClickHouse result fails to reproduce on different hardware.

Deeper analyses

Selected hypotheses extended into long-form deep dives.

Each links back to its anchor hypothesis above; each carries the same evidence-tier framing, with more space for the underlying argument and the conditions that would change it.

Things I changed my mind on

Two contradictions, with the evidence that forced the update.

Twenty-six contradictions are tracked across the research portfolio. Two are surfaced here in full prose; two more in summary. Each one is a place where a recommendation got revised because a specific person's specific argument wouldn't fit the prior frame.

ClickHouse is cheap. ClickHouse is expensive. The baseline determines which.

For most of 2025 my recommendation language was "ClickHouse is cost-effective for security workloads" — defensible at 30–90% cost reduction against per-GB-ingested licensing models. That language broke in May 2026 on a sharper framing from the lakehouse camp: "ClickHouse is expensive" — when the comparison baseline isn't legacy SIEM licensing but Iceberg-on-S3 with a separate query engine.

From inside the lakehouse view, ClickHouse's MergeTree format duplicates data already sittable in open formats on S3, requires always-on compute that can't scale independently of storage, demands fat-memory nodes for joins, multiplies storage for replication, and rivals Snowflake on managed pricing at sustained TB/day workloads. None of that is wrong. The prior framing was wrong because it assumed the baseline.

Updated position: ClickHouse is cheap versus per-GB SIEM licensing, comparable versus Snowflake or Databricks SQL, expensive versus Iceberg-on-S3 with a swappable engine. The recommendation now names the baseline. Hot tier still favors ClickHouse; decentralized open-format still favors the lakehouse. The question has two correct answers, and which one wins depends on what you're optimizing for, which is the kind of trade-off the worked scorecard resolves against a named baseline.

Centralized SIEM versus federated lake — it's a capabilities argument, not a cost argument.

The early framing of the centralized-vs-federated debate ran through cost: "the federated lake is cheaper, here are the savings." The savings turned out to be more modest than the early modeling suggested — somewhere between 2% (cost-neutral at 10 GB/day) and 64% (at 1 TB/day) on full TCO, per G-Cloud 14 validated analysis from April 2026. The earlier 360–725× framing was storage-only, not full TCO, and got revised down accordingly.

The reframe: federated query wins on capabilities a centralized SIEM cannot deliver at any price. Cross-site joins across regions where the data legally cannot leave its jurisdiction. Data sovereignty for multi-region operators in regulated industries. 3.6–10.1× query performance against the right data platform. 93–99.9% wide-area-network traffic reduction by querying data where it lives rather than shipping it home. None of these are cost arguments — they're things the centralized architecture cannot do at the architecture level.

The updated recommendation framework is a 4-stage maturity model. Stage 0 is pure SIEM (baseline, zero savings, low complexity). Stage 1 is tiered retention (40–60% savings, low-to-medium complexity). Stage 2 is federated query (60–80% savings, medium complexity). Stage 3–4 is data lake primary (80–95% savings, high complexity). The right stage depends on security operations maturity and engineering team capabilities, not the cost optimization in isolation. Documented in ADR-002.

Two more, in brief

  • Spark 4.1 Real-Time Mode reframes the "RisingWave is the only path to streaming simplicity" narrative. Earlier framing positioned RisingWave as the single best answer to streaming complexity. Spark 4.1's Real-Time Mode, shipped February 2026, doesn't refute the RisingWave case but adds a credible alternative for shops already on the Spark ecosystem. The recommendation now branches by existing investment.
  • Iceberg and Delta Lake are converging, not displacing each other. Earlier framing leaned toward "Iceberg displaces Delta" based on the trajectory of major-vendor announcements. The reality through 2025–2026 has been convergence — both formats remain viable, both are gaining vendor support, and the recommendation depends on the surrounding ecosystem (Databricks vs the everything-else stack) rather than a categorical choice.

What's coming

The page is alive. Here's what's in flight.

Quarterly hypothesis confidence updates as evidence accumulates, with the anchor hypotheses above each carrying a "last reviewed" date and any tier movement noted in-line. New contradictions surfaced as they're written and defensible — several drafts are in the queue, including a security-specific TCO comparison for streaming versus batch architectures (which would resolve the caveat on H-IMPL-01 in either direction).

The next planned benchmark is a catalog comparison — Polaris, Nessie, Unity, Hive Metastore, Glue — scheduled for Q3 2026, with results landing on the lab page when complete. The Q4 topic is candidate-stage; the leaders are a query-engine bake-off on a longer-tail security workload, a Kafka-to-Iceberg latency characterization, and a federated-query stack comparison. Topic announcements come a quarter ahead.

These claims are testable on your environment.

The fastest test is to run the published benchmark methodology on your own workload — full code and spec, with a one-page TCO and performance readout you produce yourself. Or see how these hypotheses roll up into a recommendation on the worked scorecard, or read the program POV that connects them into a single argument.