A comprehensive guide to database locking mechanisms and concurrency control strategies for developers