From Introduction to Utilization of MSSQL Server 2016-based Database Part 2
usefulit
From building a database to creating tables, you can manipulate and change data within the database using various SQL queries.
초급
SQL, MSSQL, DBMS/RDBMS
Learn about Race Condition, a representative concurrency problem. Practice by comparing single server environments and distributed environments that cause concurrency issues. Understand transaction boundaries and isolation levels. Learn the differences between optimistic locking, pessimistic locking, and distributed locking.
Fundamental Causes and Solutions for Concurrency Issues
Methods for Solving Concurrency Issues in Single Server and Distributed Server Environments
Properly Understanding and Using Optimistic Locking, Pessimistic Locking, and Distributed Locking
Understanding Transaction Boundaries and Isolation Levels
How to Use IntelliJ IDEA, Docker, and k6
Through this course, accurately understand the concepts and solutions for concurrency issues such as optimistic locking, pessimistic locking, and distributed locking.
Create an environment that causes concurrency issues to actually experience concurrency problems.
Check the differences in concurrency issues between single-server environments and distributed server environments.
You can understand how to use the @Transactional annotation that you used without knowing exactly how it worked.
Why are there multiple solutions when concurrency problems are singular? Let's check the reasons.
Who should take this course (1)
I still don't really understand concurrency issues. 😅
Who should take this course (2)
I don't have a precise understanding of the differences between optimistic locking, pessimistic locking, and distributed locking. 🌧️
Who should take this course (3)
How should I test concurrency issues? 📜
You can understand race conditions, which are the most common concurrency issues that occur in practice.
You can properly use the @Transactional annotation that you used to use without fully understanding it.
You can understand and accurately solve concurrency issues in both single-server and distributed server environments.
You can understand transaction isolation levels and boundaries and apply them in practice.
Key Strengths of This Course (2)
We provide Notion course materials that reflect updates in real-time.
I provide the project code via GitHub link so you can follow along with the hands-on exercises easily.
Do you know the fundamental reason for concurrency problems?
By understanding the fundamental causes and learning solution methods, you can understand and solve problems more accurately.
The course starts by establishing the concept of concurrency issues from the ground up.
Concurrency issues occur differently in single-server environments and distributed server environments. Even when applying the same solution, the problem may not be resolved depending on the environment.
You need to know in what environment and how to use it to apply it directly to practical work.
Configure a distributed environment by running two applications simultaneously.
(Current) AhnLab Backend Developer
Q. The topic of concurrency issues feels too difficult. 🫥
The reason concurrency issues feel difficult is not because the concepts are complex, but because you can't get a feel for them until you experience them directly in practice.
This course explains only the core concepts with a focus on hands-on practice.
You can verify everything with code immediately, so you'll be able to understand quickly.
Q. I'm still not very familiar with Spring Boot or JPA. 🤦♀️
You don't need to have deep knowledge of Spring Boot and JPA.
Concurrency concepts can be understood separately from frameworks.
The course explains only the necessary parts minimally and applies them directly to practice.
The project code used in the practice sessions is also provided on GitHub, so you can follow along right away.
Q. Do concurrency issues occur frequently in real-world practice❓
Yes, it occurs frequently in actual services.
It appears almost inevitably in structures with high traffic or shared resource access.
It's particularly common in state-changing logic like inventory reduction, payments, and reservations.
That's why considering concurrency control strategies from the initial design phase is recommended in practice.
Operating system and version: Windows 11
Tools Used: IntelliJ IDEA Ultimate Edition, Docker, k6, Spring Boot, DBMS/RDBMS, Redis
Spring Boot, JPA, RDBMS
This lecture practices concurrency issues in an environment that creates many requests instantaneously, but it is not a lecture about how to handle large volumes of requests without problems.
I'd like to inform you that handling large volumes of requests and dealing with concurrency issues are different topics.
Who is this course right for?
A developer who continues to be confused by concurrency issues and is troubled by finding solutions
A developer who wants to understand transactions related to concurrency issues
Developers who want to understand and apply the differences between optimistic locking, pessimistic locking, and distributed locking
Need to know before starting?
Simple API backend server development experience (Spring Boot)
Basic knowledge of databases (RDBMS, NoSQL)
All
25 lectures ∙ (3hr 54min)
Limited time deal
$27.50
28%
$38.50
Explore other courses in the same field!