800===Dev Docs and License/소프트웨어 아키텍쳐 3

DB 격리 수준(Isolation Levels)을 AICC 콜센터 예제와 함께 알아보기

오늘은 데이터베이스 트랜잭션의 격리 수준(Isolation Level)에 대해 알아보겠습니다. AICC 콜센터 시스템에서는 동시에 여러 고객이 접속하고, 여러 상담사가 채팅·전화·상담 등을 동시에 처리합니다. 이러한 동시성(Concurrency)을 안전하게 보장하기 위해서는 트랜잭션 격리 수준을 어떻게 적용하느냐가 매우 중요합니다.1. 격리 수준(Isolation Level)이란? 🤔격리 수준(Isolation Level)은 데이터베이스가 여러 트랜잭션을 동시에 처리할 때, 각 트랜잭션이 다른 트랜잭션의 중간 연산 결과를 볼 수 있는지 혹은 볼 수 없는지를 결정하는 규칙입니다.왜 필요할까요? 동시에 많은 트랜잭션이 실행될 때, 데이터 무결성과 일관성을 지키면서도 최대한 높은 성능(동시성)을 내야 하기..

AICC 콜센터 채팅 시스템의 데이터베이스 정규화 📌

오늘은 AICC 콜센터 채팅 서비스를 설계한다고 가정하고, 데이터베이스 정규화(Database Normalization)를 단계별(1차 정규형, 2차 정규형, 3차 정규형 등)로 살펴보겠습니다. 콜센터 시스템에서도 채팅 로그, 상담사, 고객, 문의 정보 등이 서로 밀접하게 관련되어 있는데, 이를 효율적으로 저장하고 관리하기 위해 정규화 개념이 필수적으로 활용됩니다.1. 1차 정규형(1NF)이란? 🤔1.1 기본 개념1차 정규형(1NF)은 반복되는 컬럼이나 컬럼 안에 여러 값이 들어 있는 상태를 제거하고, 각 컬럼을 원자값(Atomic value)만 갖도록 구성하는 것입니다.🔹 반복 컬럼 예시: ‘chat_message1’, ‘chat_message2’, ‘chat_message3’처럼 동일한 의미를 가..

Myers가 구분한 응집도

오늘은 소프트웨어 설계에서 매우 중요한 개념인 응집도(Cohesion), 그중에서도 Myers가 분류한 응집도 체계에 대해 알아보겠습니다. 객체지향 프로그래밍을 공부하거나 코드 구조를 고민해본 분이라면 한 번쯤은 들어보셨을 텐데요. 응집도는 모듈(클래스, 함수 등)이 얼마나 ‘단일 목적(single responsibility)’을 가지고 있는지를 나타내는 지표입니다. 응집도가 높을수록 코드 유지보수성이 높고 재사용성이 좋아집니다.1. 응집도(Cohesion)란? 🤔‘응집(cohesion)’이라는 말을 들으면 ‘잘 붙어 있다’라는 이미지를 떠올릴 수 있습니다. 소프트웨어 공학에서도 비슷한 의미로, 하나의 모듈이 얼마나 단일하고 밀접하게 연관된 기능들로 구성되어 있는지를 뜻합니다.🔹 개념 요약: 모듈(혹..

728x90
반응형