목록분류 전체보기 (766)
우노
들어가기 앞서, 쿠버네티스 컨텍스트는 작업을 수행하는 데 사용되는 환경 및 설정을 의미합니다. 쿠버네티스는 kubectl 명령어를 사용하여, 여러 Kubernetes 클러스터 및 컨텍스트 간에 전환하거나, 현재 설정 정보를 확인하거나, 작업을 수행하는 등의 다양한 작업을 수행할 수 있습니다. 명령어 종류 kubectl config view 현재 설정된 모든 구성 요소에 대한 정보를 확인할 수 있습니다. Kubernetes 클러스터와의 연결 및 인증 설정, API 서버 주소 등과 같은 여러 구성 요소에 대한 정보가 표시됩니다. kubectl config get-contexts 모든 컨텍스트 목록과 현재 어떤 컨텍스트로 설정되어 있는지를 확인할 수 있습니다. kubectl config current-cont..
들어가기 앞서, 애플리케이션이 Google Cloud Platform(GCP)의 서비스들과 상호작용하기 위해선 사용자 인증 정보가 필요합니다. Application Default Credentials(ADC)는 Google Cloud Platform(GCP)에서 사용되는 인증 방식으로, Google Cloud Platform(GCP) 서비스 사용 시, 필요한 인증 정보를 애플리케이션 환경을 기준으로 자동으로 검색한 뒤 가져오는 인증 방식입니다. 간단한 예제를 통해 ADC 이해해보겠습니다. from google.cloud import storage # 개발자가 인증 정보를 명시적으로 지정하지 않아도, ADC를 사용하여 자동으로 인증됨 storage_client = storage.Client() # 이제 s..
들어가기 앞서, Cloud Run은 기본적으로 인터넷을 통해 외부로 트래픽을 노출시킵니다. 반면, Cloud SQL은 기본적으로 VPC 네트워크에 의해 보호되는 내부 IP 주소를 가지고 있으며, 인터넷에서 직접 액세스가 불가능합니다. 물론, Public IP 주소를 할당하는 경우에는 인터넷을 통해 액세스가 가능해질 수도 있습니다. 따라서, Cloud Run 애플리케이션이 내부 IP 주소를 사용하여 Cloud SQL과 통신할 수 있도록 하기 위해선 VPC Connector를 사용하여 Cloud Run과 VPC 네트워크를 연결해야합니다. VPC Connector는 Google Cloud 내의 리소스들이 VPC 네트워크에 접근할 수 있도록 해주는 컴포넌트입니다. Terraform Cloud Run 설정 예제 ..
들어가기 앞서, pymysql은 Python에서 MySQL 데이터베이스와 연동하는 데 사용되는 라이브러리입니다. pymysql을 사용하기 위해선 먼저 pymysql 라이브러리를 설치해야 합니다. pip install pymysql 또한, 데이터베이스 쿼리 결과를 pandas의 DataFrame으로 다루기 위해선 pandas 라이브러리도 함께 설치해야 합니다. pip install pandas 예제 코드 MySQL 서버에 연결하고 데이터베이스 쿼리 결과를 DataFrame으로 저장하는 예제 코드를 다뤄보겠습니다. import pymysql import pandas as pd # MySQL 서버에 연결 conn = pymysql.connect( host='your_mysql_host', use..
SQL(Structured Query Language)이란? SQL은 관계형 데이터베이스 유형을 지칭하는 용어입니다. SQL의 특징은 아래와 같습니다. 데이터는 테이블로 구성되며, 각 테이블은 행과 열로 이루어져 있습니다. 정해진 스키마를 사용하여 데이터베이스 테이블을 정의합니다. 데이터의 무결성과 일관성을 유지합니다. 복잡한 쿼리와 다양한 조인 연산에 중점을 둡니다. 행 기반으로 데이터를 저장합니다. 주요 SQL 데이터베이스는 아래와 같습니다. MySQL, PostgreSQL, Oracle, Microsoft SQL Server 행 기반 데이터베이스 데이터를 행 단위로 저장하는 데이터베이스 유형입니다. 행 기반 데이터베이스 저장 구조 예시 실제 테이블 데이터 파일은, 디스크 내부 페이지에 테이블의 ro..
들어가기 앞서, 데이터 엔지니어가 파이프라인에 집중하기 위해서는 인프라 업무 및 시스템 업무에서 분리되는 것이 가장 좋습니다. 이런 환경을 제공해 주는 것이 Google Cloud의 Cloud Composer입니다. Cloud Composer는 Apache Airflow를 기반으로 하는 완전 관리형 워크플로 조정 서비스입니다. 이러한 완전 관리형 서비스는 운영 부담이 적지만 비용이 많이 발생한다는 특징이 있습니다. 만약, 비용 효율적인 운영을 목표로 하고 있다면 Airflow 직접 운영과 Cloud Composer 사용을 비교함으로써 적절한 방식을 채택하는 게 좋을 수 있습니다. 따라서, 해당 포스팅에선 Airflow 직접 운영을 위해, Airflow Helm Chart를 사용해 Google Kubern..
데이터베이스 성능 관리가 필수적인 이유 효과적인 데이터베이스 성능 관리 전략은 사용자 만족도를 높이고 비용을 절감하며 모든 조직의 성공에 실질적으로 기여할 수 있습니다. 데이터베이스 성능 지표 종류 쿼리 성능 지표 데이터베이스 상태 지표 시스템 리소스 성능 지표 캐시 및 인덱스 성능 지표 연결 상태 지표 접근 경합 지표 쿼리 성능 지표 Query Response or Latency 데이터베이스가 쿼리나 요청에 대해 응답하는 데 걸리는 시간을 의미합니다. Slow Queries 실행 시간이 긴 쿼리들을 의미합니다. Most Frequent Queries 가장 빈번하게 실행되는 쿼리들을 의미합니다. 일반적인 쿼리 성능 저하의 원인 비효율적인 조회 종종 SELECT * 와 같이, 필요한 행, 열보다 더 많은 ..
행 기반 데이터베이스 실제 테이블 및 행 기반 데이터베이스 저장 구조 예시 실제 테이블 데이터 파일은, 디스크 내부 페이지에 테이블의 row를 나란히 이어서 저장하고 있습니다. 행 기반 데이터베이스에서 Insert, Update, Delete를 진행할 경우, row(record) 단위로 묶어서 처리할 수 있으므로 효율적입니다. 하지만, 특정 컬럼에 대한 집계는 모든 row(record) 묶음을 조회해야하므로 비효율적입니다. (필요없는 열까지 읽어야 함) ex) 모든 사람의 평균 연령 열 기반 데이터 베이스 실제 테이블 및 열 기반 데이터 베이스 저장 구조 예시 실제 테이블 데이터 파일은, 디스크 내부 페이지에 테이블의 column을 나란히 이어서 저장하고 있습니다. 열 기반 데이터베이스에서 Insert,..
Performance Mertric이란? 시스템이나 소프트웨어의 성능을 측정하고 평가하기 위해 사용되는 지표입니다. 해당 포스팅에선 웹/모바일 페이지 및 웹/모바일 애플리케이션의 Performance Mertric에 대해서 다뤄보겠습니다. Performance Mertric 종류 웹/모바일 페이지의 UX 성능을 측정하는 지표 Core Web Vitals(CLS, FID, LCP), ETC 웹/모바일 애플리케이션의 성능을 측정하는 지표 Golden Signals(Latency, Traffic, Errors, Saturation), ETC Core Web Vitals Core Web Vitals란? Google이 웹/모바일 페이지의 UX 성능을 모니터링하기 위해 가장 중요하다고 제시한 지표의 집합입니다. C..
schedule_interval이란? schedule_interval은 DAG 작업의 실행 주기를 의미합니다. Airflow는 이 정보를 기반으로 작업 스케줄링을 수행하며, 지정된 빈도에 따라 작업을 예약하고 실행합니다. 이 값은 cron 표현식 또는 timedelta 객체를 사용하여 지정할 수 있습니다. 해당 포스트에선, cron 표현식에 대해서 다뤄보겠습니다. CRON 표현식이란? cron 표현식은 유닉스 계열 운영체제에서 일정한 시간 간격으로 작업을 실행하기 위해 사용되는 표현식입니다. cron 표현식은 일반적으로 다음과 같은 형식으로 구성됩니다. * * * * * 각각의 별표(*)는 다음과 같은 의미를 가집니다. 분(Minute) : 0부터 59까지의 값을 가집니다. 시간(Hour) : 0부터 2..