All public logs
Jump to navigation
Jump to search
Combined display of all available logs of MemCP. You can narrow down the view by selecting a log type, the username (case-sensitive), or the affected page (also case-sensitive).
- 20:58, 31 August 2025 Carli talk contribs created page File System (Created page with "In the file system persistency layer, each subfolder of your data folder is a database. Each folder has the following files: * schema.json - list of all tables, columns, keys and shards; is updated every time a shard is added or removed or the schema changes * schema.json.old - fallback file for crash recovery * [uuid]-[columnname] - the content of a column (in case the ENGINE is not MEMORY) * [uuid].log - transaction log in c...") Tag: Visual edit
- 20:50, 31 August 2025 Carli talk contribs created page Cluster Monitor (Created page with "The cluster monitor lets you scale out MemCP over multiple nodes. Here is what you can achieve: * '''Multiple users''': each user has his own database * '''One big user''': Big tables are spread over multiple nodes * A mixture of both variants Each database and each shard (the piece where a part of a table's data is stored) can be placed either: * '''COLD''': only in storage backend * '''SHARED''': read-only on multiple nodes (e.g. the access table) * '''WRITE''': exc...") Tag: Visual edit
- 20:10, 25 August 2025 Carli talk contribs created page Storage (Created page with "= Storage = The '''Storage''' module provides functions to manage databases, tables, columns, keys, partitions, and large data operations in SCM. ← Back to Full SCM API documentation == scan == Performs an unordered parallel filter-map-reduce on a table '''Allowed number of parameters:''' 6–10 '''Parameters:''' * '''schema''' (<code>string|nil</code>): database name * '''table''' (<code>string|list</code>): table name(s) * '''filterColumns''' (<code>list</c...")
- 20:09, 25 August 2025 Carli talk contribs created page IO (Created page with "= IO = The '''IO''' module provides functions for input and output operations, environment handling, file streaming, server control, and argument parsing in SCM. ← Back to Full SCM API documentation == print == Prints values to stdout (only in IO environment) '''Allowed number of parameters:''' 1–1000 '''Parameters:''' * '''value...''' (<code>any</code>): values to print '''Returns:''' <code>bool</code> == env == returns the content of a environment vari...") Tag: Visual edit: Switched
- 18:13, 25 August 2025 Carli talk contribs changed group membership for Aiagent from administrator to administrator and bot
- 18:12, 25 August 2025 Carli talk contribs changed group membership for Aiagent from bot and administrator to administrator
- 18:06, 25 August 2025 Carli talk contribs created page Full SCM API documentation (Created page with "= Documentation = * SCM Builtins * Arithmetic / Logic * Strings * Streams * Lists * Associative Lists / Dictionaries * Date * Vectors * Parsers * Sync * IO * Storage")
- 15:19, 25 August 2025 Carli talk contribs changed group membership for Aiagent from (none) to bot and administrator
- 21:06, 22 August 2025 Carli talk contribs created page Dictionary Compression (Created page with "Strings are the nightmare of every database. You never know their exact size and you have to either reference them in a separate storage or reserve enough character space to store them in-table. Columnar databases can do better. But that's not guaranteed, you have to put a bit of extra effort into it. Here's how: At first, memcp converts strings into dictionaries. If you have a large list consisting of [Male, Male, Male, Female, Male, Female, Male, Male], you only have...") Tag: Visual edit
- 14:59, 15 June 2025 Carli talk contribs created page Add custom SQL operators to MemCP (Created page with "Some special applications need user defined custom functions. You can define them in scheme like: (sql_builtins "ADD_1" (lambda (x) (+ x 1))) Now you can call the function by: SELECT ADD_1(4) AS result") Tag: Visual edit
- 22:45, 19 December 2024 Carli talk contribs created page Comparison: MemCP vs. MySQL (Created page with "MemCP has the following advantages over MySQL: * No 64 character limit for column names * uses only 20% of storage compared to InnoDB and MyISAM storage format * supports natural sort (1, 2, 10, 11 instead of 1, 10, 11, 2) with collations * Up to 10x faster query performance for aggregations") Tag: Visual edit
- 21:33, 10 December 2024 Carli talk contribs created page MemCP for Microservices (Created page with "MemCP is a neat database to implement microservices. Here's a code example for a simple key value store: microservice democase: a simple key value store with prepared statements: (import "../lib/sql-parser.scm") (import "../lib/queryplan.scm") initialize database and prepare sql statements: (createdatabase "keyvalue" true) (eval (parse_sql "keyvalue" "CREATE TABLE IF NOT EXISTS kv(key TEXT, value TEXT, UNIQUE KEY PRIMARY(key))")) (set item_get (par...") Tag: Visual edit
- 21:01, 20 November 2024 Carli talk contribs created page MemCP Console (Created page with "There are two ways to access MemCP Scheme Console: a) if you run <code>memcp</code>in the console, just type in your scheme commands b) if you run <code>memcp</code>in docker or pm2 where you don't have access to the console, open a MySQL connection and type <code>SET syntax = 'scheme';</code>and then type in your commands followed by <code>;.</code> In option b) it might be that some commands like (help) output to memcp console instead of your mysql shell. So better...") Tag: Visual edit
- 20:15, 20 November 2024 Carli talk contribs created page Migration from MySQL and PostgreSQL (Created page with "thumb|none|640x640px ===Connection to MemCP via MySQL Connector=== MemCP can be connected with any compatible MySQL connector: $db = new \PDO<code>"mysql:host=localhost;port=3307;dbname=system", 'root', 'admin');</code> echo $db->query("SELECT 'it works'")->fetchColumn(); // outouts: it works ===Import data from MySQL and PostgreSQL=== To import data from MySQL into MemCP, you have to perform the following command in<code>memcp</code>console: (l...") Tag: Visual edit
- 20:12, 20 November 2024 Carli talk contribs deleted page Replace MySQL with MemCP (content was: "thumb|none|640x640px === Connection to MemCP === MemCP can be connected with any compatible MySQL connector: $db = new \PDO<code>"mysql:host=localhost;port=3307;dbname=system", 'root', 'admin');</code> echo $db->query("SELECT 'it works'")->fetchColumn(); // outouts: it works === Import data from MySQL === To import data from MySQL into MemCP, you have to per...", and the only contributor was "Carli" (talk))
- 20:10, 19 November 2024 Carli talk contribs created page Deployment (Created page with "MemCP is relatively easy to deploy. It only requires minimal system requirements (some 10-20 Megabytes of RAM for the base system). There are two deployment methods: === Deployment via pm2 (preferred) === To run memcp, just follow these commands: git clone https://github.com/launix-de/memcp cd memcp go get make # make sure, go is installed pm2 start ./memcp -data ./data/ # use a different path than ./data if you wish; install pm2 If you want to update memcp, just r...") Tag: Visual edit
- 12:36, 31 October 2024 Carli talk contribs undeleted page File:Ports.svg (1 revision and 1 file)
- 12:34, 31 October 2024 Carli talk contribs deleted page File:Https---www.memcp.org-images-0-03-Webapps with MemCP.svg
- 12:31, 31 October 2024 Carli talk contribs created page File:Https---www.memcp.org-images-0-03-Webapps with MemCP.svg
- 12:31, 31 October 2024 Carli talk contribs uploaded File:Https---www.memcp.org-images-0-03-Webapps with MemCP.svg
- 12:27, 31 October 2024 Carli talk contribs uploaded File:Webapps.svg
- 12:27, 31 October 2024 Carli talk contribs created page File:Webapps.svg
- 12:23, 31 October 2024 Carli talk contribs uploaded File:Webapps with MemCP.svg
- 12:23, 31 October 2024 Carli talk contribs created page File:Webapps with MemCP.svg
- 12:21, 31 October 2024 Carli talk contribs deleted page File:Webapps with MemCP.svg
- 12:21, 31 October 2024 Carli talk contribs deleted page File:Ports.svg
- 12:19, 31 October 2024 Carli talk contribs created page File:Webapps with MemCP.svg
- 12:19, 31 October 2024 Carli talk contribs uploaded File:Webapps with MemCP.svg
- 12:18, 31 October 2024 Carli talk contribs deleted page File:MemCP Webapps.png
- 12:04, 31 October 2024 Carli talk contribs uploaded File:Ports.svg
- 12:04, 31 October 2024 Carli talk contribs created page File:Ports.svg
- 12:00, 31 October 2024 Carli talk contribs created page Replace MySQL with MemCP (Created page with "thumb === Connection to MemCP === MemCP can be connected with any compatible MySQL connector: $db = new \PDO<code>"mysql:host=localhost;port=3307;dbname=system", 'root', 'admin');</code>") Tag: Visual edit
- 11:55, 31 October 2024 Carli talk contribs uploaded File:MemCP Port.png
- 11:55, 31 October 2024 Carli talk contribs created page File:MemCP Port.png
- 11:50, 31 October 2024 Carli talk contribs created page File:MemCP Webapps.png
- 11:50, 31 October 2024 Carli talk contribs uploaded File:MemCP Webapps.png
- 11:48, 31 October 2024 Carli talk contribs uploaded File:Webapps.png
- 11:48, 31 October 2024 Carli talk contribs created page File:Webapps.png
- 22:54, 8 October 2024 Carli talk contribs created page Websockets in MemCP (Created page with "In MemCP, you can call <code>(set send ((res "websocket") onReceiveFunction onCloseFunction))</code>to upgrade a http session into a websocket (<code>res</code> is the response object from your http handler, see serve). The <code>onReceiveFunction</code> will take message as it's parameter. <code>onCloseFunction</code> will be called when the socket is closed. You can call <code>(send 1 "my message")</code> to send a string to th...") Tag: Visual edit
- 07:38, 3 June 2024 Carli talk contribs created page File:Explainer.png
- 07:38, 3 June 2024 Carli talk contribs uploaded File:Explainer.png
- 14:20, 26 May 2024 Carli talk contribs created page Advanced Graph Querying (Created page with "== Property Paths == see also: https://en.wikibooks.org/wiki/SPARQL/Property_paths TODO for MemCP: * property/propertypath * propertypath*, propertypath+ (mark&sweep, then iterate over the results) * property? * (propertypath) * ^property (inverse path)") Tag: Visual edit
- 14:12, 20 May 2024 Carli talk contribs created page Contributing (Created page with "Here's how you can contribute: * Go to https://github.com/launix-de/memcp * Build From Source * Add unit tests * Implement more SQL Syntax * Find and report Bugs * Add Passes to the Optimizer") Tag: Visual edit
- 14:02, 20 May 2024 Carli talk contribs created page Database Tools compatibility with MemCP (Created page with "== PHPMyAdmin == no support yet. Read more under: Contributing == DBeaver == Support for: * List Databases * List Tables") Tag: Visual edit
- 12:54, 20 May 2024 Carli talk contribs created page Scan (Created page with "Scan is the most important function in whole MemCP. It implements an optimized, indexed and parallelized <code>for</code> loop over items in a table. There are two variants of scan: <code>scan</code> and <code>scan_order</code>. == (scan schema table filterColumns filter mapColumns map reduce neutral reduce2 isOuter) == Help for: scan === does an unordered parallel filter-map-reduce pass on a single table and returns the reduced result Allowed nø of parameters...") Tag: Visual edit
- 12:41, 20 May 2024 Carli talk contribs created page Data Auto Sharding and Auto Indexing (Created page with "== Auto-Indexing == == Auto-Sharding ==") Tag: Visual edit
- 11:55, 20 May 2024 Carli talk contribs created page Advanced SQL Tutorial (Created page with "== Atomic Counters through Unique Key Checks == Imagine the following table: CREATE TABLE u(id INT PRIMARY KEY, cnt INT); INSERT INTO u VALUES (1, 2), (2, 4); SELECT * FROM u; +------+------+ | id | cnt | +------+------+ | 1 | 2 | | 2 | 4 | +------+------+ '''3 rows in set (0,001 sec)''' If you want to add to <code>cnt</code> whenever an event occurs, add a unique key over <code>id</code> and do the following: INSERT INTO u VALUES (2, 1) O...") Tag: Visual edit
- 15:46, 19 May 2024 Carli talk contribs moved page In-Database WebApps to In-Database WebApps and REST Services
- 11:08, 19 May 2024 Carli talk contribs created page In-Database WebApps (Created page with "In-Database WebApps are a huge game changer in REST API performance since the web app runs in the same context as the == REST Endpoint setup == You basically set up a REST endpoint by overwriting the <code>http_handler</code> variable in the global scope. Best practice is here to overload http_handler, store the old handler in <code>old_handler</code> and cascade the router with a prefix: (define http_handler (begin (set old_handler (coalesce http_handler han...") Tag: Visual edit
- 10:47, 19 May 2024 Carli talk contribs created page SQL over REST (Created page with "There are two methods to do SQL over REST: a) GET method: <code>curl <nowiki>http://root:admin@localhost:4321/sql/</nowiki>[SCHEMA]/[SQL_QUERY]</code> b) POST method: <code>curl -X POST -d '[SQL_QUERY]' <nowiki>http://root:admin@localhost:4321/sql/</nowiki>[SCHEMA]</code> == JSONL results == The result is a <code>jsonl</code> document containing the result lines: curl -X POST -d 'select a, sum(b) as sum_b from a group by a' <nowiki>http://root:admin@localhost:4321/sq...") Tag: Visual edit