<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.memcp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bnet</id>
	<title>MemCP - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.memcp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bnet"/>
	<link rel="alternate" type="text/html" href="https://www.memcp.org/wiki/Special:Contributions/Bnet"/>
	<updated>2026-04-24T17:54:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://www.memcp.org/index.php?title=Main_Page&amp;diff=105</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.memcp.org/index.php?title=Main_Page&amp;diff=105"/>
		<updated>2024-05-19T18:42:51Z</updated>

		<summary type="html">&lt;p&gt;Bnet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== What is memcp? ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fast:&#039;&#039;&#039; MemCP is built with parallelization in mind. The parallelization pattern is made for minimal overhead.&lt;br /&gt;
* &#039;&#039;&#039;efficient:&#039;&#039;&#039; The average compression ratio is 1:5 (80% memory saving) compared to MySQL/MariaDB&lt;br /&gt;
* &#039;&#039;&#039;modern:&#039;&#039;&#039; MemCP is built for modern hardware with caches, NUMA memory, multicore CPUs, NVMe SSDs&lt;br /&gt;
* &#039;&#039;&#039;versatile:&#039;&#039;&#039; Use it in big mainframes to gain analytical performance, use it in embedded systems to conserve flash lifetime&lt;br /&gt;
* Columnar storage: Stores data column-wise instead of row-wise, which allows for better compression, faster query execution, and more efficient use of memory.&lt;br /&gt;
* In-memory database: Stores all data in memory, which allows for extremely fast query execution.&lt;br /&gt;
* Build fast REST APIs directly in the database (they are faster because there is no network connection / SQL layer in between)&lt;br /&gt;
* OLAP and OLTP support: Can handle both online analytical processing (OLAP) and online transaction processing (OLTP) workloads.&lt;br /&gt;
* Compression: Lots of compression formats are supported like bit-packing and dictionary encoding&lt;br /&gt;
* Scalability: Designed to scale on a single node with huge NUMA memory&lt;br /&gt;
* Adjustable persistency: Decide whether you want to persist a table or not or to just keep snapshots of a period of time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;g29FR4Jwius&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=g29FR4Jwius&lt;br /&gt;
&lt;br /&gt;
=== Navigation ===&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
* [[What is OLTP and OLAP]]&lt;br /&gt;
* [[History of the MemCP project]]&lt;br /&gt;
* [[Hardware Requirements]]&lt;br /&gt;
* [[Persistency and Performance Guarantees]]&lt;br /&gt;
* [[Current Status and Open Issues]]&lt;br /&gt;
&lt;br /&gt;
==== Getting Started ====&lt;br /&gt;
* [[Install MemCP with Docker|With Docker]]&lt;br /&gt;
* [[With Singularity]]&lt;br /&gt;
* [[Compile MemCP from Source|Build from Source]]&lt;br /&gt;
* [[Introduction to Scheme]]&lt;br /&gt;
&lt;br /&gt;
==== Frontends ====&lt;br /&gt;
&lt;br /&gt;
===== SQL Frontend =====&lt;br /&gt;
* [[Supported SQL]]&lt;br /&gt;
* [[Replace MySQL with MemCP]]&lt;br /&gt;
* [[SQL over REST]]&lt;br /&gt;
* [[Database Tools compatibility with MemCP|Supported Tooling]]&lt;br /&gt;
* [[How SQL Operators are implemented on MemCP]]&lt;br /&gt;
&lt;br /&gt;
===== RDF Frontend =====&lt;br /&gt;
* [[Introduction to RDF]]&lt;br /&gt;
* [[RDF templating and model driven development]]&lt;br /&gt;
&lt;br /&gt;
===== Custom Frontends =====&lt;br /&gt;
&lt;br /&gt;
* [[In-Database WebApps|In-Database WebApps and REST Services]]&lt;br /&gt;
&lt;br /&gt;
==== Administration ====&lt;br /&gt;
&lt;br /&gt;
*[[Settings]]&lt;br /&gt;
* [[Process Hibernation]]&lt;br /&gt;
* [[Performance Measurement]]&lt;br /&gt;
&lt;br /&gt;
==== Internals ====&lt;br /&gt;
&lt;br /&gt;
===== How things work in MemCP =====&lt;br /&gt;
&lt;br /&gt;
*[[Databases, Tables and Columns]]&lt;br /&gt;
* [[Shards, RecordIDs, Main Storage, Delta Storage]]&lt;br /&gt;
* [[Columnar Storage]]&lt;br /&gt;
* [[Transactions]]&lt;br /&gt;
&lt;br /&gt;
===== Optimizations =====&lt;br /&gt;
* [[In-Memory Compression, Columnar Compression Techniques]]&lt;br /&gt;
* [[Temporary Columns]]&lt;br /&gt;
* [[Data Auto Sharding and Auto Indexing]]&lt;br /&gt;
* [[Parallel Computing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from htop.png|center|frameless|2490x2490px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Further Reading ===&lt;br /&gt;
[https://github.org/launix-de/memcp MemCP on Github]&lt;br /&gt;
&lt;br /&gt;
==== Scientific ====&lt;br /&gt;
&lt;br /&gt;
* [https://www.vldb.org/pvldb/vol13/p2649-boncz.pdf VLDB Research Paper]&lt;br /&gt;
* [https://cs.emis.de/LNI/Proceedings/Proceedings241/383.pdf LNI Proceedings Paper]&lt;br /&gt;
* [https://wwwdb.inf.tu-dresden.de/wp-content/uploads/T_2014_Master_Patrick_Damme.pdf TU Dresden Research Paper]&lt;br /&gt;
* [https://www.dcs.bbk.ac.uk/~dell/teaching/cc/paper/sigmod10/p135-malewicz.pdf Large Graph Algorithms]&lt;br /&gt;
* https://wwwdb.inf.tu-dresden.de/research-projects/eris/&lt;br /&gt;
&lt;br /&gt;
==== How MemCP was built ====&lt;br /&gt;
&lt;br /&gt;
* [https://launix.de/launix/how-to-balance-a-database-between-olap-and-oltp-workflows/ Balancing OLAP and OLTP Workflows]&lt;br /&gt;
* [https://launix.de/launix/designing-a-programming-language-for-distributed-systems-and-highly-parallel-algorithms/ Designing Programming Languages for Distributed Systems]&lt;br /&gt;
* [https://launix.de/launix/on-designing-an-interface-for-columnar-in-memory-storage-in-golang/ Columnar Storage Interface in Golang]&lt;br /&gt;
* [https://launix.de/launix/how-in-memory-compression-affects-performance/ Impact of In-Memory Compression on Performance]&lt;br /&gt;
* [https://launix.de/launix/memory-efficient-indices-for-in-memory-storages/ Memory-Efficient Indices for In-Memory Storages]&lt;br /&gt;
* [https://launix.de/launix/on-compressing-null-values-in-bit-compressed-integer-storages/ Compressing Null Values in Bit-Compressed Integer Storages]&lt;br /&gt;
* [https://launix.de/launix/when-the-benchmark-is-too-slow-golang-http-server-performance/ Improving Golang HTTP Server Performance]&lt;br /&gt;
* [https://launix.de/launix/how-to-benchmark-a-sql-database/ Benchmarking SQL Databases]&lt;br /&gt;
* [https://launix.de/launix/writing-a-sql-parser-in-scheme/ Writing a SQL Parser in Scheme]&lt;br /&gt;
* [https://launix.de/launix/accessing-memcp-via-scheme/ Accessing memcp via Scheme]&lt;br /&gt;
* [https://launix.de/launix/memcp-first-sql-query-is-correctly-executed/ First SQL Query in memcp]&lt;br /&gt;
* [https://launix.de/launix/sequence-compression-in-in-memory-database-yields-99-memory-savings-and-a-total-of-13/ Sequence Compression in In-Memory Database]&lt;br /&gt;
* [https://launix.de/launix/storing-a-bit-smaller-than-in-one-bit/ Storing Data Smaller Than One Bit]&lt;br /&gt;
* [https://www.youtube.com/watch?v=DWg4nx4KVLo memcp Announcement Video]&lt;/div&gt;</summary>
		<author><name>Bnet</name></author>
	</entry>
	<entry>
		<id>https://www.memcp.org/index.php?title=Main_Page&amp;diff=104</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.memcp.org/index.php?title=Main_Page&amp;diff=104"/>
		<updated>2024-05-19T18:37:41Z</updated>

		<summary type="html">&lt;p&gt;Bnet: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== What is memcp? ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fast:&#039;&#039;&#039; MemCP is built with parallelization in mind. The parallelization pattern is made for minimal overhead.&lt;br /&gt;
* &#039;&#039;&#039;efficient:&#039;&#039;&#039; The average compression ratio is 1:5 (80% memory saving) compared to MySQL/MariaDB&lt;br /&gt;
* &#039;&#039;&#039;modern:&#039;&#039;&#039; MemCP is built for modern hardware with caches, NUMA memory, multicore CPUs, NVMe SSDs&lt;br /&gt;
* &#039;&#039;&#039;versatile:&#039;&#039;&#039; Use it in big mainframes to gain analytical performance, use it in embedded systems to conserve flash lifetime&lt;br /&gt;
* Columnar storage: Stores data column-wise instead of row-wise, which allows for better compression, faster query execution, and more efficient use of memory.&lt;br /&gt;
* In-memory database: Stores all data in memory, which allows for extremely fast query execution.&lt;br /&gt;
* Build fast REST APIs directly in the database (they are faster because there is no network connection / SQL layer in between)&lt;br /&gt;
* OLAP and OLTP support: Can handle both online analytical processing (OLAP) and online transaction processing (OLTP) workloads.&lt;br /&gt;
* Compression: Lots of compression formats are supported like bit-packing and dictionary encoding&lt;br /&gt;
* Scalability: Designed to scale on a single node with huge NUMA memory&lt;br /&gt;
* Adjustable persistency: Decide whether you want to persist a table or not or to just keep snapshots of a period of time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;g29FR4Jwius&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Navigation ===&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
* [[What is OLTP and OLAP]]&lt;br /&gt;
* [[History of the MemCP project]]&lt;br /&gt;
* [[Hardware Requirements]]&lt;br /&gt;
* [[Persistency and Performance Guarantees]]&lt;br /&gt;
* [[Current Status and Open Issues]]&lt;br /&gt;
&lt;br /&gt;
==== Getting Started ====&lt;br /&gt;
* [[Install MemCP with Docker|With Docker]]&lt;br /&gt;
* [[With Singularity]]&lt;br /&gt;
* [[Compile MemCP from Source|Build from Source]]&lt;br /&gt;
* [[Introduction to Scheme]]&lt;br /&gt;
&lt;br /&gt;
==== Frontends ====&lt;br /&gt;
&lt;br /&gt;
===== SQL Frontend =====&lt;br /&gt;
* [[Supported SQL]]&lt;br /&gt;
* [[Replace MySQL with MemCP]]&lt;br /&gt;
* [[SQL over REST]]&lt;br /&gt;
* [[Database Tools compatibility with MemCP|Supported Tooling]]&lt;br /&gt;
* [[How SQL Operators are implemented on MemCP]]&lt;br /&gt;
&lt;br /&gt;
===== RDF Frontend =====&lt;br /&gt;
* [[Introduction to RDF]]&lt;br /&gt;
* [[RDF templating and model driven development]]&lt;br /&gt;
&lt;br /&gt;
===== Custom Frontends =====&lt;br /&gt;
&lt;br /&gt;
* [[In-Database WebApps|In-Database WebApps and REST Services]]&lt;br /&gt;
&lt;br /&gt;
==== Administration ====&lt;br /&gt;
&lt;br /&gt;
*[[Settings]]&lt;br /&gt;
* [[Process Hibernation]]&lt;br /&gt;
* [[Performance Measurement]]&lt;br /&gt;
&lt;br /&gt;
==== Internals ====&lt;br /&gt;
&lt;br /&gt;
===== How things work in MemCP =====&lt;br /&gt;
&lt;br /&gt;
*[[Databases, Tables and Columns]]&lt;br /&gt;
* [[Shards, RecordIDs, Main Storage, Delta Storage]]&lt;br /&gt;
* [[Columnar Storage]]&lt;br /&gt;
* [[Transactions]]&lt;br /&gt;
&lt;br /&gt;
===== Optimizations =====&lt;br /&gt;
* [[In-Memory Compression, Columnar Compression Techniques]]&lt;br /&gt;
* [[Temporary Columns]]&lt;br /&gt;
* [[Data Auto Sharding and Auto Indexing]]&lt;br /&gt;
* [[Parallel Computing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from htop.png|center|frameless|2490x2490px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Further Reading ===&lt;br /&gt;
[https://github.org/launix-de/memcp MemCP on Github]&lt;br /&gt;
&lt;br /&gt;
==== Scientific ====&lt;br /&gt;
&lt;br /&gt;
* [https://www.vldb.org/pvldb/vol13/p2649-boncz.pdf VLDB Research Paper]&lt;br /&gt;
* [https://cs.emis.de/LNI/Proceedings/Proceedings241/383.pdf LNI Proceedings Paper]&lt;br /&gt;
* [https://wwwdb.inf.tu-dresden.de/wp-content/uploads/T_2014_Master_Patrick_Damme.pdf TU Dresden Research Paper]&lt;br /&gt;
* [https://www.dcs.bbk.ac.uk/~dell/teaching/cc/paper/sigmod10/p135-malewicz.pdf Large Graph Algorithms]&lt;br /&gt;
* https://wwwdb.inf.tu-dresden.de/research-projects/eris/&lt;br /&gt;
&lt;br /&gt;
==== How MemCP was built ====&lt;br /&gt;
&lt;br /&gt;
* [https://launix.de/launix/how-to-balance-a-database-between-olap-and-oltp-workflows/ Balancing OLAP and OLTP Workflows]&lt;br /&gt;
* [https://launix.de/launix/designing-a-programming-language-for-distributed-systems-and-highly-parallel-algorithms/ Designing Programming Languages for Distributed Systems]&lt;br /&gt;
* [https://launix.de/launix/on-designing-an-interface-for-columnar-in-memory-storage-in-golang/ Columnar Storage Interface in Golang]&lt;br /&gt;
* [https://launix.de/launix/how-in-memory-compression-affects-performance/ Impact of In-Memory Compression on Performance]&lt;br /&gt;
* [https://launix.de/launix/memory-efficient-indices-for-in-memory-storages/ Memory-Efficient Indices for In-Memory Storages]&lt;br /&gt;
* [https://launix.de/launix/on-compressing-null-values-in-bit-compressed-integer-storages/ Compressing Null Values in Bit-Compressed Integer Storages]&lt;br /&gt;
* [https://launix.de/launix/when-the-benchmark-is-too-slow-golang-http-server-performance/ Improving Golang HTTP Server Performance]&lt;br /&gt;
* [https://launix.de/launix/how-to-benchmark-a-sql-database/ Benchmarking SQL Databases]&lt;br /&gt;
* [https://launix.de/launix/writing-a-sql-parser-in-scheme/ Writing a SQL Parser in Scheme]&lt;br /&gt;
* [https://launix.de/launix/accessing-memcp-via-scheme/ Accessing memcp via Scheme]&lt;br /&gt;
* [https://launix.de/launix/memcp-first-sql-query-is-correctly-executed/ First SQL Query in memcp]&lt;br /&gt;
* [https://launix.de/launix/sequence-compression-in-in-memory-database-yields-99-memory-savings-and-a-total-of-13/ Sequence Compression in In-Memory Database]&lt;br /&gt;
* [https://launix.de/launix/storing-a-bit-smaller-than-in-one-bit/ Storing Data Smaller Than One Bit]&lt;br /&gt;
* [https://www.youtube.com/watch?v=DWg4nx4KVLo memcp Announcement Video]&lt;/div&gt;</summary>
		<author><name>Bnet</name></author>
	</entry>
	<entry>
		<id>https://www.memcp.org/index.php?title=Main_Page&amp;diff=103</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.memcp.org/index.php?title=Main_Page&amp;diff=103"/>
		<updated>2024-05-19T18:37:20Z</updated>

		<summary type="html">&lt;p&gt;Bnet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== What is memcp? ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fast:&#039;&#039;&#039; MemCP is built with parallelization in mind. The parallelization pattern is made for minimal overhead.&lt;br /&gt;
* &#039;&#039;&#039;efficient:&#039;&#039;&#039; The average compression ratio is 1:5 (80% memory saving) compared to MySQL/MariaDB&lt;br /&gt;
* &#039;&#039;&#039;modern:&#039;&#039;&#039; MemCP is built for modern hardware with caches, NUMA memory, multicore CPUs, NVMe SSDs&lt;br /&gt;
* &#039;&#039;&#039;versatile:&#039;&#039;&#039; Use it in big mainframes to gain analytical performance, use it in embedded systems to conserve flash lifetime&lt;br /&gt;
* Columnar storage: Stores data column-wise instead of row-wise, which allows for better compression, faster query execution, and more efficient use of memory.&lt;br /&gt;
* In-memory database: Stores all data in memory, which allows for extremely fast query execution.&lt;br /&gt;
* Build fast REST APIs directly in the database (they are faster because there is no network connection / SQL layer in between)&lt;br /&gt;
* OLAP and OLTP support: Can handle both online analytical processing (OLAP) and online transaction processing (OLTP) workloads.&lt;br /&gt;
* Compression: Lots of compression formats are supported like bit-packing and dictionary encoding&lt;br /&gt;
* Scalability: Designed to scale on a single node with huge NUMA memory&lt;br /&gt;
* Adjustable persistency: Decide whether you want to persist a table or not or to just keep snapshots of a period of time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;g29FR4Jwius&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=g29FR4Jwius&lt;br /&gt;
&lt;br /&gt;
=== Navigation ===&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
* [[What is OLTP and OLAP]]&lt;br /&gt;
* [[History of the MemCP project]]&lt;br /&gt;
* [[Hardware Requirements]]&lt;br /&gt;
* [[Persistency and Performance Guarantees]]&lt;br /&gt;
* [[Current Status and Open Issues]]&lt;br /&gt;
&lt;br /&gt;
==== Getting Started ====&lt;br /&gt;
* [[Install MemCP with Docker|With Docker]]&lt;br /&gt;
* [[With Singularity]]&lt;br /&gt;
* [[Compile MemCP from Source|Build from Source]]&lt;br /&gt;
* [[Introduction to Scheme]]&lt;br /&gt;
&lt;br /&gt;
==== Frontends ====&lt;br /&gt;
&lt;br /&gt;
===== SQL Frontend =====&lt;br /&gt;
* [[Supported SQL]]&lt;br /&gt;
* [[Replace MySQL with MemCP]]&lt;br /&gt;
* [[SQL over REST]]&lt;br /&gt;
* [[Database Tools compatibility with MemCP|Supported Tooling]]&lt;br /&gt;
* [[How SQL Operators are implemented on MemCP]]&lt;br /&gt;
&lt;br /&gt;
===== RDF Frontend =====&lt;br /&gt;
* [[Introduction to RDF]]&lt;br /&gt;
* [[RDF templating and model driven development]]&lt;br /&gt;
&lt;br /&gt;
===== Custom Frontends =====&lt;br /&gt;
&lt;br /&gt;
* [[In-Database WebApps|In-Database WebApps and REST Services]]&lt;br /&gt;
&lt;br /&gt;
==== Administration ====&lt;br /&gt;
&lt;br /&gt;
*[[Settings]]&lt;br /&gt;
* [[Process Hibernation]]&lt;br /&gt;
* [[Performance Measurement]]&lt;br /&gt;
&lt;br /&gt;
==== Internals ====&lt;br /&gt;
&lt;br /&gt;
===== How things work in MemCP =====&lt;br /&gt;
&lt;br /&gt;
*[[Databases, Tables and Columns]]&lt;br /&gt;
* [[Shards, RecordIDs, Main Storage, Delta Storage]]&lt;br /&gt;
* [[Columnar Storage]]&lt;br /&gt;
* [[Transactions]]&lt;br /&gt;
&lt;br /&gt;
===== Optimizations =====&lt;br /&gt;
* [[In-Memory Compression, Columnar Compression Techniques]]&lt;br /&gt;
* [[Temporary Columns]]&lt;br /&gt;
* [[Data Auto Sharding and Auto Indexing]]&lt;br /&gt;
* [[Parallel Computing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from htop.png|center|frameless|2490x2490px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Further Reading ===&lt;br /&gt;
[https://github.org/launix-de/memcp MemCP on Github]&lt;br /&gt;
&lt;br /&gt;
==== Scientific ====&lt;br /&gt;
&lt;br /&gt;
* [https://www.vldb.org/pvldb/vol13/p2649-boncz.pdf VLDB Research Paper]&lt;br /&gt;
* [https://cs.emis.de/LNI/Proceedings/Proceedings241/383.pdf LNI Proceedings Paper]&lt;br /&gt;
* [https://wwwdb.inf.tu-dresden.de/wp-content/uploads/T_2014_Master_Patrick_Damme.pdf TU Dresden Research Paper]&lt;br /&gt;
* [https://www.dcs.bbk.ac.uk/~dell/teaching/cc/paper/sigmod10/p135-malewicz.pdf Large Graph Algorithms]&lt;br /&gt;
* https://wwwdb.inf.tu-dresden.de/research-projects/eris/&lt;br /&gt;
&lt;br /&gt;
==== How MemCP was built ====&lt;br /&gt;
&lt;br /&gt;
* [https://launix.de/launix/how-to-balance-a-database-between-olap-and-oltp-workflows/ Balancing OLAP and OLTP Workflows]&lt;br /&gt;
* [https://launix.de/launix/designing-a-programming-language-for-distributed-systems-and-highly-parallel-algorithms/ Designing Programming Languages for Distributed Systems]&lt;br /&gt;
* [https://launix.de/launix/on-designing-an-interface-for-columnar-in-memory-storage-in-golang/ Columnar Storage Interface in Golang]&lt;br /&gt;
* [https://launix.de/launix/how-in-memory-compression-affects-performance/ Impact of In-Memory Compression on Performance]&lt;br /&gt;
* [https://launix.de/launix/memory-efficient-indices-for-in-memory-storages/ Memory-Efficient Indices for In-Memory Storages]&lt;br /&gt;
* [https://launix.de/launix/on-compressing-null-values-in-bit-compressed-integer-storages/ Compressing Null Values in Bit-Compressed Integer Storages]&lt;br /&gt;
* [https://launix.de/launix/when-the-benchmark-is-too-slow-golang-http-server-performance/ Improving Golang HTTP Server Performance]&lt;br /&gt;
* [https://launix.de/launix/how-to-benchmark-a-sql-database/ Benchmarking SQL Databases]&lt;br /&gt;
* [https://launix.de/launix/writing-a-sql-parser-in-scheme/ Writing a SQL Parser in Scheme]&lt;br /&gt;
* [https://launix.de/launix/accessing-memcp-via-scheme/ Accessing memcp via Scheme]&lt;br /&gt;
* [https://launix.de/launix/memcp-first-sql-query-is-correctly-executed/ First SQL Query in memcp]&lt;br /&gt;
* [https://launix.de/launix/sequence-compression-in-in-memory-database-yields-99-memory-savings-and-a-total-of-13/ Sequence Compression in In-Memory Database]&lt;br /&gt;
* [https://launix.de/launix/storing-a-bit-smaller-than-in-one-bit/ Storing Data Smaller Than One Bit]&lt;br /&gt;
* [https://www.youtube.com/watch?v=DWg4nx4KVLo memcp Announcement Video]&lt;/div&gt;</summary>
		<author><name>Bnet</name></author>
	</entry>
	<entry>
		<id>https://www.memcp.org/index.php?title=Main_Page&amp;diff=102</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.memcp.org/index.php?title=Main_Page&amp;diff=102"/>
		<updated>2024-05-19T18:37:03Z</updated>

		<summary type="html">&lt;p&gt;Bnet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== What is memcp? ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fast:&#039;&#039;&#039; MemCP is built with parallelization in mind. The parallelization pattern is made for minimal overhead.&lt;br /&gt;
* &#039;&#039;&#039;efficient:&#039;&#039;&#039; The average compression ratio is 1:5 (80% memory saving) compared to MySQL/MariaDB&lt;br /&gt;
* &#039;&#039;&#039;modern:&#039;&#039;&#039; MemCP is built for modern hardware with caches, NUMA memory, multicore CPUs, NVMe SSDs&lt;br /&gt;
* &#039;&#039;&#039;versatile:&#039;&#039;&#039; Use it in big mainframes to gain analytical performance, use it in embedded systems to conserve flash lifetime&lt;br /&gt;
* Columnar storage: Stores data column-wise instead of row-wise, which allows for better compression, faster query execution, and more efficient use of memory.&lt;br /&gt;
* In-memory database: Stores all data in memory, which allows for extremely fast query execution.&lt;br /&gt;
* Build fast REST APIs directly in the database (they are faster because there is no network connection / SQL layer in between)&lt;br /&gt;
* OLAP and OLTP support: Can handle both online analytical processing (OLAP) and online transaction processing (OLTP) workloads.&lt;br /&gt;
* Compression: Lots of compression formats are supported like bit-packing and dictionary encoding&lt;br /&gt;
* Scalability: Designed to scale on a single node with huge NUMA memory&lt;br /&gt;
* Adjustable persistency: Decide whether you want to persist a table or not or to just keep snapshots of a period of time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;g29FR4Jwius&amp;lt;/youtube&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=g29FR4Jwius&lt;br /&gt;
&lt;br /&gt;
=== Navigation ===&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
* [[What is OLTP and OLAP]]&lt;br /&gt;
* [[History of the MemCP project]]&lt;br /&gt;
* [[Hardware Requirements]]&lt;br /&gt;
* [[Persistency and Performance Guarantees]]&lt;br /&gt;
* [[Current Status and Open Issues]]&lt;br /&gt;
&lt;br /&gt;
==== Getting Started ====&lt;br /&gt;
* [[Install MemCP with Docker|With Docker]]&lt;br /&gt;
* [[With Singularity]]&lt;br /&gt;
* [[Compile MemCP from Source|Build from Source]]&lt;br /&gt;
* [[Introduction to Scheme]]&lt;br /&gt;
&lt;br /&gt;
==== Frontends ====&lt;br /&gt;
&lt;br /&gt;
===== SQL Frontend =====&lt;br /&gt;
* [[Supported SQL]]&lt;br /&gt;
* [[Replace MySQL with MemCP]]&lt;br /&gt;
* [[SQL over REST]]&lt;br /&gt;
* [[Database Tools compatibility with MemCP|Supported Tooling]]&lt;br /&gt;
* [[How SQL Operators are implemented on MemCP]]&lt;br /&gt;
&lt;br /&gt;
===== RDF Frontend =====&lt;br /&gt;
* [[Introduction to RDF]]&lt;br /&gt;
* [[RDF templating and model driven development]]&lt;br /&gt;
&lt;br /&gt;
===== Custom Frontends =====&lt;br /&gt;
&lt;br /&gt;
* [[In-Database WebApps|In-Database WebApps and REST Services]]&lt;br /&gt;
&lt;br /&gt;
==== Administration ====&lt;br /&gt;
&lt;br /&gt;
*[[Settings]]&lt;br /&gt;
* [[Process Hibernation]]&lt;br /&gt;
* [[Performance Measurement]]&lt;br /&gt;
&lt;br /&gt;
==== Internals ====&lt;br /&gt;
&lt;br /&gt;
===== How things work in MemCP =====&lt;br /&gt;
&lt;br /&gt;
*[[Databases, Tables and Columns]]&lt;br /&gt;
* [[Shards, RecordIDs, Main Storage, Delta Storage]]&lt;br /&gt;
* [[Columnar Storage]]&lt;br /&gt;
* [[Transactions]]&lt;br /&gt;
&lt;br /&gt;
===== Optimizations =====&lt;br /&gt;
* [[In-Memory Compression, Columnar Compression Techniques]]&lt;br /&gt;
* [[Temporary Columns]]&lt;br /&gt;
* [[Data Auto Sharding and Auto Indexing]]&lt;br /&gt;
* [[Parallel Computing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from htop.png|center|frameless|2490x2490px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Further Reading ===&lt;br /&gt;
[https://github.org/launix-de/memcp MemCP on Github]&lt;br /&gt;
&lt;br /&gt;
==== Scientific ====&lt;br /&gt;
&lt;br /&gt;
* [https://www.vldb.org/pvldb/vol13/p2649-boncz.pdf VLDB Research Paper]&lt;br /&gt;
* [https://cs.emis.de/LNI/Proceedings/Proceedings241/383.pdf LNI Proceedings Paper]&lt;br /&gt;
* [https://wwwdb.inf.tu-dresden.de/wp-content/uploads/T_2014_Master_Patrick_Damme.pdf TU Dresden Research Paper]&lt;br /&gt;
* [https://www.dcs.bbk.ac.uk/~dell/teaching/cc/paper/sigmod10/p135-malewicz.pdf Large Graph Algorithms]&lt;br /&gt;
* https://wwwdb.inf.tu-dresden.de/research-projects/eris/&lt;br /&gt;
&lt;br /&gt;
==== How MemCP was built ====&lt;br /&gt;
&lt;br /&gt;
* [https://launix.de/launix/how-to-balance-a-database-between-olap-and-oltp-workflows/ Balancing OLAP and OLTP Workflows]&lt;br /&gt;
* [https://launix.de/launix/designing-a-programming-language-for-distributed-systems-and-highly-parallel-algorithms/ Designing Programming Languages for Distributed Systems]&lt;br /&gt;
* [https://launix.de/launix/on-designing-an-interface-for-columnar-in-memory-storage-in-golang/ Columnar Storage Interface in Golang]&lt;br /&gt;
* [https://launix.de/launix/how-in-memory-compression-affects-performance/ Impact of In-Memory Compression on Performance]&lt;br /&gt;
* [https://launix.de/launix/memory-efficient-indices-for-in-memory-storages/ Memory-Efficient Indices for In-Memory Storages]&lt;br /&gt;
* [https://launix.de/launix/on-compressing-null-values-in-bit-compressed-integer-storages/ Compressing Null Values in Bit-Compressed Integer Storages]&lt;br /&gt;
* [https://launix.de/launix/when-the-benchmark-is-too-slow-golang-http-server-performance/ Improving Golang HTTP Server Performance]&lt;br /&gt;
* [https://launix.de/launix/how-to-benchmark-a-sql-database/ Benchmarking SQL Databases]&lt;br /&gt;
* [https://launix.de/launix/writing-a-sql-parser-in-scheme/ Writing a SQL Parser in Scheme]&lt;br /&gt;
* [https://launix.de/launix/accessing-memcp-via-scheme/ Accessing memcp via Scheme]&lt;br /&gt;
* [https://launix.de/launix/memcp-first-sql-query-is-correctly-executed/ First SQL Query in memcp]&lt;br /&gt;
* [https://launix.de/launix/sequence-compression-in-in-memory-database-yields-99-memory-savings-and-a-total-of-13/ Sequence Compression in In-Memory Database]&lt;br /&gt;
* [https://launix.de/launix/storing-a-bit-smaller-than-in-one-bit/ Storing Data Smaller Than One Bit]&lt;br /&gt;
* [https://www.youtube.com/watch?v=DWg4nx4KVLo memcp Announcement Video]&lt;/div&gt;</summary>
		<author><name>Bnet</name></author>
	</entry>
	<entry>
		<id>https://www.memcp.org/index.php?title=Main_Page&amp;diff=101</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.memcp.org/index.php?title=Main_Page&amp;diff=101"/>
		<updated>2024-05-19T18:36:13Z</updated>

		<summary type="html">&lt;p&gt;Bnet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== What is memcp? ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fast:&#039;&#039;&#039; MemCP is built with parallelization in mind. The parallelization pattern is made for minimal overhead.&lt;br /&gt;
* &#039;&#039;&#039;efficient:&#039;&#039;&#039; The average compression ratio is 1:5 (80% memory saving) compared to MySQL/MariaDB&lt;br /&gt;
* &#039;&#039;&#039;modern:&#039;&#039;&#039; MemCP is built for modern hardware with caches, NUMA memory, multicore CPUs, NVMe SSDs&lt;br /&gt;
* &#039;&#039;&#039;versatile:&#039;&#039;&#039; Use it in big mainframes to gain analytical performance, use it in embedded systems to conserve flash lifetime&lt;br /&gt;
* Columnar storage: Stores data column-wise instead of row-wise, which allows for better compression, faster query execution, and more efficient use of memory.&lt;br /&gt;
* In-memory database: Stores all data in memory, which allows for extremely fast query execution.&lt;br /&gt;
* Build fast REST APIs directly in the database (they are faster because there is no network connection / SQL layer in between)&lt;br /&gt;
* OLAP and OLTP support: Can handle both online analytical processing (OLAP) and online transaction processing (OLTP) workloads.&lt;br /&gt;
* Compression: Lots of compression formats are supported like bit-packing and dictionary encoding&lt;br /&gt;
* Scalability: Designed to scale on a single node with huge NUMA memory&lt;br /&gt;
* Adjustable persistency: Decide whether you want to persist a table or not or to just keep snapshots of a period of time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;g29FR4Jwius&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Navigation ===&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
* [[What is OLTP and OLAP]]&lt;br /&gt;
* [[History of the MemCP project]]&lt;br /&gt;
* [[Hardware Requirements]]&lt;br /&gt;
* [[Persistency and Performance Guarantees]]&lt;br /&gt;
* [[Current Status and Open Issues]]&lt;br /&gt;
&lt;br /&gt;
==== Getting Started ====&lt;br /&gt;
* [[Install MemCP with Docker|With Docker]]&lt;br /&gt;
* [[With Singularity]]&lt;br /&gt;
* [[Compile MemCP from Source|Build from Source]]&lt;br /&gt;
* [[Introduction to Scheme]]&lt;br /&gt;
&lt;br /&gt;
==== Frontends ====&lt;br /&gt;
&lt;br /&gt;
===== SQL Frontend =====&lt;br /&gt;
* [[Supported SQL]]&lt;br /&gt;
* [[Replace MySQL with MemCP]]&lt;br /&gt;
* [[SQL over REST]]&lt;br /&gt;
* [[Database Tools compatibility with MemCP|Supported Tooling]]&lt;br /&gt;
* [[How SQL Operators are implemented on MemCP]]&lt;br /&gt;
&lt;br /&gt;
===== RDF Frontend =====&lt;br /&gt;
* [[Introduction to RDF]]&lt;br /&gt;
* [[RDF templating and model driven development]]&lt;br /&gt;
&lt;br /&gt;
===== Custom Frontends =====&lt;br /&gt;
&lt;br /&gt;
* [[In-Database WebApps|In-Database WebApps and REST Services]]&lt;br /&gt;
&lt;br /&gt;
==== Administration ====&lt;br /&gt;
&lt;br /&gt;
*[[Settings]]&lt;br /&gt;
* [[Process Hibernation]]&lt;br /&gt;
* [[Performance Measurement]]&lt;br /&gt;
&lt;br /&gt;
==== Internals ====&lt;br /&gt;
&lt;br /&gt;
===== How things work in MemCP =====&lt;br /&gt;
&lt;br /&gt;
*[[Databases, Tables and Columns]]&lt;br /&gt;
* [[Shards, RecordIDs, Main Storage, Delta Storage]]&lt;br /&gt;
* [[Columnar Storage]]&lt;br /&gt;
* [[Transactions]]&lt;br /&gt;
&lt;br /&gt;
===== Optimizations =====&lt;br /&gt;
* [[In-Memory Compression, Columnar Compression Techniques]]&lt;br /&gt;
* [[Temporary Columns]]&lt;br /&gt;
* [[Data Auto Sharding and Auto Indexing]]&lt;br /&gt;
* [[Parallel Computing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from htop.png|center|frameless|2490x2490px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Further Reading ===&lt;br /&gt;
[https://github.org/launix-de/memcp MemCP on Github]&lt;br /&gt;
&lt;br /&gt;
==== Scientific ====&lt;br /&gt;
&lt;br /&gt;
* [https://www.vldb.org/pvldb/vol13/p2649-boncz.pdf VLDB Research Paper]&lt;br /&gt;
* [https://cs.emis.de/LNI/Proceedings/Proceedings241/383.pdf LNI Proceedings Paper]&lt;br /&gt;
* [https://wwwdb.inf.tu-dresden.de/wp-content/uploads/T_2014_Master_Patrick_Damme.pdf TU Dresden Research Paper]&lt;br /&gt;
* [https://www.dcs.bbk.ac.uk/~dell/teaching/cc/paper/sigmod10/p135-malewicz.pdf Large Graph Algorithms]&lt;br /&gt;
* https://wwwdb.inf.tu-dresden.de/research-projects/eris/&lt;br /&gt;
&lt;br /&gt;
==== How MemCP was built ====&lt;br /&gt;
&lt;br /&gt;
* [https://launix.de/launix/how-to-balance-a-database-between-olap-and-oltp-workflows/ Balancing OLAP and OLTP Workflows]&lt;br /&gt;
* [https://launix.de/launix/designing-a-programming-language-for-distributed-systems-and-highly-parallel-algorithms/ Designing Programming Languages for Distributed Systems]&lt;br /&gt;
* [https://launix.de/launix/on-designing-an-interface-for-columnar-in-memory-storage-in-golang/ Columnar Storage Interface in Golang]&lt;br /&gt;
* [https://launix.de/launix/how-in-memory-compression-affects-performance/ Impact of In-Memory Compression on Performance]&lt;br /&gt;
* [https://launix.de/launix/memory-efficient-indices-for-in-memory-storages/ Memory-Efficient Indices for In-Memory Storages]&lt;br /&gt;
* [https://launix.de/launix/on-compressing-null-values-in-bit-compressed-integer-storages/ Compressing Null Values in Bit-Compressed Integer Storages]&lt;br /&gt;
* [https://launix.de/launix/when-the-benchmark-is-too-slow-golang-http-server-performance/ Improving Golang HTTP Server Performance]&lt;br /&gt;
* [https://launix.de/launix/how-to-benchmark-a-sql-database/ Benchmarking SQL Databases]&lt;br /&gt;
* [https://launix.de/launix/writing-a-sql-parser-in-scheme/ Writing a SQL Parser in Scheme]&lt;br /&gt;
* [https://launix.de/launix/accessing-memcp-via-scheme/ Accessing memcp via Scheme]&lt;br /&gt;
* [https://launix.de/launix/memcp-first-sql-query-is-correctly-executed/ First SQL Query in memcp]&lt;br /&gt;
* [https://launix.de/launix/sequence-compression-in-in-memory-database-yields-99-memory-savings-and-a-total-of-13/ Sequence Compression in In-Memory Database]&lt;br /&gt;
* [https://launix.de/launix/storing-a-bit-smaller-than-in-one-bit/ Storing Data Smaller Than One Bit]&lt;br /&gt;
* [https://www.youtube.com/watch?v=DWg4nx4KVLo memcp Announcement Video]&lt;/div&gt;</summary>
		<author><name>Bnet</name></author>
	</entry>
	<entry>
		<id>https://www.memcp.org/index.php?title=Main_Page&amp;diff=100</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.memcp.org/index.php?title=Main_Page&amp;diff=100"/>
		<updated>2024-05-19T18:32:36Z</updated>

		<summary type="html">&lt;p&gt;Bnet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== What is memcp? ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fast:&#039;&#039;&#039; MemCP is built with parallelization in mind. The parallelization pattern is made for minimal overhead.&lt;br /&gt;
* &#039;&#039;&#039;efficient:&#039;&#039;&#039; The average compression ratio is 1:5 (80% memory saving) compared to MySQL/MariaDB&lt;br /&gt;
* &#039;&#039;&#039;modern:&#039;&#039;&#039; MemCP is built for modern hardware with caches, NUMA memory, multicore CPUs, NVMe SSDs&lt;br /&gt;
* &#039;&#039;&#039;versatile:&#039;&#039;&#039; Use it in big mainframes to gain analytical performance, use it in embedded systems to conserve flash lifetime&lt;br /&gt;
* Columnar storage: Stores data column-wise instead of row-wise, which allows for better compression, faster query execution, and more efficient use of memory.&lt;br /&gt;
* In-memory database: Stores all data in memory, which allows for extremely fast query execution.&lt;br /&gt;
* Build fast REST APIs directly in the database (they are faster because there is no network connection / SQL layer in between)&lt;br /&gt;
* OLAP and OLTP support: Can handle both online analytical processing (OLAP) and online transaction processing (OLTP) workloads.&lt;br /&gt;
* Compression: Lots of compression formats are supported like bit-packing and dictionary encoding&lt;br /&gt;
* Scalability: Designed to scale on a single node with huge NUMA memory&lt;br /&gt;
* Adjustable persistency: Decide whether you want to persist a table or not or to just keep snapshots of a period of time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;g29FR4Jwius&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=g29FR4Jwius&lt;br /&gt;
&lt;br /&gt;
=== Navigation ===&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
* [[What is OLTP and OLAP]]&lt;br /&gt;
* [[History of the MemCP project]]&lt;br /&gt;
* [[Hardware Requirements]]&lt;br /&gt;
* [[Persistency and Performance Guarantees]]&lt;br /&gt;
* [[Current Status and Open Issues]]&lt;br /&gt;
&lt;br /&gt;
==== Getting Started ====&lt;br /&gt;
* [[Install MemCP with Docker|With Docker]]&lt;br /&gt;
* [[With Singularity]]&lt;br /&gt;
* [[Compile MemCP from Source|Build from Source]]&lt;br /&gt;
* [[Introduction to Scheme]]&lt;br /&gt;
&lt;br /&gt;
==== Frontends ====&lt;br /&gt;
&lt;br /&gt;
===== SQL Frontend =====&lt;br /&gt;
* [[Supported SQL]]&lt;br /&gt;
* [[Replace MySQL with MemCP]]&lt;br /&gt;
* [[SQL over REST]]&lt;br /&gt;
* [[Database Tools compatibility with MemCP|Supported Tooling]]&lt;br /&gt;
* [[How SQL Operators are implemented on MemCP]]&lt;br /&gt;
&lt;br /&gt;
===== RDF Frontend =====&lt;br /&gt;
* [[Introduction to RDF]]&lt;br /&gt;
* [[RDF templating and model driven development]]&lt;br /&gt;
&lt;br /&gt;
===== Custom Frontends =====&lt;br /&gt;
&lt;br /&gt;
* [[In-Database WebApps|In-Database WebApps and REST Services]]&lt;br /&gt;
&lt;br /&gt;
==== Administration ====&lt;br /&gt;
&lt;br /&gt;
*[[Settings]]&lt;br /&gt;
* [[Process Hibernation]]&lt;br /&gt;
* [[Performance Measurement]]&lt;br /&gt;
&lt;br /&gt;
==== Internals ====&lt;br /&gt;
&lt;br /&gt;
===== How things work in MemCP =====&lt;br /&gt;
&lt;br /&gt;
*[[Databases, Tables and Columns]]&lt;br /&gt;
* [[Shards, RecordIDs, Main Storage, Delta Storage]]&lt;br /&gt;
* [[Columnar Storage]]&lt;br /&gt;
* [[Transactions]]&lt;br /&gt;
&lt;br /&gt;
===== Optimizations =====&lt;br /&gt;
* [[In-Memory Compression, Columnar Compression Techniques]]&lt;br /&gt;
* [[Temporary Columns]]&lt;br /&gt;
* [[Data Auto Sharding and Auto Indexing]]&lt;br /&gt;
* [[Parallel Computing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from htop.png|center|frameless|2490x2490px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Further Reading ===&lt;br /&gt;
[https://github.org/launix-de/memcp MemCP on Github]&lt;br /&gt;
&lt;br /&gt;
==== Scientific ====&lt;br /&gt;
&lt;br /&gt;
* [https://www.vldb.org/pvldb/vol13/p2649-boncz.pdf VLDB Research Paper]&lt;br /&gt;
* [https://cs.emis.de/LNI/Proceedings/Proceedings241/383.pdf LNI Proceedings Paper]&lt;br /&gt;
* [https://wwwdb.inf.tu-dresden.de/wp-content/uploads/T_2014_Master_Patrick_Damme.pdf TU Dresden Research Paper]&lt;br /&gt;
* [https://www.dcs.bbk.ac.uk/~dell/teaching/cc/paper/sigmod10/p135-malewicz.pdf Large Graph Algorithms]&lt;br /&gt;
* https://wwwdb.inf.tu-dresden.de/research-projects/eris/&lt;br /&gt;
&lt;br /&gt;
==== How MemCP was built ====&lt;br /&gt;
&lt;br /&gt;
* [https://launix.de/launix/how-to-balance-a-database-between-olap-and-oltp-workflows/ Balancing OLAP and OLTP Workflows]&lt;br /&gt;
* [https://launix.de/launix/designing-a-programming-language-for-distributed-systems-and-highly-parallel-algorithms/ Designing Programming Languages for Distributed Systems]&lt;br /&gt;
* [https://launix.de/launix/on-designing-an-interface-for-columnar-in-memory-storage-in-golang/ Columnar Storage Interface in Golang]&lt;br /&gt;
* [https://launix.de/launix/how-in-memory-compression-affects-performance/ Impact of In-Memory Compression on Performance]&lt;br /&gt;
* [https://launix.de/launix/memory-efficient-indices-for-in-memory-storages/ Memory-Efficient Indices for In-Memory Storages]&lt;br /&gt;
* [https://launix.de/launix/on-compressing-null-values-in-bit-compressed-integer-storages/ Compressing Null Values in Bit-Compressed Integer Storages]&lt;br /&gt;
* [https://launix.de/launix/when-the-benchmark-is-too-slow-golang-http-server-performance/ Improving Golang HTTP Server Performance]&lt;br /&gt;
* [https://launix.de/launix/how-to-benchmark-a-sql-database/ Benchmarking SQL Databases]&lt;br /&gt;
* [https://launix.de/launix/writing-a-sql-parser-in-scheme/ Writing a SQL Parser in Scheme]&lt;br /&gt;
* [https://launix.de/launix/accessing-memcp-via-scheme/ Accessing memcp via Scheme]&lt;br /&gt;
* [https://launix.de/launix/memcp-first-sql-query-is-correctly-executed/ First SQL Query in memcp]&lt;br /&gt;
* [https://launix.de/launix/sequence-compression-in-in-memory-database-yields-99-memory-savings-and-a-total-of-13/ Sequence Compression in In-Memory Database]&lt;br /&gt;
* [https://launix.de/launix/storing-a-bit-smaller-than-in-one-bit/ Storing Data Smaller Than One Bit]&lt;br /&gt;
* [https://www.youtube.com/watch?v=DWg4nx4KVLo memcp Announcement Video]&lt;/div&gt;</summary>
		<author><name>Bnet</name></author>
	</entry>
	<entry>
		<id>https://www.memcp.org/index.php?title=Main_Page&amp;diff=99</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.memcp.org/index.php?title=Main_Page&amp;diff=99"/>
		<updated>2024-05-19T18:32:11Z</updated>

		<summary type="html">&lt;p&gt;Bnet: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== What is memcp? ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fast:&#039;&#039;&#039; MemCP is built with parallelization in mind. The parallelization pattern is made for minimal overhead.&lt;br /&gt;
* &#039;&#039;&#039;efficient:&#039;&#039;&#039; The average compression ratio is 1:5 (80% memory saving) compared to MySQL/MariaDB&lt;br /&gt;
* &#039;&#039;&#039;modern:&#039;&#039;&#039; MemCP is built for modern hardware with caches, NUMA memory, multicore CPUs, NVMe SSDs&lt;br /&gt;
* &#039;&#039;&#039;versatile:&#039;&#039;&#039; Use it in big mainframes to gain analytical performance, use it in embedded systems to conserve flash lifetime&lt;br /&gt;
* Columnar storage: Stores data column-wise instead of row-wise, which allows for better compression, faster query execution, and more efficient use of memory.&lt;br /&gt;
* In-memory database: Stores all data in memory, which allows for extremely fast query execution.&lt;br /&gt;
* Build fast REST APIs directly in the database (they are faster because there is no network connection / SQL layer in between)&lt;br /&gt;
* OLAP and OLTP support: Can handle both online analytical processing (OLAP) and online transaction processing (OLTP) workloads.&lt;br /&gt;
* Compression: Lots of compression formats are supported like bit-packing and dictionary encoding&lt;br /&gt;
* Scalability: Designed to scale on a single node with huge NUMA memory&lt;br /&gt;
* Adjustable persistency: Decide whether you want to persist a table or not or to just keep snapshots of a period of time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;g29FR4Jwius&amp;lt;/youtube&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=g29FR4Jwius&lt;br /&gt;
&lt;br /&gt;
=== Navigation ===&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
* [[What is OLTP and OLAP]]&lt;br /&gt;
* [[History of the MemCP project]]&lt;br /&gt;
* [[Hardware Requirements]]&lt;br /&gt;
* [[Persistency and Performance Guarantees]]&lt;br /&gt;
* [[Current Status and Open Issues]]&lt;br /&gt;
&lt;br /&gt;
==== Getting Started ====&lt;br /&gt;
* [[Install MemCP with Docker|With Docker]]&lt;br /&gt;
* [[With Singularity]]&lt;br /&gt;
* [[Compile MemCP from Source|Build from Source]]&lt;br /&gt;
* [[Introduction to Scheme]]&lt;br /&gt;
&lt;br /&gt;
==== Frontends ====&lt;br /&gt;
&lt;br /&gt;
===== SQL Frontend =====&lt;br /&gt;
* [[Supported SQL]]&lt;br /&gt;
* [[Replace MySQL with MemCP]]&lt;br /&gt;
* [[SQL over REST]]&lt;br /&gt;
* [[Database Tools compatibility with MemCP|Supported Tooling]]&lt;br /&gt;
* [[How SQL Operators are implemented on MemCP]]&lt;br /&gt;
&lt;br /&gt;
===== RDF Frontend =====&lt;br /&gt;
* [[Introduction to RDF]]&lt;br /&gt;
* [[RDF templating and model driven development]]&lt;br /&gt;
&lt;br /&gt;
===== Custom Frontends =====&lt;br /&gt;
&lt;br /&gt;
* [[In-Database WebApps|In-Database WebApps and REST Services]]&lt;br /&gt;
&lt;br /&gt;
==== Administration ====&lt;br /&gt;
&lt;br /&gt;
*[[Settings]]&lt;br /&gt;
* [[Process Hibernation]]&lt;br /&gt;
* [[Performance Measurement]]&lt;br /&gt;
&lt;br /&gt;
==== Internals ====&lt;br /&gt;
&lt;br /&gt;
===== How things work in MemCP =====&lt;br /&gt;
&lt;br /&gt;
*[[Databases, Tables and Columns]]&lt;br /&gt;
* [[Shards, RecordIDs, Main Storage, Delta Storage]]&lt;br /&gt;
* [[Columnar Storage]]&lt;br /&gt;
* [[Transactions]]&lt;br /&gt;
&lt;br /&gt;
===== Optimizations =====&lt;br /&gt;
* [[In-Memory Compression, Columnar Compression Techniques]]&lt;br /&gt;
* [[Temporary Columns]]&lt;br /&gt;
* [[Data Auto Sharding and Auto Indexing]]&lt;br /&gt;
* [[Parallel Computing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from htop.png|center|frameless|2490x2490px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Further Reading ===&lt;br /&gt;
[https://github.org/launix-de/memcp MemCP on Github]&lt;br /&gt;
&lt;br /&gt;
==== Scientific ====&lt;br /&gt;
&lt;br /&gt;
* [https://www.vldb.org/pvldb/vol13/p2649-boncz.pdf VLDB Research Paper]&lt;br /&gt;
* [https://cs.emis.de/LNI/Proceedings/Proceedings241/383.pdf LNI Proceedings Paper]&lt;br /&gt;
* [https://wwwdb.inf.tu-dresden.de/wp-content/uploads/T_2014_Master_Patrick_Damme.pdf TU Dresden Research Paper]&lt;br /&gt;
* [https://www.dcs.bbk.ac.uk/~dell/teaching/cc/paper/sigmod10/p135-malewicz.pdf Large Graph Algorithms]&lt;br /&gt;
* https://wwwdb.inf.tu-dresden.de/research-projects/eris/&lt;br /&gt;
&lt;br /&gt;
==== How MemCP was built ====&lt;br /&gt;
&lt;br /&gt;
* [https://launix.de/launix/how-to-balance-a-database-between-olap-and-oltp-workflows/ Balancing OLAP and OLTP Workflows]&lt;br /&gt;
* [https://launix.de/launix/designing-a-programming-language-for-distributed-systems-and-highly-parallel-algorithms/ Designing Programming Languages for Distributed Systems]&lt;br /&gt;
* [https://launix.de/launix/on-designing-an-interface-for-columnar-in-memory-storage-in-golang/ Columnar Storage Interface in Golang]&lt;br /&gt;
* [https://launix.de/launix/how-in-memory-compression-affects-performance/ Impact of In-Memory Compression on Performance]&lt;br /&gt;
* [https://launix.de/launix/memory-efficient-indices-for-in-memory-storages/ Memory-Efficient Indices for In-Memory Storages]&lt;br /&gt;
* [https://launix.de/launix/on-compressing-null-values-in-bit-compressed-integer-storages/ Compressing Null Values in Bit-Compressed Integer Storages]&lt;br /&gt;
* [https://launix.de/launix/when-the-benchmark-is-too-slow-golang-http-server-performance/ Improving Golang HTTP Server Performance]&lt;br /&gt;
* [https://launix.de/launix/how-to-benchmark-a-sql-database/ Benchmarking SQL Databases]&lt;br /&gt;
* [https://launix.de/launix/writing-a-sql-parser-in-scheme/ Writing a SQL Parser in Scheme]&lt;br /&gt;
* [https://launix.de/launix/accessing-memcp-via-scheme/ Accessing memcp via Scheme]&lt;br /&gt;
* [https://launix.de/launix/memcp-first-sql-query-is-correctly-executed/ First SQL Query in memcp]&lt;br /&gt;
* [https://launix.de/launix/sequence-compression-in-in-memory-database-yields-99-memory-savings-and-a-total-of-13/ Sequence Compression in In-Memory Database]&lt;br /&gt;
* [https://launix.de/launix/storing-a-bit-smaller-than-in-one-bit/ Storing Data Smaller Than One Bit]&lt;br /&gt;
* [https://www.youtube.com/watch?v=DWg4nx4KVLo memcp Announcement Video]&lt;/div&gt;</summary>
		<author><name>Bnet</name></author>
	</entry>
	<entry>
		<id>https://www.memcp.org/index.php?title=File:JBL_2022_fhd_97974.jpg&amp;diff=26</id>
		<title>File:JBL 2022 fhd 97974.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.memcp.org/index.php?title=File:JBL_2022_fhd_97974.jpg&amp;diff=26"/>
		<updated>2024-05-16T13:04:04Z</updated>

		<summary type="html">&lt;p&gt;Bnet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bnet</name></author>
	</entry>
	<entry>
		<id>https://www.memcp.org/index.php?title=File:B-net.png&amp;diff=20</id>
		<title>File:B-net.png</title>
		<link rel="alternate" type="text/html" href="https://www.memcp.org/index.php?title=File:B-net.png&amp;diff=20"/>
		<updated>2024-05-15T12:26:08Z</updated>

		<summary type="html">&lt;p&gt;Bnet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bnet</name></author>
	</entry>
</feed>