Chapitre 18 Conformité, stockage & exploitation Admin : #pSystem

Moteurs de stockage (SQLite, MS SQL Server, PostgreSQL 18), clustering & outil de mise à jour

nextxch sépare proprement les métadonnées structurées et les index en texte intégral des blobs MIME dédupliqués par SHA-256 et compressés avec Zstandard (-62 % d'espace disque). Choisissez librement parmi trois moteurs SQL de premier plan, sans aucune dépendance à Redis, Elasticsearch ou Kafka.

Conseil d'exploitation & note d'architecture

Avant toute mise à jour sur place, l'outil de mise à jour intégré en 1 clic (#pSystem) vérifie cryptographiquement l'empreinte SHA-256 par rapport à SHA256SUMS.txt, tout en préservant strictement appsettings.Production.json, les certificats TLS et les données des boîtes aux lettres.

Exemple de configuration du stockage dans appsettings.Production.json

Choisissez 'Sqlite' (nœud unique), 'SqlServer' (Windows / Azure SQL) ou 'Postgres' (cluster HA Linux).

Référence / configuration
{
  "Storage": {
    "Provider": "SqlServer",
    "ConnectionString": "Server=sql01.intern;Database=nextxch;Integrated Security=True;TrustServerCertificate=True;",
    "BlobDirectory": "D:\\NextxchData\\blobs"
  }
}

Paramètres, valeurs par défaut & bonnes pratiques

Paramètre / emplacement Description Valeur par défaut Bonne pratique en production
SQLite WAL (Storage:Provider = Sqlite) Base de données embarquée sans configuration, fonctionnant en mode Write-Ahead-Logging (WAL), avec recherche FTS5 intégrée et aucun démon externe. Standard für Einzelserver Idéal pour les déploiements sur nœud unique jusqu'à ~250 boîtes aux lettres actives sur stockage SSD/NVMe local (ne placez jamais les fichiers SQLite WAL sur des partages réseau SMB/NFS !).
Microsoft SQL Server (SqlServer) Moteur Microsoft.Data.SqlClient de premier plan pour SQL Server 2019-2025, Express, Docker et Azure SQL, avec clustering sp_getapplock et recherche sans module complémentaire. READ_COMMITTED_SNAPSHOT auto Premier choix pour les infrastructures Windows Server : fonctionne immédiatement, même sur SQL Server Express, sans module complémentaire de recherche plein texte du système.
PostgreSQL 18 (Postgres) Moteur de cluster actif-actif à haut débit s'appuyant sur LISTEN/NOTIFY (push < 2 ms), des tables UNLOGGED et pg_try_advisory_lock. Empfohlen für Linux-Cluster Moteur de référence pour 500 à plus de 100 000 boîtes aux lettres et des clusters Linux/Kubernetes Active-Active multi-nœuds.
Deutsche Volltextsuche (alle drei Engines) Radicaux allemands (Snowball german2) dans une colonne séparée ou comme préfixe de jeton sur SQL Server, transcription des trémas (ae, oe, ue), mots composés et nouvelle tentative avec correction des fautes de frappe sur le vocabulaire de l'index en l'absence de résultats. Ohne Zusatzdienst La mesure avec des cas de test synthétiques en allemand se trouve dans le dépôt sous bench/ (rappel moyen de 87 %). Les parties de mots au milieu d'un mot composé ne sont pas trouvées ; il faudrait pour cela un dictionnaire.
1-Klick-System-Updater (#pSystem) Interroge /api/releases/latest, vérifie les sommes de contrôle SHA-256, prépare les binaires et redémarre le service Windows ou l'unité systemd en toute transparence. SHA-256-geprüft Déclenchez des mises à jour en 1 clic directement depuis #pSystem (ou via install.sh --update / l'assistant MSI) avec reconnexion automatique dès le démarrage de la nouvelle version.