Concurrency Control: Traditional Approaches