목록2024/12 (16)
내 잡다한 노트
1. 데이터 웨어하우스 (Data Warehouse)정의데이터 웨어하우스는 **구조화된 데이터(Structured Data)**를 저장하고 분석하기 위해 설계된 중앙화된 데이터 저장소입니다. 조직 내 다양한 데이터 소스에서 데이터를 가져와 통합하고, 의사결정과 비즈니스 인텔리전스(BI) 작업을 지원합니다.특징정제된 데이터: 데이터를 저장하기 전에 전처리(ETL)를 수행하여 데이터의 품질과 구조를 통일.스키마 온 라이트(Schema-on-Write): 데이터를 저장하기 전에 스키마를 정의해야 함.구조화된 데이터: 데이터베이스, ERP, CRM 등에서 가져온 정형 데이터를 처리.빠른 쿼리 성능: SQL과 BI 도구를 활용한 빠르고 효율적인 쿼리 수행.목적: 데이터 분석, 보고서 작성, 대시보드 생성.사용 사..
Jenkins의 공식 문서에서 Organization Folders 사용을 권장하는 이유는 주로 대규모 프로젝트 관리, 자동화된 리포지토리 발견, 일관된 파이프라인 관리 등을 통해 CI/CD 프로세스를 더욱 효율적이고 확장 가능하게 만들기 때문입니다. 1. Organization Folders란?Organization Folders는 GitHub, GitLab, Bitbucket과 같은 소스 코드 관리(SCM) 플랫폼에서 조직(Organization) 또는 사용자(User) 계정 아래에 있는 모든 리포지토리를 자동으로 탐색하고, 각 리포지토리에 대해 개별적인 Jenkins 파이프라인을 생성하는 기능입니다. 이를 통해 여러 리포지토리를 중앙에서 관리하고, 자동화된 방식으로 빌드 및 배포 파이프라인을 설정할..
분산 코디네이터(Distributed Coordinator)는 분산 시스템에서 여러 노드나 컴포넌트 간의 작업을 조정하고 일관성을 유지하기 위해 사용되는 핵심 구성 요소입니다. 분산 환경에서는 여러 독립적인 시스템이 협력하여 작업을 수행해야 하는데, 이 과정에서 효율적이고 신뢰성 있는 조정이 필요합니다. 분산 코디네이터는 이러한 요구를 충족시키기 위해 다양한 역할을 수행합니다.주요 역할상태 관리(State Management):시스템 전체의 상태를 추적하고 관리합니다. 이를 통해 각 노드가 현재 어떤 작업을 수행하고 있는지, 어떤 리소스를 사용 중인지 등을 파악할 수 있습니다.리더 선출(Leader Election):분산 시스템에서는 종종 특정 작업을 조정할 리더 노드가 필요합니다. 코디네이터는 리더를 ..
1. Declarative Pipeline장점가독성구조화된 문법을 사용하므로 코드가 직관적이고 읽기 쉬움.정해진 구문(pipeline, stages, steps) 덕분에 초보자도 쉽게 이해 가능.에러 방지Jenkins에서 선언형 문법을 강제하기 때문에 문법 오류를 줄일 수 있음.Jenkins의 자동 완성 및 구문 검증 기능과 잘 연동됨.표준화팀 간에 파이프라인 작성 방식이 일관될 수 있음.반복 가능한 작업에 적합.내장 기능post 블록과 같은 후처리 단계(always, success, failure)를 기본 제공.agent 설정, 환경 변수(environment) 선언이 간단.단점제한된 유연성복잡한 조건 분기나 동적인 작업에는 적합하지 않음.특정한 로직을 구현하려면 Scripted Pipeline으로 전..
logrotate는 리눅스 시스템에서 로그 파일을 효율적이고 자동적으로 관리하기 위한 도구이다. 서버나 애플리케이션은 동작하면서 다양한 이벤트 및 상태 정보, 에러 메시지를 로그로 기록하게 되는데, 이 로그 파일의 크기가 무한정 커지면 디스크를 과도하게 차지하고 관리가 어려워진다. logrotate는 이러한 로그 파일을 일정한 정책에 따라 주기적으로 회전(rotation)하거나, 오래된 로그를 삭제하거나, 압축하고, 권한을 재설정하는 등 로그 파일 관리 전반을 자동화하여 시스템 관리자의 부담을 줄여준다.아래는 logrotate의 주요 개념과 동작 방식, 설정 방법 등에 대한 자세한 설명이다. 주요 기능 및 동작 원리로그 회전(log rotation):특정 주기(일별, 주별, 월별 또는 로그 크기 기준)에..
프록시(Forward Proxy)와 리버스 프록시(Reverse Proxy)는 모두 "프록시"라는 개념을 공유하지만, 트래픽의 흐름 방향 및 주체, 활용 목적에 따라 크게 구분됩니다. 1. 프록시(Forward Proxy)개념:프록시는 클라이언트가 인터넷 리소스(웹 서버, API 등)에 접근할 때, 중간에 위치하여 클라이언트의 요청을 대신 전달하고 응답을 받아 전달해주는 중개자 역할을 합니다. 주로 클라이언트 측에 가까이 위치하며, 클라이언트는 프록시를 통해 외부 서버에 접근합니다.동작 방식:클라이언트(예: PC, 서버)는 직접 외부 서버로 접속하지 않고, 프록시 서버로 요청을 보냅니다.프록시 서버는 클라이언트를 대신해 외부 서버에 요청을 보내고, 응답을 수신합니다.프록시 서버는 받은 응답을 다시 클라이..
/etc/environment 파일에서 전역 환경변수를 설정할 수 있다. 이 파일은 PAM 로그인 시 자동으로 읽혀서 모든 로그인 세션에 환경 변수를 반영한다.(단, GUI 환경에서는 다르게 동작할 수도 있다.)
Join은 데이터베이스에서 여러 테이블의 데이터를 서로 연결하여 하나의 결과 집합으로 만드는 작업을 의미합니다. 테이블 간의 관계를 활용하여 관련 데이터를 조회할 때 사용됩니다.Join의 필요성관계형 데이터베이스는 데이터를 정규화하여 여러 테이블로 나누어 저장합니다. 따라서 필요한 데이터를 한 번에 조회하려면 각 테이블을 Join을 통해 연결해야 합니다.예를 들어:고객 정보는 customers 테이블에, 주문 정보는 orders 테이블에 분리되어 있을 때, 특정 고객이 한 주문 정보를 조회하려면 두 테이블을 Join해야 합니다.Join의 종류다양한 Join 유형이 있으며, 필요한 데이터를 어떤 방식으로 결합할지에 따라 선택됩니다.1. INNER JOIN (내부 조인)두 테이블에서 공통된 값이 있는 행만 ..