In-Memory (Internal) Setup

The internal:// backing store runs the full Senzing entity resolution engine entirely in process memory. There is no database server, no file, and no schema setup. Data is not persisted and is lost when the process exits.

Prerequisites

No database server, client libraries, or schema setup is required.

Configure the CONNECTION string

Edit the SENZING_ENGINE_CONFIGURATION_JSON environment variable or sz_engine_config.ini file :

Edit the new CONNECTION entry to:

internal://na:na@
The username, password, and host components of the URI are ignored. internal://na:na@, internal://x:y@, and internal://ignored@ all behave identically.

What works

The full engine pipeline runs in memory. All SDK operations work identically to SQLite or PostgreSQL:

  • add_record and delete_record
  • get_record and get_entity
  • search_by_attributes
  • why_entities, why_records, and why_record_in_entity
  • how_entity
  • reevaluate_record and reevaluate_entity
  • find_path and find_network
  • export_json_entity_report and export_csv_entity_report
  • Redo queue processing
  • Config management (SzConfigMgr and SzConfig)
  • Multi-threaded concurrent access
  • Embedding and semantic similarity search

Limitations

Feature Behavior Reason
Persistence Data is lost when the process exits In-memory only, with no disk backing
Multi-process sharing Each process has its own isolated store No shared-memory or IPC layer
Capacity Designed for fewer than 10,000 records Memory usage is substantial
No direct SQL access No way to query the repository directly Not backed by a SQL database

If you need persistence or multi-process access, use PostgreSQL or another persistent backend.

Typical use cases

  • Testing and CI/CD. No database provisioning. Tests start instantly with a clean store and leave no artifacts behind.
  • Demos and prototyping. Show entity resolution results without requiring the audience to set up a database.
  • Embedded applications. Ship a binary that does entity resolution with zero external dependencies.

Update database with the Senzing ER configuration

A Senzing instance is configured with a Senzing Entity Resolution configuration. On a fresh installation this configuration needs to be registered in the Senzing database.

See Updating Database with Senzing ER Configuration

If you have any questions, contact Senzing Support. Support is 100% FREE!