Qual è la persistenza dei dati nel contesto dell'ingegneria del software?

1

Immagino che sia semplicemente, come viene chiamato, l'esistenza di dati attraverso i livelli di un'applicazione software. Chiedo perché non sono stato in grado di trovare una definizione chiara che indichi qualcosa del genere: Persistenza dei dati è l'esistenza di dati attraverso i livelli di un'applicazione software. Se esiste, per favore condividi il link.

Ho trovato questo link ma sembra, almeno in parte, non corretto. Suppongo che la persistenza dei dati nel software consenta il cambiamento e vi si acceda frequentemente; Sto solo dando per scontato però.

Se sono corretto, ci sono altre qualità a questa "persistenza dei dati" che sto tralasciando.

Sono sicuro che ci sono best practice e anti-pattern per la persistenza dei dati. Voglio solo conoscere la definizione di persistenza dei dati.

    
posta JohnOsborne 11.02.2018 - 22:05
fonte

2 risposte

-1

La persistenza dei dati nel contesto di SE e dell'informatica fa riferimento alla caratteristica dello stato che sopravvive al processo che l'ha creata. MyReference

In riferimento a questo link , nel contesto di i dati di sviluppo web di asp.net MVC possono essere mantenuti in quattro modi.

  1. TempData
  2. Stato sessione
  3. Stato applicazione
  4. Archivio dati

Gli oggetti in memoria sono dati che persistono. Sono usati per passare i dati attraverso l'applicazione. Però, probabilmente non esistono per molto tempo relativamente alla memorizzazione dei dati in un RDBMS.

    
risposta data 11.02.2018 - 23:13
fonte
4

I dispositivi informatici hanno gerarchie di memoria con diverse considerazioni di interruzione dell'alimentazione. Le tecnologie di storage volatili come la memoria principale, ovvero la RAM, perdono il loro valore in caso di interruzione dell'alimentazione, mentre le tecnologie di storage non volatile, come Disc e NVM / SSD, non lo fanno. Utilizziamo entrambe le tecnologie, la RAM, nonostante la sua volatilità, anche perché è molto più veloce e offre un enorme vantaggio in termini di prestazioni.

L'altra considerazione è quella del processo: riavvio dell'applicazione, aggiornamenti software, ecc. Queste attività di manutenzione agiscono quasi come un guasto di alimentazione controllato, costringendo i dati temporanei nella RAM a essere ricostruiti dalla memoria non volatile (il che significa che idealmente, i dati nella RAM vengono scritti prima su queste memorie non volatili, durante il riavvio del processo).

(È molto difficile aggiornare il codice in esecuzione, quindi usiamo una strategia di salvataggio prima come necessario sul disco, interrompe il processo in esecuzione, aggiorna il codice, riavvia il processo in esecuzione, ricarica i dati da disco (modulo più endpoint del servizio e così via) .)

La persistenza è la stessa memoria non volatile: contenuto e formato, o l'atto di scrivere contenuto di RAM nuovo o aggiornato su uno spazio di archiviazione non volatile per durare nel tempo.

Questa non è la fine della storia, comunque; perché in caso di calamità, potremmo perdere anche il nostro spazio di archiviazione non volatile come i dischi rigidi, o persino un intero data center. Pertanto, abbiamo bisogno di backup aggiuntivi in base all'importanza dei dati (ad esempio strategie di persistenza anche a più lungo termine).

    
risposta data 12.02.2018 - 01:25
fonte

Leggi altre domande sui tag