Ridge DB Architettura
Ridge è un database a nodo singolo delimitato progettato per proprietà deterministica, ripristino e limiti espliciti. Gli stessi contratti di archiviazione, schema, transazione e SQL sono condivisi dal servizio API incorporato e pgwire.
Per il processo completo e la visualizzazione dei limiti di attendibilità, vedere la Ridge architettura di esecuzione ed è interattivo Archify mappa.
Modelli di processo
| Modello | Utilizzare |
|---|---|
Libreria ridge incorporata |
Un processo seed possiede l'accesso al database |
ridged |
Servizio pgwire di loopback per strumenti e driver delle applicazioni |
| Ridge Admin | Interfaccia utente del browser locale il cui backend seed possiede pgwire e SSH |
ridged non è destinato all'ascolto su un'interfaccia pubblica. Raggiungi un servizio di loopback remoto tramite verificato SSH direct-tcpip.
Stoccaggio
Ricorsivo persistente B+Trees archiviare dati di catalogo, tabella, intestazione versione, versione e indice. Le righe e gli schemi di seconda generazione contengono identificatori stabili, metadati di tipo, limiti e checksum. Gli indici generali utilizzano chiavi composte ordinate; le voci derivate possono essere ricostruite dallo stato impegnato autorevole.
Ogni limite configurato fa parte del comportamento. Righe, messaggi, set di risultati, chiavi di indice o strutture non supportate di grandi dimensioni restituiscono un errore esplicito anziché crescere senza limiti.
Durabilità e recupero
Ridge utilizza un CRC-32 logico WAL. Il commit rende persistente la transazione prima che la pubblicazione venga confermata. Recupero:
- convalida WAL framing, sequenza e checksum;
- ignora il lavoro inedito o non impegnato;
- riproduce le transazioni impegnate in modo idempotente;
- ripara una coda strappata supportata;
- ricostruisce teste e indici derivati;
- rifiuta la corruzione a metà registro.
Questo non è un contratto di recupero logico PostgreSQL fisico WAL compatibilità.
MVCC e transazioni
Ridge mantiene transazioni persistenti e identificatori di commit oltre a una filigrana di commit visibile. Gli snapshot di lettura ripetibile e bloccati con aggiornamento delle istruzioni di lettura confermata utilizzano le stesse regole di visibilità per scansioni, chiavi, indici, SQL, backup e pgwire.
Gli scrittori disgiunti possono mettere in scena contemporaneamente. La convalida della testa prevista e della chiave univoca produce conflitti deterministici quando lo stato si sovrappone. Le transazioni atomiche multitabella forniscono operazioni di lettura e scrittura e rollback delle istruzioni. SELECT ... FOR UPDATE utilizza il blocco non bloccante limitato e restituisce SQLSTATE 55P03 in caso di conflitto.
Vuoto e manutenzione
Vacuum protegge l'istantanea live più vecchia, ricabla le catene di versioni conservate e riutilizza le pagine libere delimitate. La manutenzione di Online/incremental è limitata alle operazioni Ridge documentate. Non modificare direttamente i file di archiviazione.
Carichi di lavoro specializzati
I pacchetti v0.3 aggiungono canonical JSON, analisi e finestre limitate, archiviazione di serie temporali, ricerca full-text e ricerca vettoriale HNSW esatta e limitata. Questi sono Ridge-implementazioni limitate native, non livelli di compatibilità delle estensioni.
Prove
L'architettura è chiusa da crash, ripristino, migrazione, differenziale, isolamento, concorrenza, backup, vuoto e porte di riapertura. Vedi grove/apps/ridge/V3_CONTRACT.md, CAPABILITIES.mde i test runner V3 per i dettagli normativi.