2025/02 6

Postgresql - Sharding

Postgresql의 샤드Sharding은 성능, 확장성 및 가용성을 향상시키기 위해 여러 서버 (또는 노드)에 데이터를 배포하는 데이터베이스 파티셔닝 기술모든 데이터를 단일 데이터베이스 인스턴스에 저장하는 대신 Sharding은 이를 더 작고 관리하기 쉬운 청크로 나s눈다.샤드의 주요 구성 요소샤드 key샤드 (예 : 사용자 ID, 지역 등)에 데이터를 배포하는 데 사용되는 열 (또는 열 세트).코디네이터 (라우터)샤드 키를 기반으로 쿼리를 올바른 샤드로 구동. (수동 / pgbouncer / citus 와 같은 관리 툴)샤드 노드각 노드 (데이터베이스 서버)는 데이터의 일부를 저장노드는 쿼리를 처리하기 위해 독립적으로 작동샤드 전략해시 기반 샤딩샤드 키 값은 해시되어 샤드 위치를 결정데이터 배포를 보..

DB/Postgresql 2025.02.23

DB - Hive (msck repair table)

1. MSCK REPAIR TABLE 기본 사용법MSCK REPAIR TABLE table_name; HDFS에는 존재하지만 Hive의 Metastore에 등록되지 않은 파티션을 인식하여 추가.외부에서 데이터를 직접 HDFS에 로드한 경우.ALTER TABLE 없이 수동으로 HDFS 경로에 파티션을 추가한 경우. 2. MSCK REPAIR TABLE 동작 과정Hive는 HDFS 경로를 스캔하여 테이블의 디렉터리를 확인한다.기존에 등록되지 않은 새로운 파티션을 감지합니다.발견된 파티션을 Hive Metastore에 추가합니다.이후 SHOW PARTITIONS로 추가된 파티션을 확인할 수 있다.✅ 예제: 파티션 추가 후 MSCK REPAIR TABLE 실행hdfs dfs -mkdir /user/hive/wa..

DB 2025.02.16

DB - partition 접근

업무 중 같은 쿼리라도 파티션 조건을 어떻게 하냐에 따라 쿼리 속도가 달라 접근법을 찾아 보았다. 1 . etl_ymd like '202301%'etl_ymd가 문자열로 분할되면 (예 :varchar 또는text ') 일반적으로 범위 또는 목록과 함께 작동하기 때문에 모든 파티션 풀스캔하여 속도가 느려질 수 있다.2 . etl _ymd between '20230101' and '20230131' etl_ymd가 이 조건은 파티션 가지 치기가 효율적으로 발생할 가능성이 높다. etl_ymd가 문자열로 저장되면, 명확한 범위를 정의하기 때문에 접근이 빠름. 하이브 파티셔닝을위한 모범 사례 고전성 열에서 분할 사용 (예 : '국가'대신 '날짜')✅ 너무 많은 파티션을 피한다. (작은 파티션 = 높은 메타 데이..

DB 2025.02.16

Hive - UDF

HIVE UDF (User Defined Function)란?Hive UDF(User Defined Function)는 사용자가 직접 정의하여 Hive에서 사용할 수 있는 함수. 기본적으로 Hive는 다양한 내장 함수(Built-in Functions)를 제공하지만, 특정한 데이터 변환이나 복잡한 로직이 필요할 때는 UDF를 직접 구현하여 사용할 수 있다.Hive UDF는 Java로 작성하며, 개발한 후 Hive에 등록하여 SQL 쿼리에서 사용할 수 있다.1. Hive UDF의 종류Hive에서 제공하는 사용자 정의 함수 3가지 유형.✅ 1) UDF (User Defined Function)단일 행 입력을 받아 하나의 값을 반환하는 함수예: 문자열 변환, 특정 조건 처리 등✅ 2) UDAF (User De..

DB 2025.02.02

Hive - HQL 함수

1. 집계 함수 (Aggregate Functions)함수설명AVG(col)주어진 컬럼의 평균을 계산COUNT(*)전체 행 개수를 반환COUNT(DISTINCT col)특정 컬럼에서 중복을 제거한 후 개수를 반환MAX(col)컬럼의 최대값 반환MIN(col)컬럼의 최소값 반환SUM(col)컬럼 값의 합을 반환COLLECT_SET(col)중복을 제거한 고유한 값들의 집합 반환COLLECT_LIST(col)모든 값의 리스트 반환2. 수학 함수 (Mathematical Functions)함수설명ABS(x)절댓값 반환CEIL(x)올림한 정수 반환FLOOR(x)내림한 정수 반환ROUND(x, d)반올림 (d는 소수점 자리수)EXP(x)e^x 값을 반환LN(x)자연로그 반환LOG10(x)밑이 10인 로그 반환LOG..

DB 2025.02.02