Ridge Architecture d'exécution

Cette page mappe le runtime partagé par Ridge DB et Ridge Admin. Il est dérivé du courant ridged, ridge_pgwire, ridge_sql, ridge, et ridge-admin implémentations plutôt qu'à partir d'un modèle de base de données générique.

Ouvrez le Archify diagramme

La carte interactive fournit des composants consultables, un traçage d'itinéraire dirigé, des vues guidées pour le chemin de requête principal, des informations à distance SSH, durabilité et sécurité, dark/light thèmes, navigation au clavier et SVG ou exportation raster.

Carte du système

Browser
  │ HTTP on loopback
  ▼
Ridge Admin security gate
  │ authenticated API + workspace
  ▼
Ridge Admin services ──► four-connection pgwire pool
                              │
                              ├── local pgwire ─────────────────────┐
                              │                                     │
                              └── verified SSH direct-tcpip ────────┤
                                                                    ▼
                                                       ridged pgwire runtime
                                                                    │
                                                                    ▼
                                                       Ridge SQL session
                                                                    │
                                                                    ▼
                                                       Ridge core / MVCC
                                                                    │
                                                                    ▼
                                                       B+Trees + WAL + rows

Le chemin principal est volontairement étroit. Le navigateur ne reçoit jamais de socket de base de données ou SSH accréditation. Les profils locaux et distants convergent sur le même pgwire, SQL, transactions et contrats de stockage.

Composants d'exécution

Composant Responsabilité Implémentation canonique
Interface utilisateur du navigateur Explorateur d'objets, SQL espaces de travail, édition de données, opérations grove/apps/ridge-admin/static/
HTTP porte de sécurité Échange de lancement unique, cookie de session, CSRF, vérifications d'hôte et d'origine grove/apps/ridge-admin/src/main.sd, src/lib.sd
Services administratifs Profils, métadonnées, SQL exécution, édition, export, diagnostic grove/apps/ridge-admin/src/main.sd
Pgwire piscine Quatre connexions détenues, locations d'espaces de travail, transactions, annulation grove/apps/ridge-admin/src/lib.sd, grove/libs/pg
SSH transport Vérification de l'hôte connu, authentification, direct-tcpip, reconnexion et annulation des canaux grove/libs/ssh, grove/apps/ridge-admin/src/main.sd
ridged fil pg Écouteur de bouclage, TLS/password authentification, fragments de réacteur, files d'attente, annulation, coordination du stockage grove/libs/ridge_pgwire
Ridge SQL Analyse, classification, planification, exécution préparée, résultats et limites de travail grove/libs/ridge_sql
Ridge cœur Catalogue, schémas, MVCC, transactions, index, conflits, vide, sauvegarde et restauration grove/libs/ridge
Stockage durable Récursif B+Trees, CRC-32 logique WAL, codec row/schema génération 2 grove/libs/btree_store, grove/libs/wal, grove/libs/rowcodec

Flux de requête principal

  1. Ridge Admin lie son serveur HTTP à 127.0.0.1 et donne au navigateur un jeton de fragment unique.
  2. Le navigateur échange le fragment contre un HTTP-uniquement cookie de session et reçoit un jeton CSRF par session.
  3. Le répartiteur HTTP valide la taille de la demande, l'itinéraire, la méthode, l'hôte, l'origine, séance, CSRF et le type de contenu avant d'appeler un service.
  4. Un espace de travail SQL loue une connexion détenue à partir du pool de quatre connexions.
  5. Les profils locaux se connectent à ridged lors du bouclage. Les profils distants mettent le même protocole client via un canal SSH direct-tcpip vérifié sans ouvrir un écouteur de transfert.
  6. Un fragment de réacteur ridged valide le démarrage, TLS/authentication, le protocole cadres, instructions préparées, état du portail, pression de sortie et métadonnées d'annulation.
  7. Le coordinateur de stockage achemine la requête limitée vers un Ridge SQL séance.
  8. Ridge SQL analyse et planifie une instruction prise en charge, applique result/work limites et s’exécute à travers les Ridge noyau.
  9. Ridge le noyau s'applique MVCC visibilité, verrouillage, contraintes, index, WAL publication, B+Tree modifications, sommes de contrôle et fsync selon les besoins.
  10. Les résultats sont renvoyés via pgwire. Ridge Admin convertit le protocole limité frames to JSON or CSV and returns them to the browser.

