728x90

2025/05 4

SQL SELECT 쿼리 실행 순서 완벽 정리

SQL에서 SELECT 문은 가장 자주 사용되는 명령어 중 하나입니다. 하지만 우리가 작성하는 SELECT 문은 실제로 데이터베이스가 처리하는 순서와 다릅니다. 이 글에서는 SQL의 SELECT 쿼리가 실제로 어떻게 실행되는지를 단계별로 자세히 알아보겠습니다.우리가 흔히 쓰는 SELECT 문SELECT name, ageFROM usersWHERE age > 20GROUP BY ageHAVING COUNT(*) > 1ORDER BY age DESCLIMIT 10;이 쿼리는 겉보기에는 위에서 아래로 순차적으로 실행되는 것처럼 보이지만, 실제로 데이터베이스가 처리하는 순서는 전혀 다릅니다.SELECT 쿼리의 실제 실행 순서SQL 표준에 따른 SELECT 문은 아래와 같은 순서로 실행됩니다:FROM테이블이나 뷰..

SQL 2025.05.09

NAS, DAS, SAN: 스토리지의 세 가지 축을 이해하자

현대의 IT 인프라에서 데이터 저장은 단순한 하드디스크 이상의 의미를 가집니다. 기업의 규모가 커질수록 스토리지의 선택은 성능, 확장성, 안정성에 직접적인 영향을 미칩니다. 오늘은 대표적인 스토리지 아키텍처인 NAS, DAS, SAN의 개념과 차이점을 비교해보겠습니다.1. DAS (Direct Attached Storage): 직접 연결 스토리지개념DAS는 서버나 컴퓨터에 직접 연결된 저장장치를 말합니다. 예를 들어 내 컴퓨터에 연결된 SSD, 외장하드 등이 이에 해당합니다.특징속도: 로컬 연결이기 때문에 빠른 I/O 속도 제공설치 용이성: 간단한 설치, 별도 네트워크 필요 없음확장성 부족: 장비 하나에만 연결되므로 여러 시스템과 공유 어려움사용 예소규모 서버개인용 백업고속 작업이 필요한 로컬 환경2. ..

IT 2025.05.08

데이터 오류 검출의 핵심! CRC와 체크섬 완전 정리

데이터 통신이나 파일 저장 과정에서 가장 중요한 것 중 하나는 정확성입니다. 데이터가 손상되거나 변경되었는지를 검증하기 위해, 우리는 다양한 오류 검출 기법을 사용합니다. 그중에서도 많이 쓰이는 대표적인 두 가지 방법이 체크섬(Checksum)과 CRC(Cyclic Redundancy Check)입니다.이번 포스트에서는 이 두 가지 기술이 무엇이고, 어떻게 동작하는지, 그리고 차이점은 무엇인지를 쉽게 정리해보겠습니다. 체크섬(Checksum)이란?체크섬은 데이터의 각 바이트(혹은 워드)를 단순히 더한 값을 기반으로 오류를 감지하는 방식입니다.작동 방식송신 측에서 데이터를 일정 단위로 나눈 뒤, 각 값을 더해서 "합"을 구합니다.이 합의 하위 비트(예: 8비트, 16비트)를 체크섬으로 보냅니다.수신 측도 ..

JPA에서 @Enumerated 사용할 때 주의사항 정리

JPA를 사용하면서 enum 타입을 매핑할 때 자주 사용되는 애노테이션이 @Enumerated입니다. 하지만 잘못 사용하면 치명적인 데이터 오류로 이어질 수 있으므로 주의가 필요합니다. 이 글에서는 @Enumerated의 사용법과 왜 EnumType.ORDINAL을 피해야 하는지 자세히 정리합니다. @Enumerated란?Java의 enum 타입을 JPA 엔티티 필드와 DB 컬럼 간에 어떻게 매핑할지 지정하는 애노테이션입니다.@Enumerated(EnumType.STRING)private Status status;@Enumerated는 기본적으로 EnumType.ORDINAL 방식으로 동작합니다. 타입설명EnumType.ORDINALenum의 순서(index) 를 DB에 저장 (예: 0, 1, 2)Enu..

JPA 2025.05.01
728x90