Skip to content

Declarative Identity Resolution vs Traditional MDM

Published February 2026 · 10 min read

Traditional MDM platforms — Informatica, IBM InfoSphere, SAP MDG — were built for a world where data lived in on-premise databases, changes were infrequent, and a dedicated MDM team managed the "master." That world is gone.

Modern data teams operate in a different reality:

  • Hundreds of SaaS applications per organization, each generating customer data
  • Data warehouses (Snowflake, BigQuery, Databricks) as the center of gravity
  • Data engineers who think in code, not GUIs
  • CI/CD pipelines for everything, including data transformations
  • Speed: New data sources get added monthly, not annually

Traditional MDM doesn't fit this world. The implementation takes 12-24 months. The license costs $500K-$2M. The platform is a monolith that doesn't integrate with the modern data stack. And the matching engine — the most important component — is often the weakest part.

This post argues that declarative identity resolution (the Kanoniv approach) is a better fit for modern data teams than traditional MDM.

What Traditional MDM Looks Like

A typical MDM implementation:

  1. Vendor selection (3-6 months): Evaluate Informatica, IBM, SAP, Reltio
  2. Implementation (6-18 months): Configure the platform, build integrations, migrate data
  3. Data stewardship (ongoing): Dedicated team reviews exceptions, approves merges
  4. Maintenance (ongoing): Upgrade cycles, vendor support, custom development

The platform provides:

  • Matching engine (often basic deterministic rules)
  • Stewardship UI (web app for reviewing matches)
  • Golden record store (proprietary database)
  • Data governance (workflows, approvals, access control)
  • Data distribution (sync golden records to consuming systems)

The Problems

It's slow. 12-24 months to first value. By the time you're live, the business requirements have changed.

It's expensive. $500K-$2M in licensing, plus $200K-$500K in implementation services, plus $100K-$200K/year in maintenance. Total first-year cost: $800K-$2.7M.

It's a black box. The matching engine is proprietary. You can't inspect the algorithm, you can't version-control the rules, and you can't run it locally. When a match is wrong, debugging requires the vendor's support team.

It's a monolith. The platform handles matching, governance, distribution, and stewardship in one system. If the matching engine is good but the governance UI is bad, too bad — you bought the whole platform.

It doesn't integrate with the modern stack. Traditional MDM platforms pre-date Snowflake, dbt, Airflow, and the modern data stack. Integration requires custom ETL, often through proprietary connectors.

What Declarative Identity Resolution Looks Like

The declarative approach: define your matching logic in a version-controlled spec, run it locally or in the cloud, and compose it with best-of-breed tools for everything else.

yaml
# customer-spec.yaml — your entire matching logic in one file
entity:
  name: customer
sources:
  - name: salesforce
    adapter: warehouse
    query: "SELECT * FROM raw.salesforce.contacts"
    primary_key: sf_id
  - name: stripe
    adapter: warehouse
    query: "SELECT * FROM raw.stripe.customers"
    primary_key: cus_id
rules:
  - name: email_exact
    type: exact
    field: email
    weight: 1.0
  - name: name_phone
    type: composite
    children:
      - type: jaro_winkler
        field: name
        threshold: 0.9
      - type: exact
        field: phone
survivorship:
  strategy: source_priority
  priority: [salesforce, stripe]
decision:
  thresholds:
    match: 0.85
    review: 0.65
python
from kanoniv import Spec, Source, reconcile, validate

spec = Spec.from_file("customer-spec.yaml")
validate(spec).raise_on_error()

sources = [
    Source.from_warehouse("salesforce", conn, "SELECT * FROM raw.salesforce.contacts"),
    Source.from_warehouse("stripe", conn, "SELECT * FROM raw.stripe.customers"),
]
result = reconcile(sources, spec)
golden_df = result.to_dataframe()
golden_df.to_sql("golden_customers", warehouse_conn, if_exists="replace")

What You Get

CapabilityHow
Matching engineKanoniv SDK (Rust, runs locally)
Golden recordsBuilt into reconcile() output
Version controlYAML spec in git
Local developmentpip install kanoniv, run on laptop
CI/CDValidate spec in GitHub Actions
Data warehouseWrite golden records to Snowflake/BigQuery
Data qualitydbt tests, Great Expectations
OrchestrationAirflow, Prefect, Dagster
GovernanceAtlan, DataHub (if needed)