Une écriture interrompue n'est jamais rejouée automatiquement. Ridge Admin marque un résultat ambigu comme incertain et nécessite une vérification par l'opérateur.

Modèle de concurrence

Le ridged persistant nécessite au moins deux ouvriers Seed. Il divise une partie de l'ensemble de travail en fragments de réacteur non bloquants et conserve la capacité pour les travaux de stockage. Chaque fragment possède son écouteur, sa dalle de connexion, son état de protocole, ses plans préparés, sa contre-pression de sortie, son jeton d'annulation et un lecteur d'instantanés en lecture seule. Les canaux délimités connectent les fragments au coordinateur de stockage.

Le coordinateur préserve la propriété des transactions, le regroupement des validations, le drainage des arrêts et le routage des annulations. Les lectures peuvent utiliser des instantanés indépendants ; les écritures durables passent toujours Ridge règles de détection et de publication des conflits.

Ridge Admin utilise spawn structuré pour les connexions HTTP limitées et un gestionnaire SSH détenu. L’état du serveur est propriétaire du pool, des baux de l’espace de travail, de l’annulation des requêtes actives, de l’état de reconnexion et du nettoyage déterministe.

Dépendances externes

Dépendance Utilisation de l'exécution Limite
OpenSSL 3 Serveur natif ridged Contexte et connexion TLS I/O Backend natif explicite lié à libssl et libcrypto
Runtime Seed hébergé Sockets, réacteur d'événements, signaux, planificateur de tâches, entropie, heure, fichiers, verrous et fsync Exécution spécifique à la plate-forme ABI
Système de fichiers du système d'exploitation Fichiers de base de données, WAL, catalogue, index, instantanés, sauvegardes, journaux, magasin de profils Racines absolues contrôlées par l'opérateur ou l'utilisateur
Navigateur Présentation, état d'affichage éphémère, brouillons locaux Non fiable par rapport à l'autorité du backend
SSH serveur et agent Identité de l'hôte, authentification, transport chiffré Vérifié avant le trafic de la base de données

Ridge ne dépend pas d'un PostgreSQL serveur. PostgreSQL la compatibilité est limitée au sous-ensemble de câbles documenté côté client.

Limites de sécurité

Navigateur vers Ridge Admin

Ridge Admin vers la base de données

SSH limite

ridged limite

Limite de stockage

Confinement des échecs

Échec Comportement de confinement
Malformé HTTP ou corps surdimensionné Erreur HTTP saisie avant l'envoi du service
Trame pgwire invalide ou protocole non pris en charge Erreur protocol/SQLSTATE délimitée et nettoyage de la connexion
Saturation ou délai d'attente de la file d'attente Rejet explicite ; pas de croissance illimitée de la file d'attente
Annulation du client Acheminé vers le propriétaire shard/session avant publication si possible
Interruption du réseau pendant l'écriture Résultat incertain ; pas de relecture automatique
Conflit de transactions Conflit déterministe sans publication partielle
Crash du processus Relecture logique WAL validée ; les travaux inédits restent invisibles
Corrompu WAL ou sauvegarde Checksum/integrity échec au lieu d’une acceptation silencieuse
Restaurer la collision ou la traversée La restauration hors ligne rejette la cible

Non-buts architecturaux

Cette carte n'implique pas un multi-utilisateur distant Ridge Admin service, général PostgreSQL administration, réplication, clustering, partitionnement, écouteur de base de données publique, SCRAM, identités de certificat, complet PostgreSQL catalogues, ou sans restriction driver/ORM compatibilité.

Provenance du diagramme

L'artefact interactif a été produit avec Archify 2.12 en mode Architecture en utilisant la présentation statique Classique et la porte de composition Showcase. Sa source typée est seed/docs/diagrams/ridge-runtime.architecture.json.

La carte s'appuie sur des preuves issues de l'inspection du référentiel, mais elle n'intègre pas intentionnellement les chemins de référentiel privés en tant que preuves sources cliquables. Les fichiers sources répertoriés ci-dessus restent les ancres de la révision.