Subject | Common techniques to avoid deadlocks in PHP web apps with Firebird |
---|---|
Author | Myles Wakeham |
Post date | 2007-12-26T16:25:02Z |
I have a very large PHP application that we are in the final stages of. It
is a database application where many users will use the same database at the
same time. Our design seperates data updates from 'read/only' users quite
well, but like all multi-user applications will run into two or more users
wanting to edit the same record at the same time.
I'm trying to get a general idea of what other PHP developers are doing to
avoid this situation. I've considered building some sort of manual 'soft
locks' table that lists the data object current state and requires all
attempts to update a record check against this table first to see if any
other users are updating. The problem, of course, is that web users
disappear or just navigate off the site without warning, so keeping a table
like this up to date is going to be a nightmare.
So what techniques are commonly used to handle this situation?
Thanks in advance for any information.
Regards,
Myles
============================
Myles Wakeham
Director of Engineering
Tech Solutions USA, Inc.
Scottsdale, Arizona USA
www.techsol.org
Phone +1-480-451-7440
Try our new Outlook Utility 'Split Personality'
http://splitpersonality.techsol.org
is a database application where many users will use the same database at the
same time. Our design seperates data updates from 'read/only' users quite
well, but like all multi-user applications will run into two or more users
wanting to edit the same record at the same time.
I'm trying to get a general idea of what other PHP developers are doing to
avoid this situation. I've considered building some sort of manual 'soft
locks' table that lists the data object current state and requires all
attempts to update a record check against this table first to see if any
other users are updating. The problem, of course, is that web users
disappear or just navigate off the site without warning, so keeping a table
like this up to date is going to be a nightmare.
So what techniques are commonly used to handle this situation?
Thanks in advance for any information.
Regards,
Myles
============================
Myles Wakeham
Director of Engineering
Tech Solutions USA, Inc.
Scottsdale, Arizona USA
www.techsol.org
Phone +1-480-451-7440
Try our new Outlook Utility 'Split Personality'
http://splitpersonality.techsol.org