What You Don't Get (and May Not Need)

CapabilityTraditional MDMDeclarative
Stewardship UIBuilt-inBuild with Retool, or use Kanoniv Cloud dashboard
Data distributionBuilt-in connectorsWrite to warehouse, use reverse ETL (Census, Hightouch)
Reference data managementBuilt-inSeparate tool or custom tables
Hierarchy managementBuilt-inKanoniv Cloud or custom

The Comparison

DimensionTraditional MDMDeclarative (Kanoniv)
Time to first value12-24 monthsDays to weeks
First-year cost$800K-$2.7MFree (local) to $10K (cloud)
Matching logicGUI configuration, proprietaryYAML spec, version-controlled, free SDK
Local developmentNot possibleFull offline reconciliation
CI/CD integrationLimitedNative (spec validation in pipeline)
Warehouse integrationCustom ETLNative (reads from, writes to warehouse)
ExplainabilityVendor-dependentFull — inspect the spec, inspect the code
Vendor lock-inHighNone (MIT license, YAML is portable)
Matching engine qualityOften basicRust engine, Jaro-Winkler, Levenshtein, phonetic, composite
ScaleEnterprise-grade100K+ local, unlimited cloud
Team requiredDedicated MDM teamData engineers (existing team)

When Traditional MDM Still Makes Sense

To be fair, traditional MDM platforms have capabilities that declarative tools don't replicate:

Multi-domain master data. If you need to manage customers, products, vendors, locations, and reference data in a single governed platform, MDM is designed for this. Kanoniv is focused on identity resolution (customers, patients, leads) — not product or vendor master data.

Stewardship at scale. If you have a team of 10+ data stewards processing thousands of exceptions per day with complex approval workflows, a purpose-built stewardship UI matters. Building this in Retool or a custom app is possible but requires engineering effort.

Regulatory mandate. Some industries (pharmaceuticals, financial services) have regulatory requirements that specifically mention MDM. A platform with built-in compliance certifications can simplify regulatory conversations.

You already have one. If you've already invested $1M+ in an MDM platform and it's working, the switching cost may not be justified. But for net-new initiatives, starting with declarative identity resolution is almost always the right choice.

The Migration Path

If you're on a traditional MDM platform and want to move to a declarative approach:

Phase 1: Shadow Mode (2-4 weeks)

Run Kanoniv alongside your existing MDM. Feed it the same sources. Compare the golden records.

python
# Compare Kanoniv results with existing MDM
mdm_golden = pd.read_sql("SELECT * FROM mdm.golden_customers", conn)
kanoniv_golden = result.to_dataframe()

# How many entities does each find?
print(f"MDM entities: {len(mdm_golden)}")
print(f"Kanoniv entities: {len(kanoniv_golden)}")

# Where do they disagree?
# (Join on a common identifier and compare)

Phase 2: Parallel Run (1-2 months)

Both systems produce golden records. Downstream consumers use the MDM output. A dedicated engineer monitors differences and tunes the Kanoniv spec until results converge.

Phase 3: Cutover

Switch downstream consumers to Kanoniv golden records. Keep the MDM platform in read-only mode for a month as a safety net. Then decommission.

Phase 4: Decompose

Replace remaining MDM capabilities with composable tools:

  • Data quality: dbt tests, Great Expectations
  • Data governance: Atlan, DataHub
  • Data distribution: Census, Hightouch (reverse ETL)
  • Orchestration: Airflow, Prefect

The Bottom Line

Traditional MDM was the right answer in 2010. In 2026, the modern data stack has better options for each individual capability. Identity resolution — the core of MDM — is best served by a declarative, version-controlled, locally testable tool that integrates with your existing warehouse and orchestration layer.

The declarative approach gives you:

  • 10x faster time to value (days vs months)
  • 10-100x lower cost (free to $10K vs $800K+)
  • Full transparency (inspect the spec, not a vendor's black box)
  • No lock-in (MIT license, YAML is portable, data stays in your warehouse)
  • CI/CD integration (validate matching rules in your deployment pipeline)

Start with identity resolution. Add governance if and when you need it. Don't buy a monolith for a matching problem.

The identity and delegation layer for AI agents.