목록전체 글 (422)
나의 잡다한 노트 및 메모
우분투 환경이다. apt를 통해 설치sudo apt install postgresql postgresql-contrib postgresql.conf에서 설정새로운 위치에 옮기려면 이동시켜야한다.이때, 옮길 데이터의 디렉토리의 소유자와 그룹을 postgres로 설정하자.port나 max_connections 설정도 여기에서 잘 설정하면 된다.sudo chown -R postgres:postgres /ssd/postgresql/17/mainsudo rsync -av /var/lib/postgresql/17/main/ /ssd/postgresql/17/main/기본적으로 data를 다른 directory에서 쓸려면 data_directory를 수정한다. 원격 접속 허용여기에서 listen_addresses ..
데이터 웨어하우스나 OLAP 시스템에서 fact는 주로 측정 가능한 수치 데이터, 즉 사실 데이터를 의미합니다. 이는 비즈니스 프로세스나 이벤트에서 발생하는 수치적 정보를 담고 있으며, 분석의 중심 대상이 됩니다. 주요 특징수치 데이터:fact 테이블에는 매출, 수량, 비용, 이익 등과 같이 집계 및 계산이 가능한 수치 데이터가 저장됩니다.연관 키:각 fact 레코드는 여러 차원(dimension)과 연결되며, 이 차원에 대한 참조 키(예: 제품 ID, 시간, 지역 등)를 포함하여 데이터를 다양한 관점에서 분석할 수 있도록 합니다.집계 및 분석:사실 데이터는 주로 합계, 평균, 최대/최소값 등의 집계 함수로 분석됩니다. 예를 들어, 특정 기간 동안의 총 매출이나 지역별 평균 매출 등을 계산할 때 사용됩니..
Dimension"은 주로 데이터 웨어하우스나 OLAP(Online Analytical Processing) 시스템에서 사용되는 용어로, 사실(Measure) 데이터를 설명하거나 분류하는 데 사용되는 속성 또는 범주를 의미한다. 주요 개념정의:Dimension은 데이터 분석에서 맥락(context)을 제공하는 설명적 요소입니다. 예를 들어, 판매 데이터의 경우 "제품", "지역", "시간" 등이 각각 하나의 dimension이 될 수 있습니다.역할:데이터 분류: Dimension을 사용하면, 데이터를 다양한 관점에서 집계하고 분석할 수 있습니다. 예를 들어, 제품별, 시간별, 지역별 판매량을 분석할 수 있습니다.슬라이싱 및 다이싱: Dimension을 기준으로 데이터를 필터링(슬라이싱)하거나, 여러 Di..
ROLLUP은 SQL의 GROUP BY 확장 기능 중 하나로, 집계 결과에 대한 계층적(subtotal) 요약 집계를 자동으로 생성할 수 있게 해줍니다. 이를 통해 여러 수준의 집계 결과(부분 합계와 전체 합계)를 한 번의 쿼리로 구할 수 있습니다. ROLLUP은 GROUP BY를 확장하여 여러 수준의 집계(부분 합계, 총합계 등)를 한 번에 계산할 수 있는 기능 1. 기본 개념목적:ROLLUP은 그룹화한 데이터에 대해, 지정한 컬럼들을 기반으로 하위 수준부터 최상위(전체)의 집계 결과를 자동으로 생성합니다.계층적 집계:예를 들어, 부서별, 그리고 부서 내의 직급별 매출 집계를 구하는 경우, ROLLUP을 사용하면 부서별 합계와 전체 합계를 함께 산출할 수 있습니다.2. ROLLUP 구문ROLLUP은 G..
주요 컴포넌트와 역할Middle Manager역할:Middle Manager는 Overlord가 할당한 데이터 인제스천 작업(예: 배치 작업, 스트리밍 데이터 인덱싱)을 실제로 수행합니다.원시 데이터를 받아서 적절한 포맷으로 변환하고, 인덱싱한 후 세그먼트(segment)로 만들어 Deep Storage에 저장할 수 있도록 준비합니다.실시간 또는 배치 데이터 처리에서 데이터 변환, 필터링, 집계 등을 수행합니다.특징:작업이 완료되면 생성된 세그먼트는 Historical 노드로 전파되어 쿼리 서비스에 활용됩니다.인제스천 파이프라인의 핵심 역할을 하며, 성능 및 확장성에 중요한 영향을 미칩니다Overlord역할:인제스천 작업(task)을 관리하고, 이를 Middle Manager에 할당합니다.작업 스케줄링,..
CPU 사용률이 낮다는 것은 해당 프로세스가 CPU 집약적인 작업을 수행하지 않고, 다른 리소스(I/O, 네트워크, 디스크 등)에 의존하고 있을 가능성이 높습니다. 몇 가지 주요 원인을 살펴보면:I/O-bound 작업:프로세스가 주로 파일 입출력, 네트워크 통신, 데이터베이스 쿼리 등 I/O 작업을 기다리는 경우, CPU가 작업을 수행할 필요 없이 대기 상태가 되어 CPU 사용률이 낮게 나타납니다.블로킹 호출:내부에서 블로킹 함수나 시스템 호출(예: sleep, lock 등)을 사용하면 CPU가 여유 있는 상황이 발생할 수 있습니다.싱글 스레드 작업:단일 스레드로 실행되는 경우, 멀티코어 환경에서 다른 코어에 비해 CPU 사용률이 낮게 보일 수 있습니다. 실제로는 CPU 코어 한 개만 사용하고 있을 수 ..
왜 SSH 터널링을 하는가?보안 강화네트워크 트래픽을 암호화하여, 중간에서 도청이나 변조가 일어나지 않도록 보호합니다.방화벽 및 NAT 우회외부에서 접근할 수 없는 내부 서비스(예: 데이터베이스, 내부 웹 서버 등)에 안전하게 접속할 수 있습니다.원격 포트 포워딩로컬 머신의 특정 포트를 원격 서버의 포트로 연결하여, 로컬에서 원격 서비스에 접속할 수 있습니다.역방향 포트 포워딩원격 서버의 포트를 로컬 머신의 포트로 포워딩하여, 원격 서비스에 로컬 애플리케이션이 접근할 수 있도록 합니다. SSH 터널링의 종류로컬 포트 포워딩 (Local Port Forwarding)로컬 머신의 포트를 원격 서버의 특정 포트로 연결합니다.원격 포트 포워딩 (Remote Port Forwarding)원격 서버의 포트를 로컬 ..
scp로 파일 전송을 하니까 속도가 너무 느려서 답답한 경험이 있었다.찾아보니 scp는 싱글 스레드로 동작해서 그런 것 같았다.그래서 좀 더 빠른 파일 전송 툴을 찾아보게 됐고 , rsync에 대해 공부하게 됐다. rsync는 파일과 디렉터리를 효율적으로 동기화하거나 백업할 수 있는 강력한 도구입니다. rsync는 기존 파일과 비교하여 변경된 부분(차이점)만 전송하므로, 네트워크 대역폭을 절약하고 전송 속도를 개선할 수 있습니다. 또한, 로컬, 원격, 또는 두 위치 간에 데이터를 동기화할 수 있으며, 압축, 보안(SSH를 통한 전송), 재시도 등 다양한 옵션을 제공합니다. rsync의 주요 특징증분 전송: 원본과 대상 파일을 비교하여 변경된 부분만 전송합니다.압축 지원: 전송 중 데이터를 압축하여 네..