En informàtica, la persistència es refereix a la pràctica que fa que les dades d'un programa continuïn existint emmagatzemades més enllà de la finalització del procés o aplicatiu que les ha creades. Sense persistència, les dades quedarien eliminades 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.
En 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.
La 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:
Els llenguatges de programació que inclouen persitència ortogonal són:
La 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:
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:
L'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.
Viccionari