Client/server SQL engines (SQL Server, PostgreSQL, MySQL, Oracle) share the RDBMS plugin family via RDBSource. DuckDB and SQLite also use that stack through InMemoryRDBSource (InMemoryRDBSource → RDBSource in DataSourcesPlugins/RDBMSDataSource): DuckDB is INMEMORY; SQLite adds ILocalDB and RDBMS registration — see the InMemoryRDBSource section on the RDBMS page.

When to use which

PatternTypical useBeepDM interfaceExamples in this repo
Local file DB Single-user or bundled store; backup/copy file ILocalDB (+ IDataSource) SQLite, LiteDB
In-memory analytic Fast analytics, ETL staging, optional file readers IInMemoryDB patterns via InMemoryRDBSource DuckDB
Remote / server RDBMS Shared database, HA, large concurrency IDataSource only SQL Server, PostgreSQL, …

SaaS REST vendors are not file engines: they live under Connectors/ as WebAPIDataSource. See REST / SaaS connectors and the flagship conn-* index.

Configuration flow

Define ConnectionProperties (file path, extension, driver identity), validate with connection helpers, persist in ConfigEditor, then open through IDMEEditor. Honor IDataSource error and metadata rules.

ILocalDB (file operations)

Create/copy/delete database files and drop entities; close connections before file IO. See skill examples for CreateDB, CopyDB, DeleteDB.

IInMemoryDB (structure & load)

Open in-memory store, LoadStructure, CreateStructure, then LoadData / SyncData. Track structure and loaded flags to avoid empty entity lists.

Documented providers