Lecture 3. Introduction to Transactions and Concurrency