Donghae Blog

Donghae Blog

  • Category (110)
    • Computer Science (28)
      • Computational thinking (7)
      • Algorithem (10)
      • Data structure (6)
      • Operating system (5)
    • Programming (25)
      • C (20)
      • Python (3)
      • SQL (2)
    • Data Engineering (3)
      • Linux (1)
      • Docker (1)
      • Apache Airflow (3)
      • Apache Spark (5)
      • BigQuery (6)
      • Datahub (1)
    • Problem Solving (26)
      • Baekjoon Online Judge (13)
      • Programmers (10)
      • CodeUp (2)
    • Conference (2)
    • Code States AI (4)
    • Writing (5)
  • 홈
  • 태그
  • 방명록
  • 글쓰기
RSS 피드
로그인
로그아웃 글쓰기 관리

Donghae Blog

컨텐츠 검색

태그

코딩테스트 자료구조 bigquery 시간복잡도 멋쟁이사자처럼 알고리즘 포인터 네이버 배열 부스트코스 스택 프로그래머스 글또 c언어 Django 백준 cs50 문자열 파이썬 장고

최근글

댓글

공지사항

아카이브

  • BigQuery INFORMATION SCHEMA 활용해 사용량 파악하기

    들어가며현재 사내에서는 구성원들이 BigQuery를 통해 직접 쿼리를 실행하고 있습니다. 하지만 팀에서 예상하지 못한 방식으로 테이블이 조회되는 경우가 종종 있는데요, 비용 문제 뿐만 아니라 테이블의 설계, 사용자 계정 권한 문제와도 연관있기 때문에 모니터링이 필요했습니다. 오늘은 BigQuery INFORMATION_SCHEMA를 활용해 실시간으로 빅쿼리 사용을 파악하는 방법을 정리해 보겠습니다. 제가 모니터링을 살펴보기 전부터 팀에는 Google Cloud Monitoring을 통해 1TB 이상 사용량이 감지되면 슬랙 알림이 전송되도록 설정되어 있었습니다. 하지만 시간이 지나면서 몇 가지 문제가 발생했습니다. 데이터를 활용하는 팀이 많아지며 알림이 자주 발생했습니다알림 메시지만으로는 쿼리 원인을 세..

    2025.09.14 23:45
  • 로컬에서 Kubernetes 시작하기: Minikube를 설치부터 HPA/VPA 실습까지

    들어가며 저는 현재 데이터 엔지니어로서 Airflow, Datahub 등의 데이터 플랫폼 도구를 사용하고 있습니다. 이 도구들은 모두 GCP VM 환경 위에서 동작하며 Docker 기반으로 관리 중인데요, 최근에는 리소스 최적화와 확장성 측면에서 Kubernetes와 같은 오케스트레이션 도구의 필요성을 느끼고 있어 Minikube 실습을 진행해 보았습니다. 1. Minikube 설치 Minikube는 로컬에서 단일 노드 Kubernetes 클러스터를 구성할 수 있는 도구입니다. macOS ARM64 기준 설치 과정은 다음과 같습니다.curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-darwin-arm64s..

    2025.06.22 22:20
  • GCP 방화벽 설정: 인그레스 규칙으로 포트 연결 오류 해결하기 🔐

    들어가며 최근 GCP 환경에서 *Zabbix Agent를 설치하던 중 포트 연결 오류가 발생했습니다. 원인은 GCP 방화벽의 인그레스(ingress) 규칙이 설정되지 않아 Zabbix 서버가 Agent에 접근할 수 없었던 것이었습니다. 이 일을 계기로 방화벽 설정의 중요성을 다시 한번 깨달았습니다. 오늘은 GCP 방화벽의 개념과 방화벽 규칙 설정 방법에 대해 정리해보겠습니다. *Zabbix: 서버 및 네트워크의 상태를 실시간으로 모니터링할 수 있는 오픈소스 기반의 모니터링 툴 이 글에서는 다음 내용을 다룹니다.GCP 방화벽의 개념과 설정 방법방화벽 설정 시 주의사항 1. GCP 방화벽 개념 GCP 방화벽은 VPC(Virtual Private Cloud)안에서 동작합니다. VPC는 GCP 내에서 가상으로 ..

    2025.03.30 23:05
  • BigQuery에서 Nested Data의 처리: Dremel 논문으로 이해하기②🕵️‍♀️

    들어가며 지난 글에서는 Dremel 논문[1]을 통해서 Nested Data(중첩 데이터)를 저장하기 위한 아이디어인 반복 레벨과 정의 레벨에 대해 살펴보았습니다. 오늘은 논문의 뒷부분인 반복 레벨과 정의 레벨을 이용해 효율적으로 column stripe를 생성하는 방법과 이를 다시 레코드로 바꾸는 방법을 알아보도록 하겠습니다. 그리고 이렇게 만들어진 레코드를 어떻게 쿼리로 처리하는지까지 살펴보도록 하겠습니다.*column stripe: 컬럼 기반 저장 방식에서 데이터를 나누는 단위. ✅ 레코드 -> 컬럼 Google에서 사용하는 많은 데이터는 희소한(Sparse) 형태, 예를 들자면 수천 개의 필드 중 실제로 값이 존재하는 필드는 백개 정도에 불과하는 형태를 갖고 있었습니다. 때문에 사용되는 필..

    2025.03.16 18:41
  • BigQuery에서 Nested Data의 처리: Dremel 논문으로 이해하기①🕵️‍♀️

    들어가며 빅쿼리로 수집되는 서비스의 데이터를 보면 > 와 같은 데이터 타입을 자주 볼 수 있습니다. 복잡한 데이터 구조를 효율적으로 저장하고 처리하기 위해 이러한 타입이 사용되는데요, 지난주에도 평소와 같이 데이터를 조회하다가 문득 이런 생각이 들었습니다.컬럼 기반 스토리지에서는 중첩된 데이터를 어떻게 처리할까? 컬럼 기반 스토리지는 각 컬럼을 따로 저장해서 압축률을 높이고 조회 성능을 최적화하는데요, STRUCT나 ARRAY와 같이 중첩되고 반복되는 데이터는 단순한 구조가 아니어서 궁금증이 생겼습니다. 이를 이해하기 위해 BigQuery의 기반이 되는 Dremel이 어떻게 Nested Data를 다루는지 알아보았습니다. Dremel의 등장 : Nested Data를 다루는 방법 Dremel은 구글이 2..

    2025.03.02 22:29
  • 토스 SLASH 24 리뷰: 토스 증권의 DW 설계 및 운영에서 배운 점 (AU 파이프라인 개선 사례)

    들어가며 작년부터 팀에서는 각 서비스의 주요 지표를 직접 생성하기 시작했습니다. 기존에는 마케팅, 사업부 등 각 부서의 요청에 따라 애드혹(Ad-hoc) 방식으로 데이터를 추출하거나 대시보드를 제공했지만, 현재 팀의 목표는 이에 더해 선제적으로 주요 지표를 제공하여 더 다양한 의사결정을 지원하는 것입니다.  이러한 변화 속에서 다른 화사들은 DW(Data Warehouse)를 어떻게 설계하고 운영하는지에 대한 궁금증이 많았습니다. 그러다 토스 SLASH 24의 전천후 데이터 분석을 위한 DW 설계 및 운영하기 발표를 접하게 되었는데요, 이번 글에서는 발표 내용을 정리하고 팀에 어떻게 적용할 수 있을지 생각해 본 내용을 적어보겠습니다.    토스 증권의 AU 파이프라인토스 증권에서는 다양한 패턴(방문 일자..

    2025.02.16 23:24
  • Kafka와 BigQuery를 활용한 데이터 파이프라인을 개선해보자☘️ (feat. MERGE문)

    들어가며 현재 제가 속한 데이터 팀에서는 준실시간 분석 요청에 대응하기 위해 Kafka와 BigQuery를 활용한 CDC 기반 데이터 파이프라인을 구축하고 있습니다. 그러나 Kafka 커넥터를 사용하는 과정에서 데이터 규모 증가로 인한 비용 문제 발생 가능성이 제기되었습니다. 이번 글에서는 Kafka 커넥터와 BigQuery MERGE 문을 사용한 기존 파이프라인의 한계를 살펴보고, 이를 개선하기 위해 테스트한 과정을 공유하고자합니다.   ✔️ CDC(Change Data Capture) 이름 그대로 데이터 베이스의 변경 사항을 실시간으로 추적하고 캡처하는 기술입니다. 데이터 웨어하우스 등 시스템으로의 동기화에 사용됩니다. 실시간 분석, 이벤트 기반 아키텍처 등에 활용할 수 있습니다. 1. 기존 구조Ka..

    2025.01.19 23:58
  • 2024년 회고와 2025년의 계획: 어떻게 살 것인가

    들어가며다사다난했던 12월도 어느덧 지나가 새해가 밝았습니다. 오늘은 지나간 2024년을 돌아보고, 2025년의 다짐을 담은 글을 작성해보겠습니다. 👀 2024년에는 무슨 일이 있었나?1. 이직 지난해 5월 이직을 했습니다. 팀의 규모는 이전보다 작아졌지만 조금 더 자유롭게 시도를 해볼 수 있는 환경입니다.BigQuery, Looker Studio와 SQL을 활용해 데이터 마트를 만들고 대시보드로 공유하는 작업을 많이 했습니다.다른 팀과 협업해야 하는 일이 생기면서 커뮤니케이션의 어려움을 느끼기도 했습니다.  ✔️ 최근에 『상자 밖에 있는 사람』이라는 책을 읽으며 혹시 내가 협업을 할때 자기 배반을 하고 상자속에 있지는 않았는지 돌아보게 되었습니다(이와 관련된 생각은 나중에 별도의 포스팅으로 정리해보..

    2025.01.05 09:37
  • 데이터 분석의 경계에 선 엔지니어의 <인프런 BigQuery(SQL) 활용편>후기 (feat. 빠짝 스터디)🌱

    들어가며 최근 업무에서 빅쿼리를 더 효과적으로 활용하는 방법을 고민하던 중 글또에서 성윤님(aka. 카일스쿨)의 인프런 강의 챌린지 소식을 듣게 되었어요. 일명 '빠짝 스터디'라는 이름으로 4주간 BigQuery 활용편 강의를 집중해 수강하는 프로그램이었는데요, 제가 관심있게 본 강의였고 30% 할인 쿠폰까지 제공되어 망설임 없이 신청했답니다.오늘은 강의를 선택한 이유와 스터디에서 배운 것들, 오프라인 모임에 다녀온 이야기까지 공유해보도록 할게요.  1. 강의를 듣게 된 이유 제가 속한 데이터 팀에는 분석가가 없어 직접 서비스의 지표를 구해야 하는 일이 종종 있어요. 일을 하다 보니 단순히 SQL 쿼리를 작성하는데 그치지 않고 데이터 분석의 개념과 흐름을 이해하고 싶은 생각이 들더라구요. 빅쿼리 활용편 ..

    2024.11.24 22:21
  • PostgreSQL 핫 백업을 해보자 (feat. 젠킨스)

    들어가며제가 속한 데이터 팀에서는 운영을 위한 별도의 PostgreSQL DB를 사용하고 있는데요, 지난 주 팀장님으로부터 DB의 백업 업무를 받게되었습니다. 오늘은 소중한 데이터를 불의의 사고(!)로 부터 지키기 위한 PostgreSQL 백업 방식과 이를 젠킨스로 자동화한 방법에 대해서 공유해보려고 합니다.  1. 콜드 백업과 핫 백업 처음 업무를 받았을 때 "콜드 백업이 아닌 핫 백업"으로 진행해달라는 요청이 있었습니다. RDB 백업은 처음이었기 때문에 용어부터 생소했던 기억이 나는데요 우선 개념을 알아보겠습니다. 1 ) 콜드 백업 데이터 베이스 서버를 내린 상태에서 진행하는 백업입니다. 오프라인 백업, 닫힌 백업이라고도 합니다. 주로 유지 관리 시간에 실행되며 백업을 하는 동안 서비스가 불가능합니다..

    2024.11.10 21:12
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바