Persistència (informàtica)
En informàtica, la persistència es refereix a la propietat de les dades que permet que romanguin més enllà de l'execució del procés o aplicatiu que les ha creades. Sense persistència, les dades perdrien el seu estat des del moment en què el procés que les gestiona deixa de referenciar-les o aquestes desapareixen del suport on es guardaven, com pot ser la memòria o un fitxer temporal d'un perifèric.
Programació
modificaEn programació, la persistència es refereix concretament a la capacitat de preservar estructures de dades entre execucions diferents. Això s'aconsegueix a la pràctica guardant les dades en dispositius d'emmagatzemament no volàtils : sistema de fitxers, una base de dades relacional o una base de dades orientada a objectes. Els patrons de disseny que resolen aquest problema són: persistència basada en el contenidor, persistència basada en el component i el model Data Access Object. Quan foren presentats, la idea era que la persistència fos una propietat intrínseca de les dades, en contraposició a la pràctica habitual on la dada és llegida i escrita de i al disc usant verbs imperatius en un llenguatge de programació. Aquest concepte ha evolucionat juntament amb els sistemes gestors de bases de dades i actualment és el programa qui comprova que les transaccions són correctes i se n'encarreguen de fer persistent tot allò que ha estat modificat. Exemples de persistència són: l'ús de la serialització Java per emmagatzemar objectes Java al disc, usant Java EE per guardar Enterprise JavaBeans en bases de dades relacionals.
Persistència incorporada a una sistema operatiu o llenguatge de programació
modificaLa persistència ortogonal es refereix al suport ofert per un llenguatge de programació o sistema operatiu que habilita l'estat dels programes escrits en un llenguatge de programació persistent, o del sistema operatiu en ell mateix, per romandre persistent inclús després d'una caiguda o apagada inesperada. En tornar, l'ordinador continua al mateix punt de l'apagada. Els sistemes operatius que inclouen aquesta funcionalitat són:
- KeyKOS
- EROS, successor de KeyKOS
- Coyotos
- CapROS, revisions d'EROS
- Multics amb el seu emmagatzematge de nivell simple
Els llenguatges de programació que inclouen persitència ortogonal són:
- PS-Algol
- Smalltalk i Lisp, usant imatge del sistema
Interfície d'usuari
modificaLa majoria d'aplicacions inclouen persistència com a funcionalitat bàsica sense la qual no poden ser considerades tancades. En aquest context, les operacions de persistència se separen en categories ben diferenciades, basades en els tipus de les dades a emmagatzemar. Les categories són:
- capacitat per afegir noves entrades (objectes o registres)
- recuperació d'entrades
- modificació d'entrades
- eliminació d'entrades
A més, encara que no siguin funcionalitats bàsiques, les operacions següents acostumen a estar associades a la persistència quan cal manejar un nombre elevat d'entrades:
- cerca
- ordenació
- filtratge
Dispositius d'emmagatzemament
modificaL'emmagatzamament persistent (Persistent Storage o PSD, en anglès) és la capacitat d'un dispositiu de mantenir les dades inclús quan està apagat. Els anomenem dispositius dispositius de memòria no volàtil, per exemple, el disc dur, llapis de memòria o CD.
Vegeu també
modifica