Main Page

From MemCP
(diff) ← Older revision | Latest revision (diff) | Newer revision β†’ (diff)
Jump to navigation Jump to search

πŸš€ Meet MemCP – The MySQL Alternative You've Been Waiting For

Tired of outdated database engines slowing you down?

MemCP is a blazing-fast, in-memory, column-oriented database designed for modern workloads. It delivers unmatched speed, massive compression, and built-in REST APIs – all with a developer-friendly open-source stack.

Replace MySQL with something better. Something built for the 2020s – not stuck in 2005.


⚑ Why Developers Choose MemCP

βœ… Turbocharged Performance

Designed for multicore CPUs, modern caches, and NVMe SSDs – MemCP handles analytical (OLAP) and transactional (OLTP) workloads at lightning speed.

βœ… 80% Smaller Data Footprint

Columnar storage means smarter compression. Typical use cases shrink data 5Γ— smaller than MySQL – with no effort from your side.

βœ… Simple JSON APIs Built-in

Query your data with RESTful endpoints – no middleware, no ORM overhead. Just fast results, directly from the DB.

βœ… Familiar SQL-like Structure – Zero Lock-In

You don’t need to re-learn everything. Tables, schemas, and logic follow familiar patterns – just modernized and optimized.

βœ… Zero-Config Installation

Spin up MemCP with a single docker run or pm2 start. Start building in minutes.


πŸ§‘β€πŸ’» Built for Developers, by Developers

MemCP was made for the people who write real-world code, not just benchmark reports. Whether you're building a SaaS product, IoT platform, or data-heavy analytics dashboard, MemCP gives you the speed and flexibility you need to scale.

# Ready to try it?
git clone https://github.com/launix-de/memcp
cd memcp
go get
make
pm2 start ./memcp ./data/

mysql -u root -p -P 3307
Enter password: admin

πŸ†š MemCP vs MySQL: The Key Differences

Feature MySQL MemCP
Storage Model Row-based Column-based (compressed)
Performance Good Excellent (NUMA-optimized)
In-Memory Capable Limited Yes, by default
REST API Integration External services Built-in
Installation Footprint ~150MB+ ~10MB
Open Source βœ… βœ…

πŸ’‘ Ideal Use Cases

  • High-speed dashboards & real-time analytics
  • Embedded systems with minimal resources
  • Data-heavy SaaS backends
  • Replacing outdated MySQL deployments with modern performance


πŸ§ͺ Try MemCP Today

Explore the documentation, check out the GitHub repo, and join a growing community of developers building fast, efficient, modern systems with MemCP.

Ditch the legacy. Embrace performance. Make the switch to MemCP.


What is memcp?

Webapps.svg

memcp is an open-source, high-performance, columnar in-memory database that can handle both OLAP and OLTP workloads. It provides an alternative to proprietary analytical databases and aims to bring the benefits of columnar storage to the open-source world.

memcp is written in Golang and is designed to be portable and extensible, allowing developers to embed the database into their applications with ease. It is also designed with a focus on scalability and performance, making it a suitable choice for distributed applications.


Features

  • fast: MemCP is built with parallelization in mind. The parallelization pattern is made for minimal overhead.
  • efficient: The average compression ratio is 1:5 (80% memory saving) compared to MySQL/MariaDB
  • modern: MemCP is built for modern hardware with caches, NUMA memory, multicore CPUs, NVMe SSDs
  • versatile: Use it in big mainframes to gain analytical performance, use it in embedded systems to conserve flash lifetime
  • Columnar storage: Stores data column-wise instead of row-wise, which allows for better compression, faster query execution, and more efficient use of memory.
  • In-memory database: Stores all data in memory, which allows for extremely fast query execution.
  • Build fast REST APIs directly in the database (they are faster because there is no network connection / SQL layer in between)
  • OLAP and OLTP support: Can handle both online analytical processing (OLAP) and online transaction processing (OLTP) workloads.
  • Compression: Lots of compression formats are supported like bit-packing and dictionary encoding
  • Scalability: Designed to scale on a single node with huge NUMA memory
  • Adjustable persistency: Decide whether you want to persist a table or not or to just keep snapshots of a period of time

MemCP Port.png

https://www.youtube.com/watch?v=g29FR4Jwius

Navigation

Introduction

Getting Started

Administration

Frontends

SQL Frontend
RDF Frontend
Custom Frontends

Internals

How things work in MemCP
Optimizations


Screenshot from htop.png


Further Reading

MemCP on Github

Scientific

How MemCP was built