데이터베이스 관리 및 복구 기법
특정 시점으로 테이블 데이터 복원
-- 특정 시간대의 데이터 조회
SELECT * FROM target_table AS OF TIMESTAMP TO_TIMESTAMP('2009-12-11 20:53:57', 'YYYY-MM-DD HH24:MI:SS');
-- 특정 시점의 데이터로 새 테이블 생성
CREATE TABLE restored_table AS
SELECT * FROM target_table AS OF TIMESTAMP TO_TIMESTAMP('2009-12-11 20:53:57', 'YYYY-MM-DD HH24:MI:SS');
...
7월 22일 08:11에 게시됨
MapperScannerConfigurer 설정 오류로 인한 데이터베이스 연결 속성 로드 실패
MyBatis와 Spring 프레임워크를 통합하여 애플리케이션을 개발할 때, 데이터베이스 연결과 관련된 설정 오류는 흔히 발생할 수 있습니다. 특히 MapperScannerConfigurer의 구성 방식에 따라 db.properties 파일에 정의된 데이터베이스 연결 매개변수가 제대로 로드되지 않아 JDBC 드라이버 초기화에 실패하는 경우가 있습니다.
문제 현상
애플리케이션을 시작할 때, 다음 ...
7월 21일 23:29에 게시됨
MySQL 데이터 타입의 종류와 특징 완벽 가이드
1. 정수 타입 (Integer Types)
MySQL은 저장 공간과 수의 범위를 효율적으로 관리하기 위해 다양한 정수 타입을 제공합니다. 각 타입은 부호가 있는(SIGNED) 상태와 부호가 없는(UNSIGNED) 상태로 선언할 수 있습니다.
타입
바이트(Bit)
SIGNED 범위
UNSIGNED 범위
...
7월 20일 16:22에 게시됨
기술 면접 복기 및 개선 전략
최근 여러 기업의 면접을 거치며 얻은 경험과 통계를 바탕으로, 면접 준비와 성공률 향상을 위한 전략을 소개합니다.
면접 프로세스
graph LR A(지원) -->|면접 초대|B(1차 기술 면접) B --> C(2차 기술 면접) C --> D(3차 리더십 면접) D --> |HR 협상|E(HR 급여 결정) E --> |Offer 승인|F(Offer 발행) F --> |배경 조사|G(입사)
데이터 분석
단계
...
7월 19일 23:11에 게시됨
Impala를 이용한 데이터 웨어하우징 및 Flink 실시간 스트림 처리 연동
이 문서에서는 대규모 데이터 분석을 위해 Apache Impala를 활용하여 SQL 기반 데이터 웨어하우징 작업을 수행하는 방법과, Apache Flink를 사용하여 Apache Kafka와 연동하여 실시간 스트림 데이터를 처리하는 애플리케이션을 개발하는 과정을 다룹니다.
빅데이터 클러스터 환경 구성
Impala와 Flink를 사용하기 위해서는 Hadoop, Impala, Kafka, Flink, Zookeeper, Rang ...
7월 19일 22:10에 게시됨
SQL 고급 필터링과 다중 테이블 조회 기법
1. 데이터 필터링 기법
1.1 HAVING을 활용한 그룹 필터링
HAVING 절은 집계 함수 적용 후 그룹화된 결과에 조건을 적용할 때 사용합니다. WHERE 절은 개별 행에 필터를 적용하는 반면, HAVING은 SUM(), AVG(), COUNT() 등의 집계가 완료된 그룹 단위로 조건을 검사합니다.
실무 예시: 30세 이상 직원만 대상으로 부서별 평균 급여를 계산하고, 그 중 평균이 10,000원 초 ...
7월 17일 01:49에 게시됨
MySQL 기초 복습 및 실전 활용
주의: 잘못된 사용 방식 수정
키워드를 테이블 이름이나 컬럼 이름으로 사용할 경우, `` (백틱)을 사용해야 하며, ' ' (단일 인용부호)는 사용하지 않아야 합니다.
잘못된 예시
-- 1. 키워드로 지정 시 자동 대문자 처리
CREATE TABLE NAME(
DATA DATETIME,
);
-- 2. 단일 인용부호 사용
CREATE TABLE 'name'(
'data' DATETIME,
);
올바른 사용 방법
CREATE TAB ...
7월 16일 00:11에 게시됨
SQL 기본 문법 및 주요 명령어 정리
SQL 명령어 분류
DDL (데이터 정의 언어): 데이터베이스와 테이블 구조를 생성하거나 변경하는 명령어
DML (데이터 조작 언어): 데이터를 삽입, 수정, 삭제하는 명령어
DQL (데이터 조회 언어): 데이터를 검색하는 SELECT 관련 명령어
DCL (데이터 제어 언어): 사용자 권한 관리 및 보안 관련 명령어
DDL - 데이터베이스 및 테이블 정의
데이터베이스 작업
-- 새 데이터 ...
7월 14일 03:37에 게시됨
SQL 실행 순서, SELECT는 5번째다
많은 SQL 초보자들이 SELECT로 쿼리를 시작하지만, 실제 실행 순서는 전혀 다릅니다. 이 글에서는 SELECT 쿼리가 내부적으로 어떤 순서로 처리되는지 살펴보겠습니다.
어제 윈도우 함수에 대한 설명을 준비하다가 "윈도우 함수 결과를 WHERE나 HAVING에서 필터링할 수 있을까?"라는 질문에 직면했습니다. 결론적으로 윈도우 함수는 WHERE와 GROUP BY 이후에 실행되므로 불 ...
7월 11일 19:04에 게시됨
사용자 익일 재방문 비율 계산하기
다음은 사용자가 특정 날짜에 문제를 푼 후, 다음날 다시 문제를 푸는 비율을 SQL로 계산하는 방법에 대한 설명이다. 이 지표는 일반적으로 '익일 유저 잔존률(Day-1 Retention Rate)'이라고 하며, 제품의 사용자 참여도를 평가하는 데 자주 활용된다.
테이블 구조 예시
아래와 같은 question_practice_detail 테이블이 있다고 가정하자.
id
device_ ...
7월 11일 16:26에 게시됨