반응형

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)'에 대해 알아볼까요? 특히 오늘은 소프트웨어 공학의 선구자인 Glenford J. Myers와 Larry Constantine이 정의한 7가지 응집도 유형에 대해 깊이 있게 살펴보겠습니다.여러분이 주방 용품을 정리하는 상황을 생각해보세요.모든 조리 도구가 무작위로 서랍에 던져져 있다면? 필요한 도구를 찾기 어렵겠죠 (낮은 응집도)칼은 칼끼리, 조리 도구는 도구끼리, 양념은 양념끼리 분류되어 있다면? 훨씬 효율적입니다 (높은 응집도)왜 응집도가 필요한가?응집도는 소프트웨어 설계에서 다음과 같은 문제들을 해결합니다:유지보수 문제: 낮은 응집도의 코드는 이해하기 어렵고 변경 시 예측하지 못한 부작용이 발생할 수 있습니다.재사용..

728x90
반응형