InMemory.Net
activeby InMemory.Net (Cork, Ireland) · since 2014 · also known as IRDB, InMemory.Net IRDB
Commercial in-memory columnar SQL engine for .NET that speeds up reporting over hundreds of millions of rows.
Overview
InMemory.Net is a small commercial analytics database from Cork, Ireland, written in .NET. Its IRDBImport tool pulls data out of ODBC, OLE DB or .NET data providers, dictionary-compresses each column (typically 5-10x) into files on disk, and the IRDB server loads those files into RAM and answers SQL aggregations, with queries compiled to .NET code via Roslyn. It is essentially an extract-and-accelerate layer for reports and dashboards rather than a system of record: data is refreshed by re-importing, not by OLTP writes. Development is slow but alive; builds target .NET Framework 4.x and modern .NET, and Parquet import and export arrived in 2025.
Strengths & trade-offs
Strengths
- +Aggregates hundreds of millions of rows in about a second on one server
- +Dictionary-encoded columns shrink data 5-10x so large extracts fit in RAM
- +Imports from any ODBC, OLE DB or .NET source and from Parquet files
- +Native .NET API and LINQ for embedding fast analytics in .NET apps
- +Simple perpetual pricing compared with enterprise analytics engines
Trade-offs
- −Batch re-import model; not designed for transactional writes
- −Windows/.NET only, single-node, small vendor with sparse documentation
- −Little community, tooling or third-party integration compared with DuckDB or ClickHouse
Great for
- +Accelerating slow SQL Server or ODBC-backed reports
- +Embedded analytics inside .NET line-of-business applications
- +Interactive dashboards over tens of millions of rows on a desktop
Think twice for
- −OLTP or frequently updated data
- −Linux or container-first deployments
- −Multi-terabyte datasets that exceed one machine's memory
Capabilities
Native or official first-party support · 5 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- None
- Consistency
- Strong
- Schema
- Strict
- Architecture
- In memory, Client server, Single node
- Query languages
- SQL, LINQ
Single server; capacity bounded by RAM after column compression.
Deployment
Ecosystem
Alternatives to InMemory.Net
In-process columnar SQL database: the SQLite of analytics, running inside your app or notebook.
inmemory-net vs duckdb →Open-source columnar OLAP database known for very fast aggregations over billions of rows.
inmemory-net vs clickhouse →Microsoft's flagship RDBMS: T-SQL, columnstore, Always On, and now native vectors and JSON.
inmemory-net vs sql-server →Distributed SQL mixing in-memory rowstore and columnstore for real-time analytics, search and vectors.
inmemory-net vs singlestore →In-memory MPP columnar analytics database from Germany, tuned for fast BI with little tuning.
inmemory-net vs exasol →Columnar storage engine for fast analytics on fast-changing data, paired with Impala or Spark.
inmemory-net vs apache-kudu →InMemory.Net FAQ
What is InMemory.Net?
InMemory.Net is a columnar / OLAP database by InMemory.Net (Cork, Ireland), first released in 2014. InMemory.Net is a small commercial analytics database from Cork, Ireland, written in .NET. Its IRDBImport tool pulls data out of ODBC, OLE DB or .NET data providers, dictionary-compresses each column (typically 5-10x) into files on disk, and the IRDB server loads those files into RAM and answers SQL aggregations, with queries compiled to .NET code via Roslyn. It is essentially an extract-and-accelerate layer for reports and dashboards rather than a system of record: data is refreshed by re-importing, not by OLTP writes. Development is slow but alive; builds target .NET Framework 4.x and modern .NET, and Parquet import and export arrived in 2025.
Is InMemory.Net open source?
No. InMemory.Net is proprietary, closed-source software.
Does InMemory.Net support ACID transactions?
No. InMemory.Net does not provide ACID transactions; its consistency model is strong.
Does InMemory.Net scale horizontally?
InMemory.Net does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).
How can I run InMemory.Net?
You can self-host it.
What is InMemory.Net best for?
InMemory.Net is a strong fit for accelerating slow SQL Server or ODBC-backed reports, embedded analytics inside .NET line-of-business applications and interactive dashboards over tens of millions of rows on a desktop. Think twice for OLTP or frequently updated data.
What are the best alternatives to InMemory.Net?
Common alternatives to InMemory.Net include DuckDB, ClickHouse, Microsoft SQL Server, SingleStore and Exasol. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is InMemory.Net?
InMemory.Net ranks #668 of 844 databases on the WhichDB Score (0.2/100), and #55 among columnar / OLAP databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.