Plone uses ZODB database <http://en.wikipedia.org/wiki/Zope_Object_database> which follows Multiversion concurrency control pararigm.
During the HTTP request process, Plone completes all modifications of the data or none of them. There cannot end partially written data to database.
Plone and the underlying Zope handles transactions transparently.
Note
Every transaction is read transaction until something is being written
Normally transactions are managed by Plone and the developer should not be interested in them.
Special cases where one would want to manage transaction life-cycle may include
Example code
It is possible to perform actions before and after transaction is written to the database.
http://svn.zope.org/transaction/trunk/transaction/_transaction.py?rev=81646&view=auto
Please see Transaction troubleshooting