BACKEND(108)
-
LATERAL JOIN, 어렵지 않게 사용하기
본 포스팅은 LATERAL JOIN을 이해하고 실습해보기 위한 포스팅입니다. LATERAL JOIN 은 PostgreSQL, Oracle, DB2, MS SQL 등에서 사용될 수 있지만, 잘 알려지지는 않은 기능입니다. 최근 쿼리를 작성하면서 LATERAL JOIN 기능을 사용할 일이 있었는데요. LATERAL JOIN 으로 어떤 것들을 할 수 있을지 잘 파악한다면, 꽤 유용한 기능이라고 생각이 들어 글을 작성해보고자 합니다. 내용을 살펴보기 전에, SQL의 기본적인 SELECT 와 FROM 구문을 생각해봅시다. SELECT FROM ; 기본적으로, 위 코드는 루프를 돌며 데이터를 가져오는 것을 알 수 있는데요. 마치 아래와 같은 pseudo 코드와 같이 생각할 수 있습니다. for x in tab lo..
2023.11.28 -
Kubernetes Architecture, 제대로 이해하기 - Control Plane
🔗 Kubernetes Series 모든 Kubernetes 시리즈를 확인하시려면 위를 참고해 주세요. Kubernetes Architecture 쿠버네티스 아키텍처는 컨테이너화된 워크로드를 안정적이고 적응 가능한 환경을 제공하기 위해, 여러 서버와 클러스터에 분산된 컴포넌트들이 함께 동작하는 집합입니다. 쿠버네티스 클러스터는 크게 컨트롤 플레인Control plane과 워커 노드 Worker Node 로 구성됩니다. 지금부터 쿠버네티스 아키텍처의 중요 요소들을 이해하도록 해당 개념을 다루며, 본 글에서는 컨트롤 플레인에 해당하는 컴포넌트를 살펴보도록 하겠습니다. 워커 노드에 해당하는 글은 다음 글로 찾아뵙겠습니다. Kubernetes Components Kubernetes 아키텍처는 master-wo..
2023.11.22 -
Docker Swarm, 제대로 이해하기 - Swarm & Service
본 포스팅은 Docker Swarm 과 Service의 개념을 익히고 실제 사용할 수 있도록 데모를 실행해보는 것을 목표합니다. 📌 Docker Series Docker Engine, 제대로 이해하기 (1) - docker engine deep dive Docker Engine, 제대로 이해하기 (2) - namespace, cgroup Docker Network, 제대로 이해하기 (1) - libnetwork Docker Network, 제대로 이해하기 (2) - bridge, host, none drivers Docker, 제대로 사용하기 - Commands > Docker Swarm, 제대로 이해하기 - Swarm & Service Docker Swarm : 여러 도커 호스트를 클러스터로 묶어 주는..
2023.10.30 -
Docker, 제대로 사용하기 - Commands
본 포스팅은 Docker 명령어 중, 실제 현업에서 많이 사용하는 명령어를 습득하고 적절한 상황에서 사용할 수 있도록 목표합니다. 📌 Docker Series Docker Engine, 제대로 이해하기 (1) - docker engine deep dive Docker Engine, 제대로 이해하기 (2) - namespace, cgroup Docker Network, 제대로 이해하기 (1) - libnetwork Docker Network, 제대로 이해하기 (2) - bridge, host, none drivers > Docker, 제대로 사용하기 - Commands 안녕하세요. 오늘은 Docker 명령어를 정리해보고자 합니다. 해당 포스팅에 작성된 명령어 이외의 많은 명령어들이 존재하지만, 본 포스팅은..
2023.10.17 -
Apache Airflow, 어렵지 않게 시작하기
Airflow의 간단한 Demo를 제작하며 Airflow에 익숙해지는 것이 본 포스팅의 목표입니다. 안녕하세요. 이번에는 짧게 Airflow 시리즈를 작성해보려고 합니다. 본 포스팅은 Airflow에 대한 가장 기본이 되는 개념을 다룹니다. pip3 + venv venv 를 통해 가상 환경을 만들어 격리된 환경에서의 세팅을 설정해보겠습니다. Python은 프로젝트 별로 독립된 개발 환경을 구성하도록 가상 환경 (virtual environment) 기능을 제공합니다. 이를 통해 프로젝트 간 의존성 충돌 문제를 효과적으로 예방할 수 있습니다. Airflow를 이러한 독립 환경에 설정해서 기존의 환경에 호환되지 않아 생기는 부수적인 문제 없이 설치해보도록 하겠습니다. FYI. virtualenv Python..
2023.10.04 -
Apache Airflow, 제대로 이해하기 - Schedule
Airflow의 Scheduling을 이해하는 것이 본 포스팅의 목표입니다. 안녕하세요. 이번에는 짧게 Airflow 시리즈를 작성해보려고 합니다. 본 포스팅은 Airflow에 대한 가장 기본이 되는 개념을 다룹니다. Scheduling Airflow를 통해 각 DAG에 대한 스케줄 간격을 정의하여 파이프라인이 실행되는 정확한 시간을 결정할 수 있습니다. Flow가 매 시간, 매일, 매주 등으로 DAG를 실행하도록 지시하거나, Cron 같은 식을 사용해서 복잡한 스케줄 간격을 사용할 수 있습니다. Airflow DAG를 개발하고 실행하기까지의 전반적인 프로세스를 살펴보면서, Airflow가 DAG를 어떻게 실행하는지 알아보겠습니다. Components Airflow는 크게 세 가지로 구성되어 있습니다. ..
2023.10.03