History of the MemCP project: Difference between revisions

From MemCP
Jump to navigation Jump to search
No edit summary
(Refresh MemCP documentation: accuracy, operational guidance, performance profile and maintained API reference)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
* On the beforehand, a lot of research was done at the HAEC project  
<!-- Copyright (C) 2026 Carl-Philip Haensch -->
* MemCPs predecessor is the [https://wwwdb.inf.tu-dresden.de/research-projects/eris/ Eris] project at TU Dresden from 2012-2016
<!-- SPDX-License-Identifier: GPL-3.0-or-later -->
* The first commit on MemCP was done on 24th of December 2022 at 12:13:37
= History of the MemCP project =
* MemCP was originally written in go
 
* The first SQL query on MemCP was successfuly executed on 12.02.2023 source: https://launix.de/launix/memcp-first-sql-query-is-correctly-executed/
MemCP grew from research into compressed in-memory data management and functional query execution. Its lineage includes work from the HAEC research environment and the Eris project at TU Dresden (2012–2016). The MemCP repository began on 24 December 2022, and the first successful SQL query followed in February 2023.
* The first production-ready application was using MemCP in Ocrober 2024 (https://hardlife.io)
 
The project was written in Go around an embedded Scheme runtime that represents and compiles query plans as data. Early application use in 2024 drove broader SQL compatibility, persistence, and operational tooling. Subsequent work connected the original column-storage ideas with durable engines, adaptive physical structures, transaction infrastructure, and an increasingly explicit logical-to-physical planner architecture.
 
This page records major milestones rather than every merged change. Dates and technical claims should be backed by repository history, release notes, or contemporary project records; the changelog and pull requests remain authoritative for detailed chronology.
 
== 2026: first public release and current architecture ==
 
MemCP 0.1 was released in March 2026. During 2026 the project added ACID/OCC transaction infrastructure, enforced foreign keys, persistent triggers, adaptive memory management, S3 and Ceph backends, a native x86-64 JIT, SQL views, window functions, comprehensive subquery decorrelation, cost-based join ordering, RecSet scan sources, guarded plan specialization, a cost-based physical lowerer, and native BSON-backed MySQL/PostgreSQL JSON support.
 
The repository changelog and merged pull requests are authoritative for chronology. The current architecture is documented under [[Query Planner and Physical Lowering]], [[Transactions and Isolation]], [[Columnar Storage]], and [[Current Status and Open Issues]].

Latest revision as of 11:59, 28 August 2026

History of the MemCP project

MemCP grew from research into compressed in-memory data management and functional query execution. Its lineage includes work from the HAEC research environment and the Eris project at TU Dresden (2012–2016). The MemCP repository began on 24 December 2022, and the first successful SQL query followed in February 2023.

The project was written in Go around an embedded Scheme runtime that represents and compiles query plans as data. Early application use in 2024 drove broader SQL compatibility, persistence, and operational tooling. Subsequent work connected the original column-storage ideas with durable engines, adaptive physical structures, transaction infrastructure, and an increasingly explicit logical-to-physical planner architecture.

This page records major milestones rather than every merged change. Dates and technical claims should be backed by repository history, release notes, or contemporary project records; the changelog and pull requests remain authoritative for detailed chronology.

2026: first public release and current architecture

MemCP 0.1 was released in March 2026. During 2026 the project added ACID/OCC transaction infrastructure, enforced foreign keys, persistent triggers, adaptive memory management, S3 and Ceph backends, a native x86-64 JIT, SQL views, window functions, comprehensive subquery decorrelation, cost-based join ordering, RecSet scan sources, guarded plan specialization, a cost-based physical lowerer, and native BSON-backed MySQL/PostgreSQL JSON support.

The repository changelog and merged pull requests are authoritative for chronology. The current architecture is documented under Query Planner and Physical Lowering, Transactions and Isolation, Columnar Storage, and Current Status and Open Issues.