• MariaDB 12.1 – Snabbare, smartare och mer kompatibel

    MariaDB 12.1.2 markerar den första stabila utgåvan i den nya 12.1-serien och introducerar flera betydande förbättringar inom prestanda, skalbarhet och kompatibilitet. Uppdateringen stärker både Aria-lagringsmotorn och metadatahanteringen, förbättrar Galera-replikering och minskar resursbelastningen vid loggning. Dessutom utökas stödet för MySQL- och Oracle-funktioner, vilket gör versionen särskilt intressant för organisationer som arbetar med migrering eller optimering av databasmiljöer.


    MariaDB har släppt version 12.1.2, den första stabila utgåvan i 12.1-serien. Uppdateringen fokuserar på prestanda, skalbarhet och förbättrad kompatibilitet med MySQL och Oracle. Nedan följer en genomgång av de viktigaste nyheterna i ett populärvetenskapligt format.

    Prestandaförbättringar

    Aria-lagringsmotorn har fått stöd för segmenterad key cache. Med den nya systemvariabeln aria_pagecache_segments kan caching delas upp i upp till 128 segment, vilket ökar parallelliseringsförmågan av indexhantering. Detta kan ge märkbara prestandaförbättringar vid intensiva sök- och skrivoperationer.

    Metadata-låsning (MDL) har justerats för bättre skalbarhet. Det minskar risken för låskonflikter vid många samtidiga DDL- och DML-operationer.

    Beräkningar av vektoravstånd vid extrapoleringsbaserade operationer har optimerats, vilket ger snabbare svarstider i analyser och AI-relaterade arbetsflöden.

    Förbättringar i Galera-replikering

    Det går nu att använda asynkron replikering mellan två Galera-kluster med möjlighet till parallell replikeringsbearbetning. Den nya systemvariabeln wsrep_applier_retry_count styr hur många gånger ett write set kan återförsökas innan operationen avbryts.

    Förbättringar i optimeraren

    Audit-pluginet kan nu använda buffrad loggning. Det minskar I/O-belastningen genom att loggar tillfälligt lagras i minne innan de skrivs till disk. Storleken på bufferten anges med server_audit_file_buffer_size.

    Utökad kompatibilitet med MySQL och Oracle

    MariaDB 12.1 innehåller flera förbättringar som underlättar migrering från andra databassystem.

    • Autentiseringspluginet caching_sha2_password stöds nu, vilket ökar kompatibiliteten med MySQL.
    • Den Oracle-inspirerade yttersammanslagningen med syntaxen ( + ) stöds nu i Oracle-läge.
    • Associativa arrayer kan skapas med DECLARE TYPE … TABLE OF … INDEX BY.
    • Kommandot DROP USER ger som standard en varning om det finns aktiva sessioner. I Oracle-läge resulterar det i ett fel.

    Förbättringar i optimeraren

    Optimeraren har fått flera nya hints som ger mer kontroll över hur frågor exekveras. Bland stöden finns möjligheter att styra indexanvändning, sammanslagningar och materialiseringsbeteende.

    Funktionella index kan nu användas i GROUP BY– och ORDER BY-operationer, vilket öppnar upp för mer avancerade och samtidigt effektiva frågekonstruktioner.

    Förbättringar i optimeraren

    • mariadb-dump stöder nu wildcard-filtrering via flaggorna -L och –wildcards.
    • Utländska nyckelnamn behöver inte längre vara unika i hela databasen. Kravet gäller numera endast per tabell, vilket underlättar flexibel schemadesign.
    • Galera-noder kan återförsöka applicering av write sets med samma variabel som styr replikering.
    • Optimizer trace innehåller nu även tabell- och vydefinitioner via variabeln optimizer_record_context.

    Sammanfattning

    OmrådeFörbättring
    PrestandaSegmenterad key cache, optimerad MDL, snabbare vektorberäkningar
    SkalbarhetParallell och asynkron Galera-replikering
    StabilitetBuffrad loggning och förbättrad återhämtning vid replikering
    KompatibilitetStöd för MySQL-autentisering och Oracle-baserad syntax
    OptimeringNya optimeringshints samt stöd för funktionella index
    VerktygWildcard-stöd i mariadb-dump

    Avslutande kommentar

    MariaDB 12.1.2 representerar ett tydligt steg framåt både tekniskt och funktionellt. För system med hög belastning, avancerad frågeoptimering eller beroenden mot MySQL- eller Oracle-infrastruktur kan denna version innebära en märkbar förbättring. Uppgradering rekommenderas särskilt i miljöer med komplex databasstruktur eller klustrad drift.

    https://mariadb.com

    MariaDB 12.1 – teknisk översikt

    Version: MariaDB 12.1.2 (första stabila 12.1-utgåvan)

    Inriktning: Prestanda, skalbarhet, kompatibilitet (MySQL/Oracle)

    Prestanda och skalbarhet

    • Segmenterad key cache i Aria via aria_pagecache_segments (1–128 segment)
    • Förbättrad MDL (Metadata Locking) för fler samtidiga DDL/DML-operationer
    • Snabbare vektoravståndsberäkningar (extrapoleringsbaserade operationer)

    Galera-kluster

    • Asynkron replikering mellan två Galera-kluster med parallell apply
    • Återförsök av write sets via wsrep_applier_retry_count

    Loggning och audit

    • Buffrad audit-loggning för minskad I/O
    • Buffertstorlek styrs av server_audit_file_buffer_size

    Kompatibilitet

    • Nytt autentiseringsplugin: caching_sha2_password (MySQL-kompatibilitet)
    • Stöd för ( + ) outer join i Oracle-läge
    • Associativa arrayer: DECLARE TYPE .. TABLE OF .. INDEX BY
    • DROP USER varnar vid aktiva sessioner (fel i Oracle-läge)

    Optimerare och index

    • Nya optimizer hints, t.ex. [NO_]JOIN_INDEX, [NO_]GROUP_INDEX, [NO_]ORDER_INDEX, [NO_]INDEX
    • Ytterligare hints: [NO_]SPLIT_MATERIALIZED, [NO_]DERIVED_CONDITION_PUSHDOWN, [NO_]MERGE
    • Funktionella index kan användas i GROUP BY och ORDER BY

    Övrigt

    • mariadb-dump stöder wildcards via -L och --wildcards
    • Foreign key-namn behöver bara vara unika per tabell, inte per databas
    • optimizer_record_context styr om tabell- och vydefinitioner inkluderas i optimizer trace
  • Installera Wiki.js på debian eller Ubuntu

    Introduktion

    Wiki.js är en modern, snabb och modulär wiki-mjukvara med öppen källkod. Den bygger på Node.js, lagrar innehåll i Git och Markdown och stöder flera databasmotorer som PostgreSQL, MySQL och SQLite. Wiki.js kan distribueras lokalt, i molnet eller i containermiljöer (Docker/Kubernetes), och stöder autentisering via LDAP, OAuth2, SAML med flera.

    I denna guide installerar vi Wiki.js på Debian 12 eller Ubuntu 22.04, med val mellan PostgreSQL eller MySQL som databas, och Nginx eller Apache som webbserver. Vi visar också hur du aktiverar SSL med Let’s Encrypt.

    Förutsättningar

    • En Debian- eller Ubuntu-server med root eller sudo
    • Ett domännamn som pekar till servern (exempel: wiki.example.com)
    • Portarna 80 och 443 öppna i brandväggen

    Steg 1: Installera Node.js

    Wiki.js kräver Node.js version 16 eller senare. Här använder vi version 18:

    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
    sudo apt install -y nodejs
    

    Bekräfta installationen:

    node -v
    

    Steg 2: Installera databas

    Alternativ A: PostgreSQL (rekommenderat)

    sudo apt install -y postgresql postgresql-contrib
    sudo -u postgres psql
    

    Inuti psql:

    CREATE DATABASE wikijs;
    CREATE USER wikijs WITH PASSWORD 'sakerlösenord';
    ALTER ROLE wikijs SET client_encoding TO 'utf8';
    ALTER ROLE wikijs SET default_transaction_isolation TO 'read committed';
    ALTER ROLE wikijs SET timezone TO 'UTC';
    GRANT ALL PRIVILEGES ON DATABASE wikijs TO wikijs;
    \q
    

    Alternativ B: MySQL / MariaDB

    sudo apt install -y mariadb-server
    sudo mysql -u root -p
    

    Inuti MySQL:

    CREATE DATABASE wikijs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'wikijs'@'localhost' IDENTIFIED BY 'sakerlösenord';
    GRANT ALL PRIVILEGES ON wikijs.* TO 'wikijs'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    

    Steg 3: Installera Wiki.js

    sudo mkdir -p /opt/wikijs && cd /opt/wikijs
    sudo curl -s https://wiki.js.org/install.sh | sudo bash
    

    Fyll i databasuppgifter beroende på om du använder PostgreSQL eller MySQL.

    Steg 4: Testa att Wiki.js kör lokalt

    ss -tulpn | grep 3000
    

    Om Wiki.js körs, visas att Node.js lyssnar på 127.0.0.1:3000.

    Steg 5: Reverse proxy med Nginx eller Apache

    Alternativ A: Nginx

    sudo apt install -y nginx
    sudo nano /etc/nginx/sites-available/wikijs
    

    Innehåll:

    server {
        listen 80;
        server_name wiki.example.com;
    
        location / {
            proxy_pass http://127.0.0.1:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
    sudo ln -s /etc/nginx/sites-available/wikijs /etc/nginx/sites-enabled
    sudo nginx -t && sudo systemctl reload nginx
    

    Alternativ B: Apache

    sudo apt install -y apache2
    sudo a2enmod proxy proxy_http proxy_wstunnel rewrite headers
    

    Skapa konfiguration:

    sudo nano /etc/apache2/sites-available/wikijs.conf
    

    Innehåll:

    <VirtualHost *:80>
        ServerName wiki.example.com
    
        ProxyPreserveHost On
        ProxyRequests Off
        ProxyPass / http://127.0.0.1:3000/
        ProxyPassReverse / http://127.0.0.1:3000/
    
        ErrorLog ${APACHE_LOG_DIR}/wikijs.error.log
        CustomLog ${APACHE_LOG_DIR}/wikijs.access.log combined
    </VirtualHost>
    
    sudo a2ensite wikijs.conf
    sudo systemctl reload apache2
    

    Steg 6: Aktivera HTTPS med Let’s Encrypt

    Installera Certbot:

    sudo apt install -y certbot python3-certbot-nginx python3-certbot-apache
    

    För Nginx:

    sudo certbot --nginx -d wiki.example.com
    

    För Apache:

    sudo certbot --apache -d wiki.example.com
    

    Testa automatisk förnyelse:

    sudo certbot renew --dry-run
    

    Steg 7: Slutför installationen i webbläsaren

    Öppna din webbläsare och gå till:

    https://wiki.example.com
    

    Skapa administratörsanvändare och slutför konfigurationen.

    Slutsats

    Du har nu installerat Wiki.js på Debian eller Ubuntu med PostgreSQL eller MySQL, samt Apache eller Nginx som reverse proxy. Med Let’s Encrypt är installationen säkrad via HTTPS. Wiki.js är redo att användas för både intern dokumentation och publika kunskapsbaser.

    Glöm inte att hålla systemet uppdaterat och konfigurera regelbundna säkerhetskopior.

    Mer information och dokumentation: https://docs.requarks.io/

    Fakta om Wiki.js

    Wiki.js är en modern wiki-motor med öppen källkod, utvecklad av Requarks. Den första versionen lanserades 2016 och har sedan dess blivit ett populärt val för både organisationer och enskilda användare som behöver en effektiv dokumentationsplattform.

    Funktioner

    • Byggd med Node.js för hög prestanda och låg resursförbrukning.
    • Stöd för databaser som PostgreSQL, MySQL och SQLite.
    • Versionshantering via Git – dokumenthistorik kan spåras och återskapas.
    • Modulbaserad arkitektur – välj själv vilka funktioner som ska aktiveras.
    • Stöd för användarautentisering via LDAP, OAuth2, SAML med flera.
    • Webbgränssnittet är responsivt och fungerar både på dator och mobil.
    • Kan installeras på egen server, i molnmiljö eller med Docker/Kubernetes.

    Vad är Markdown?

    Markdown är ett enkelt markeringsspråk som gör det möjligt att skriva strukturerad text med minimal syntax. Det används i Wiki.js för att skapa och redigera innehåll utan att behöva skriva HTML. Nedan är ett exempel:

    # Rubriknivå 1
    ## Rubriknivå 2
    
    **Fet text**, _kursiv text_
    
    - Punkt 1
    - Punkt 2
    
    [Länktext](https://exempel.se)
      

    Markdown är läsbart även i råform, vilket gör det smidigt att hantera dokument både via webben och i Git-repositorier.

    Mer information finns på js.wiki och daringfireball.net.

Etikett: databasmotor

  • MariaDB 12.1 – Snabbare, smartare och mer kompatibel

    MariaDB 12.1.2 markerar den första stabila utgåvan i den nya 12.1-serien och introducerar flera betydande förbättringar inom prestanda, skalbarhet och kompatibilitet. Uppdateringen stärker både Aria-lagringsmotorn och metadatahanteringen, förbättrar Galera-replikering och minskar resursbelastningen vid loggning. Dessutom utökas stödet för MySQL- och Oracle-funktioner, vilket gör versionen särskilt intressant för organisationer som arbetar med migrering eller optimering av…

  • Installera Wiki.js på debian eller Ubuntu

    Introduktion Wiki.js är en modern, snabb och modulär wiki-mjukvara med öppen källkod. Den bygger på Node.js, lagrar innehåll i Git och Markdown och stöder flera databasmotorer som PostgreSQL, MySQL och SQLite. Wiki.js kan distribueras lokalt, i molnet eller i containermiljöer (Docker/Kubernetes), och stöder autentisering via LDAP, OAuth2, SAML med flera. I denna guide installerar vi…