Database(2)
-
Migration 계획
이 계획이라는 게 어디부터 어디까지 해야 하는 걸까... 음.. 프로젝트 개요목적 : 채팅 데이터 급증으로 인한 DB 비용 부담 절감적용 범위 : chat 테이블 및 관련 개인정보 테이블 우선 대상주요 요구사항마이그레이션 후 성능 저하(degradation) 방지개발자 외 접근 차단(개인정보 보호)채팅방, 컨텐츠는 마케팅 용도로 사용(이게 어떤 의미일까,,,?)비개발자(마케팅 부서 등)가 접근할 수 있다는 뜻 마이그레이션 과정1. Dual Update신규 데이터는 기존 DB와 신규 DB에 동시에 갱신신규 DB 접근 권한 : 개발자 한정애플리케이션 로직 수정(Dual Write)트랜잭션 일관성 및 에러 감시, alert 체계 구축2. Batch Migration사용량이 적은 시간대에 기존 대량 데이터 분할..
2025.07.18 -
Connection Pool(DBCP)
[점프 투 FastAPI] 2-02에서 db 설정을 하면서 커넥션 풀을 생성한다. engine = create_engine( SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False} ) Connection Pool(DBCP)? 미리 db에 접속(connection)한 객체를 pool에 일정 개수만큼 저장 두고, 이 객체들을 돌려가며 사용. db에 접속하는 세션 수 제어. 세션 접속 소요 시간 및 비용 절감. 필요성 Java에서는 db에 직접 연결해서 처리할 때 드라이버 로드 후 커넥션 객체를 생성해야 한다. => 이 경우 사용자의 요청 횟수만큼 db 드라이버 로드 및 커넥션 객체 생성 후 종료해야 하므로 비효율적. Web 애플리케이션에서는 H..
2024.03.25