[카테고리:] 기술스택
-

증분 Sequence 기반의 대용량 로그 테이블 ETL 경험기
“로그 테이블 created_at에 인덱스 하나만 걸어주시면 안 될까요?”“테이블 사이즈가 수십 TB인데 인덱스만 TB 단위입니다. 안 됩니다.” 데이터 엔지니어로서 대용량 로그성 데이터를 다루다 보면 필연적으로 마주치는 상황이다. UPDATE 없이 쌓이기만 하는(Append-only) 로그 테이블인데, 너무 거대해서 날짜 컬럼(created_at)에 인덱스조차 걸 수 없는 상황.이 글은 그런 척박한 환경에서 Primary Key(Sequence) 하나만 믿고 고속으로 데이터를 퍼 날랐던 전략과, 그…
-
![[Troubleshooting] Spark가 데이터를 두 번 읽는 방법: JDBC 파티셔닝과 격리 수준의 환장 콜라보](https://goulgoul.kr/wp-content/uploads/2026/02/Gemini_Generated_Image_anw7meanw7meanw7-scaled.png)
[Troubleshooting] Spark가 데이터를 두 번 읽는 방법: JDBC 파티셔닝과 격리 수준의 환장 콜라보
“어제 매출이 왜 2배로 뛰었죠? 마케팅 대박 났나요?”“아뇨… 그럴 리가요…” (등줄기에 땀이 흐른다) 1. 사건의 발단: “데이터가 뻥튀기 됐어요” 어느 평화로운 오전, 분석가님으로부터 메시지가 왔다. 후행 마트 테이블의 집계 수치가 평소보다 훨씬 높게 나온다는 것.확인해 보니 특정 시간대의 데이터가 정확히 중복(Duplicate) 적재되어 있었다. PK가 중복되었으니 당연히 Sum 집계는 뻥튀기될 수밖에. 사용 중인 기술 스택은 AWS…
-
![[Troubleshooting] 00시 정각의 비극: 클라우드의 배신과 네트워크의 역습 (MWAA & Glue)](https://goulgoul.kr/wp-content/uploads/2026/01/Gemini_Generated_Image_gg7q66gg7q66gg7q-scaled.png)
[Troubleshooting] 00시 정각의 비극: 클라우드의 배신과 네트워크의 역습 (MWAA & Glue)
“클라우드는 무한하지 않다. 특히 내 지갑과 IP 주소, 그리고 오토스케일링 속도는 더더욱.” 1. 00시 정각, 대혼돈의 서막 우리 팀은 AWS MWAA(Managed Workflows for Apache Airflow)와 AWS Glue를 사용해 ODS 데이터를 적재한다.테이블 500개, 관련 Task만 2,000개가 넘는 이 거대한 파이프라인이 매일 00시 00분 00초에 동시에 출발 신호탄을 쏘아 올린다. 이론상으로는 아름다워야 했다.MWAA는 알아서 오토스케일링이 되고, Glue는…
-
![[Troubleshooting] 분석가님의 쿼리가 회사의 새벽을 멈춘 날 (feat. Redshift Lock)](https://goulgoul.kr/wp-content/uploads/2026/01/Gemini_Generated_Image_5nd5ln5nd5ln5nd5-scaled.png)
[Troubleshooting] 분석가님의 쿼리가 회사의 새벽을 멈춘 날 (feat. Redshift Lock)
00시 정각. 데이터 엔지니어에게는 가장 긴장되는 시간이다. 수백 개의 파이프라인이 동시에 돌아가며 데이터를 쏟아내는 이 시간에, 갑자기 지옥문이 열렸다. 1. 상황 발생: “배치는 돌고 있는데 데이터가 안 들어온다?” 여느 때와 다름없이 자정 배치가 시작됐다. 그런데 아침에 출근해서 확인해 보니, ODS(Operational Data Store) 테이블 갱신 작업이 Running 상태로 6시간째 멈춰 있었다. 이건 100% Lock 문제다. 그것도…
-
![[홈서버 구축기 3편] 서버 OS & 개발 환경 세팅 (feat. WSL2, Docker)](https://goulgoul.kr/wp-content/uploads/2025/12/image-2.png)
[홈서버 구축기 3편] 서버 OS & 개발 환경 세팅 (feat. WSL2, Docker)
지난 2편에서 고성능 미니 PC 세팅을 마쳤으니, 이제 본격적으로 서버를 굴릴 환경을 만들 차례다. 1. 고민의 시작: OS는 뭘로 하지? 처음엔 서버니까 당연히 우분투 서버(Ubuntu Server)를 깔까 고민했다. 하지만… 나는 뼛속까지 윈도우(Windows) 유저다. 리눅스 커맨드 라인이 익숙하긴 해도, GUI 환경에서 오는 그 편안함을 포기할 순 없었다. 게다가 메인 PC로도 쓸 거라서 리눅스 데스크톱은 좀… 그래서…
-
![[C++]전위/후위 연산자 성능](https://goulgoul.kr/wp-content/uploads/2024/10/DALL·E-2024-10-26-15.01.51-A-clean-professional-16_10-aspect-ratio-thumbnail-for-a-tech-blog-post-about-C-prefix-and-postfix-increment-operators.-At-the-top-a-bold-title-C.webp)
[C++]전위/후위 연산자 성능
전위 연산자 ++i, 후위 연산자 i++ 원래부터 진짜 필요한 곳이 아니면 후위 연산자 대신 전위 연산자를 쓰라. 성능과 메모리에 모두 영향을 준다.는 건 알고 있었지만 코딩 테스트 문제 풀면서 크게 영향을 준 케이스가 있어서 생각난 김에 정리. 그냥 프로그래밍 언어의 기본 중의 기본인 전위 연산자와 후위 연산자에 대한 짤막한 상식을 이야기해볼까 한다. 코드 한 줄을…
-

좌충우돌 웹서비스 프로젝트 수행기 – 4.MSA Web Service Architecture 설계
Microservice Architecture(MSA)? Monolithic? 말 그대로 작은 서비스. 큰 서비스를 잘게 쪼개어 각각 하나의 독립적인 서비스로 나누는 설계 방식이다. 규모가 큰 서비스의 경우에 이를 하나의 프로젝트로 관리하고 개발하고, 하나의 큰(이를 monolithic이라고 표현한다.) 서비스로 운영하게 되면 부작용이 생긴다. 작은 기능 수정인데도, 프로그램을 통째로 내려받아서 수정하고, 테스트하고, 빌드하고 배포해야 한다. 작은 하나의 기능에 문제가 생겨도 프로그램 전체에 문제가…
-
![[C++][VSCode]VSCode C++ MSVC 연동, 프로젝트 설정(vcpkg, CMake)](https://goulgoul.kr/wp-content/uploads/2024/10/DALL·E-2024-10-17-16.36.56-A-detailed-illustration-for-a-C-development-environment-setup-in-Windows-using-Visual-Studio-Code-MSVC-CMake-and-vcpkg.-The-image-should-include-.webp)
[C++][VSCode]VSCode C++ MSVC 연동, 프로젝트 설정(vcpkg, CMake)
달성 목표 코딩 테스트 연습 때문에 C++ 개발이 필요하다. 요즘 IDE는 계속 VSCode를 쓰고, 집 컴퓨터를 원격 데스크톱으로 붙어서 메인 컴퓨터로 쓰다 보니 그냥 MSVC(VS Community 2022 있음)를 쓰는 게 낫겠다고 생각해서 사용하려 했는데, Windows + VSCode + MSVC는 제대로 정리를 해본 적이 없네. WSL + VSCode + g++, Windows + VSCode + Mingx, Windows…
-
![[AWS]EBS란?(gp3, 요금, snapshot 등)](https://goulgoul.kr/wp-content/uploads/2024/07/1177d3c0-c164-4598-94f7-496f3139b143.webp)
[AWS]EBS란?(gp3, 요금, snapshot 등)
EBS(Elastic Block Store) AWS에서 제공하는 스토리지의 하나다. EC2에 mount하여 사용할 수 있는 볼륨이다. 보편적으로 알려져 있는 AWS S3는 스토리지 전용이라 파일 저장 및 불러오기만 가능한데 EBS는 PC에 장착되는 ssd처럼 인스턴스에 mount하여 파일 시스템으로써 활용할 수 있다. EBS 요금 요금은 서울 기준 실제 사용하는 GB, IOPS, throughtput의 합으로 요금이 청구된다. GB는 내가 실제로 사용하는 용량이고 IOPS는…
-

좌충우돌 웹서비스 프로젝트 수행기 – 3.프로젝트 조직구성(PM, PL, PO, QC 등)
웹서비스 프로젝트 구성원 Project 자… 프로젝트를 시작하기는 했는데… 그래서 누가 뭘 한다고? -> Project Product 우리가 제공하고 싶은 서비스가 몇 개야? -> Product 기획 누군가는 사용자가 직접 마주할 화면과 컨텐츠를 기획해야 하고… -> 기획 Frontend 개발 누군가는 기획된 내용의 시각적 기능을 개발해야 하고… -> Frontend 개발, 디자이너, 퍼블리셔 Backend Engineering 누군가는 시각적 기능에 보여져야 할…