Ridge DB Architecture
Ridge est une base de données limitée à nœud unique conçue pour la propriété déterministe, la récupération et les limites explicites. Les mêmes contrats de stockage, de schéma, de transaction et SQL sont partagés par le service API et pgwire intégré.
Pour le processus complet et la vue des limites de confiance, consultez le Ridge architecture d'exécution et son interactif Archify carte.
Modèles de processus
| Modèle | Utiliser |
|---|---|
Bibliothèque ridge intégrée |
Un processus seed possède l'accès à la base de données |
ridged |
Service pgwire de bouclage pour les outils et les pilotes d'application |
| Ridge Admin | Interface utilisateur du navigateur local dont le backend seed possède pgwire et SSH |
ridged n’est pas destiné à être écouté sur une interface publique. Accédez à un service de bouclage distant via vérifié SSH direct-tcpip.
Stockage
Catalogue de magasin B+Trees récursif persistant, données de table, d'en-tête de version, de version et d'index. Les lignes et schémas de génération 2 contiennent des identifiants stables, des métadonnées de type, des limites et des sommes de contrôle. Les index généraux utilisent des clés composites ordonnées ; les entrées dérivées peuvent être reconstruites à partir d’un état validé faisant autorité.
Chaque limite configurée fait partie du comportement. Les lignes, messages, jeux de résultats, clés d'index ou structures non prises en charge surdimensionnés renvoient une erreur explicite plutôt que de croître sans limite.
Durabilité et récupération
Ridge utilise un CRC-32 logique WAL. Commit persiste la transaction avant que la publication ne soit reconnue. Récupération :
- valide le cadrage, la séquence et les sommes de contrôle WAL ;
- ignore les travaux inédits ou non engagés ;
- rejoue les transactions validées de manière idempotente ;
- répare une queue déchirée appuyée ;
- reconstruit les têtes et index dérivés ;
- rejette la corruption en milieu de journal.
Il s'agit d'un contrat de récupération logique, non PostgreSQL physique WAL compatibilité.
MVCC et transactions
Ridge conserve les identifiants persistants de transaction et de validation ainsi qu'un filigrane de validation visible. Les instantanés de lecture validés et répétables épinglés avec actualisation des instructions utilisent les mêmes règles de visibilité pour les analyses, les clés, les index, SQL, la sauvegarde et pgwire.
Des écrivains disjoints peuvent mettre en scène simultanément. La validation de la tête attendue et de la clé unique produit des conflits déterministes lorsque les états se chevauchent. Les transactions atomiques multi-tables permettent la lecture de vos écritures et la restauration des instructions. SELECT ... FOR UPDATE utilise le verrouillage non bloquant limité et renvoie SQLSTATE 55P03 en cas de conflit.
Vide et entretien
Vacuum protège l'instantané en direct le plus ancien, recâble les chaînes de versions conservées et réutilise les pages libres limitées. La maintenance Online/incremental est limitée aux opérations Ridge documentées. Ne modifiez pas directement les fichiers de stockage.
Charges de travail spécialisées
Les packages v0.3 ajoutent le modèle canonique JSON, des analyses et des fenêtres limitées, un stockage de séries chronologiques, une recherche en texte intégral et une recherche vectorielle HNSW exacte et limitée. Il s’agit d’implémentations limitées natives de Ridge, et non de couches de compatibilité d’extension.
Preuve
L'architecture est fermée par des portes de crash, de récupération, de migration, de différentiel, d'isolation, de concurrence, de sauvegarde, de vide et de réouverture. Voir grove/apps/ridge/V3_CONTRACT.md, CAPABILITIES.md, et les testeurs V3 pour les détails normatifs.