옵티마이저 쿼리변환 . 규칙기반 옵티마이저(Rule-Based Optimizer, RBO) – 휴리스틱(Heuristic) 옵티마이저 – 미리 정해 놓은 규칙에 따라 액세스 경로를 평가하고 실행계획을 선택 – 규칙은 액세스 경로별 우선순위로서, 인덱스 […]
3-2. Lock과 트랙잰셕 동시성 제어
Lock 트랜잭션 동시성제어 . Lock에 의한 성능저하를 최소화하는 방안 트랜잭션의 원자성을 훼손하는 않는 선에서 트랜잭션을 가능한 짧게 정의 같은 데이터를 갱신하는 트랙잭션이 동시에 수행되지 않도록 설계 주간에 […]
3-1. 아키텍처 기반 튜닝 원리
1. 데이터베이스 아키텍처 2. SQL 파싱 부하 3. 데이터 베이스 Call과 네트워크 부하 4. 데이터베이스 I/O 원리 ============================ . 전용 서버(Deficated Server) / 공유 서버(Shared Server) – […]
2-3. SQL 최적화 기본
1. 옵티마이저와 실행계획 2. 인덱스 기본 3. 조인 수행 원리 ======================================================= . Sort Merger Join – 조인 칼럼을 기준으로 데이터를 정렬하여 조인을 수행한다. – NL Join은 주로 […]
2-1. SQL 기본
1. 관계형 데이터베이스 2. DDL(Data Definition Language): 데이터 정의어 3. DML(Data Manipulation Language): 데이터 조작어 4. TCL 5. WHERE절 6. 함수 7. Group By, Having 절 8. […]
1-2. 데이터 모델과 성능
1. 성능 데이터 모델링의 개요 2. 정규화와 성능 3. 반정규화와 성능 4. 대량 데이터에 따른 성능 5. 데이터베이스 구조와 성능 6. 분산 데이터베이스와 성능 ========================================================= . […]
1-1. 데이터 모델링의 이해
1. 데이터 모델의 이해 2. 엔터티 3. 속성 4. 관계 5. 식별자 . 발생시점에 따른 엔터티 분류 – 기본/키엔터티(Fundamental Entity, Key Entity) – 중심엔터티(Main Entity) – 행위언터티(Active […]
Git을 활용한 효과적인 버전 관리 – 프로젝트 개발 생산성 향상 방법
Git은 소프트웨어 개발에서 버전 관리를 위해 널리 사용되는 분산 버전 관리 시스템(VCS)입니다. Linus Torvalds가 Linux 커널 개발을 위해 개발한 Git은 빠른 속도, 효율적인 브랜칭, 분산 개발 환경 […]
JUnit을 사용한 단위 테스트
단위 테스트란? 단위 테스트(Unit Testing)는 소프트웨어 개발 과정에서 개별 코드 단위(함수, 메소드, 클래스 등)가 예상대로 작동하는지 검증하는 절차를 말합니다. 단위 테스트를 통해 각 모듈의 기능을 독립적으로 검사함으로써, […]
회복성 패턴(서킷 브레이커, 재시도, 폴백)
마이크로서비스 아키텍처에서는 여러 서비스가 서로 협력하여 작업을 수행하므로, 한 서비스의 장애가 전체 시스템으로 전파될 수 있는 위험이 있습니다. 회복성 패턴은 이러한 문제를 완화하고 시스템의 안정성과 가용성을 높이기 […]