I imagine it is simply, as it is named, the existence of data throughout layers of a software application. I ask because I have not been able to find a clear definition that states something of the sort: Data Persistence is the existence of data throughout layers of a software application. If that exists please share the link.

I did find this link but it seems to be, at least partially, incorrect. I'm assuming that data persistence in software allows change and is accessed frequently; I'm just assuming though.

If I am correct, are there other qualities to this "data persistence" that I am leaving out.

I'm sure there are best practices and anti-patterns to data persistence. I just want to know the definition of data persistence.

有帮助吗?

解决方案 2

Data persistence in the context of SE and computer science refers to the characteristic of state that outlives the process that created it. MyReference

In reference to this link, in the context of asp.net MVC web development data can be persisted in four ways.

  1. TempData
  2. Session State
  3. Application State
  4. Data Store

Objects in memory are data that are persisting. They are used to pass data throughout the application. Though, they probably don't exist for very long relative to storing data in a RDBMS.

其他提示

Computing devices have memory hierarchies with varied power failure considerations. Volatile storage technologies like main memory, aka RAM, loses their value on power failure, while non-volatile storage technologies, like Disc and NVM/SSD do not. We use both technologies — RAM, despite its volatility, though because is so much faster that it offers a huge performance advantage.

The other consideration is that of process: application restart, software upgrades, etc.. These maintenance activities act almost like a controlled power failure, forcing temporary data in RAM to be reconstructed from non-volatile memory (which means that ideally, the data in RAM is written to these non-volatile memories first, during process restart).

(It is very difficult to update running code, so we use a strategy of first save as needed to disc, stop the running process, update code, restart running process, reload data from disc (modulo multiple service endpoints and such).)

Persistence is either the non-volatile storage itself: content and format, or, the act of writing new or updated RAM content back to non-volatile storage for durability.

That is not the end of the story, however; because in a disaster, we may lose even our non-volatile storage like hard drives, or even a whole data center. So, we need additional backups as per the importance of the data (i.e. even longer-term persistence strategies).

许可以下: CC-BY-SA归因
scroll top