provided by: 
Originally published at Internet.comAs developers create more serious applications for the Web, the issues they face get tougher. One issue that is critical for business-level applications is data persistence.
Data persistence is the ability to keep data or information around even after a program ends. Because a browser is disconnected from a server, a program on the server can end; however, the user on the browser may still be using data from it. It is critical that the application running in the browser not only appears continuously connected, but that it also operates as if it were connected.
Issues with Data Persistence
Data persistence has several issues. First, when sustaining data, you want to make sure that multiple users can still access the data. Just because I'm viewing data on my browser doesn't mean that others can't be viewing or modifying it as well.
Another issue that must be addressed regarding data persistence is that of transactional access. For real-world applications, you must deal with data in a transactional method. It is transactions that allow multiple people to work on the same data or program without worrying about "stomping" on each other. For example, you and I both grab a record containing "book" information. We grab it at the same time. You make a change to the price from $19.99 to $24.99 and save it. I make a change from the price of $19.99 to $17.99 and save my change after yours was changed. What should happen? If my change is saved, then your change was totally wiped ignored. Transactional processing puts into place a structure that would prevent my change from happening without first showing that the original price of $19.99 had been changed by someone else (you). Transactional processing is also important when multiple changes must occur. For example, if I buy a book, the first step is to change inventory to show that the book is being purchased. This prevents someone else from buying it. A second step would be to get a payment from me. If my payment fails, you don't want to simply quit. Rather, you need to make sure the book ends up back in inventory. Transactional processing will take care of this for you...
Read article at Internet.com site