Insurance sample database — MongoDB, flat (2,546,585 rows)

A collection per table. Each primary key is the document _id; foreign keys are fields under their own names, so the SQL version's joins become $lookup stages.

Load it:
  sh import.sh                    (into mongodb://localhost:27017)
  sh import.sh "<connection string>"

Or one collection at a time: mongoimport --db insurance --collection <name> --file <name>.ndjson

Collections:
  addresses — 65,000 documents
  adjusters — 60 documents
  agencies — 12 documents
  agents — 300 documents
  beneficiaries — 20,000 documents
  branches — 40 documents
  claim_assessments — 20,000 documents
  claim_documents — 30,000 documents
  claim_payments — 10,000 documents
  claims — 20,000 documents
  commissions — 80,000 documents
  companies — 6 documents
  customer_support_tickets — 5,000 documents
  customers — 60,000 documents
  documents — 40,000 documents
  invoices — 1,000,000 documents
  medical_providers — 80 documents
  medical_treatments — 4,000 documents
  payments — 920,000 documents
  policies — 80,000 documents
  policy_categories — 5 documents
  policy_plans — 25 documents
  policy_riders — 30,000 documents
  properties — 20,000 documents
  reinsurance_claims — 2,000 documents
  reinsurance_companies — 5 documents
  reinsurance_contracts — 12 documents
  renewals — 30,000 documents
  underwriters — 40 documents
  underwriting_assessments — 80,000 documents
  vehicles — 30,000 documents

Types: numeric columns are Decimal128, so totals stay exact; dates and timestamps are
Date values read as UTC (the data has no time zone); times and UUIDs are strings;
JSON columns are embedded objects.

Synthetic data, CC0-1.0, from databasesample.com. The same rows as the SQL and CSV files.
