본문 바로가기

데이터3

MyBatis 로 대규모 데이터 처리 수백만 건 이상의 대규모 데이터를 다룰 때 성능 저하를 방지하고 효율성을 극대화 할 수 있는 방법들을 알아보자. 1. 대규모 데이터 처리시 주요 문제메모리 초과: 한번에 너무 많은 데이터를 조회하거나 처리하면 메모리가 부족해 질 수 있다.쿼리 실행 속도: 비효율적인 쿼리는 데이터가 많을 수록 성능에 큰 영향을 준다.트랜잭션 관리: 많은 데이터가 포함된 작업은 트랜잭션 범위 내에서 실패 시 롤백에 부하를 줄 수 있다. 2. 효율적인 데이터 조회페이징 처리 : 한 번에 모든 데이터를 가져오는 대신, 페이지 단위로 나누어 처리한다. SELECT * FROM users LIMIT #{pageSize} OFFSET #{offset} ResultHandler 를 이용한 스트리밍 처리MyBatis 는 Resul.. 2024. 11. 18.
클러스터드 인덱스 (Clustered Index) VS 논 클러스터드 인덱스(Non-Clustered Index) 데이터베이스에서 인덱스(Index) 는 데이터를 빠르게 검색하기 위해 사용하는 구조이다. 인덱스는 책의 목차와 유사한 역할을 하며, 테이블의 열에 대해 인덱스를 생성하여 데이터 조회 성능을 향상시킨다. 인덱스는 크게 클러스터드 인덱스(Clustered Index) 와 논클러스터드 인덱스(Non-clustered Index)로 나뉜다.1. 클러스터드 인덱스(Clustered Index)클러스터드 인덱스는 데이터 자체의 물리적 순서를 정렬하는 인덱스입니다. 즉, 테이블 내의 데이터가 클러스터드 인덱스의 키 값에 따라 정렬되며, 테이블의 실제 데이터가 클러스터드 인덱스와 함께 저장됩니다.특징:테이블 당 하나의 클러스터드 인덱스만 존재: 데이터가 물리적으로 정렬되기 때문에 하나의 테이블에는 하나의 클러스터드 인.. 2024. 9. 11.
어떤 개발자가 되고 싶은가? 개발자란 무엇일까?IT 개발자는 유명한데 사실 주변 친구들은 IT 개발자라는 것만 알고내가 뭘하는지 모른다.그래서 개발자의 종류와 간단한 내용을 정리해보려 한다. 1. 프론트엔드 개발자 (Frontend Developer)역할: 사용자 인터페이스(UI)와 사용자 경험(UX)을 개선하고 웹 애플리케이션의 클라이언트 측을 개발합니다.기술: HTML, CSS, JavaScript, React, Angular, Vue.js 등.주요 업무: 웹 페이지의 레이아웃 디자인, 사용자 인터랙션 구현, 반응형 디자인, 웹 접근성 향상 등. 2. 백엔드 개발자 (Backend Developer)역할: 서버 측 로직, 데이터베이스와 애플리케이션 간의 상호작용을 처리합니다.기술: Java, Python, Ruby, PHP, N.. 2024. 7. 31.
728x90
반응형
LIST