- DB / 데이터·
cloudflare-blog·#clickhouse#lock-contention#query-planner - DB / 데이터·
AWS Korea·Amazon ElastiCache for Valkey의 CESC로 Interactive AI 스토리텔링 플랫폼 최적화하기
문제Interactive AI 스토리텔링 플랫폼 타닥(뷰컴즈) 이 실시간 이미지 생성 응답 3~5초, 비용 부담이 큼.
접근CESC(Context Enabled Semantic Caching) — 사용자 입력·월드 메타·캐릭터 상태를 벡터화해 ElastiCache for Valkey 에 저장. 유사 과거 요청 검색해 캐시 이미지 즉시 반환. Valkey GLIDE 클라이언트 하이브리드 검색 + LLM 검증으로 환각 방지.
결과캐시 적중 시 응답 100ms 미만(98% 단축). 전체 트래픽 35% 캐시 처리. 월 1,750만 원 생성 비용 절감.
#embedding#aws#valkey+2 - DB / 데이터·
AWS Korea·Aurora PostgreSQL에서 한국어 하이브리드 검색 구현하기: pg_bigm + pgvector로 만드는 한국어 특화 RAG
문제RAG 애플리케이션의 한국어 검색에서 벡터 검색만으론 고유명사·전문용어 누락과 조사 변화 매칭에 약하다.
접근Aurora PostgreSQL 에서 pg_bigm(바이그램 키워드 검색)과 pgvector(벡터 시맨틱 검색)를 RRF(Reciprocal Rank Fusion)로 결합한 하이브리드 검색을 구성.
결과두 방식의 약점이 상호 보완되어 한국어 RAG 의 검색 품질이 개선. 키워드·의미 검색을 한 DB 안에서 통합 운용 가능.
#rag#pgvector#hybrid-search+1 - DB / 데이터·
meta-eng·Migrating Data Ingestion Systems at Meta Scale
#data-platform#migration#data-ingestion+1 - DB / 데이터·
NHN Cloud Meetup·MySQL 3분 vs ClickHouse 0.3초 — 같은 쿼리입니다
#clickhouse#mysql#olap+2 - DB / 데이터·
discord-blog·How Discord Automates ScyllaDB Clusters at Scale
#scylladb#automation#control-plane - DB / 데이터·
토스 SLASH·StarRocks 운영기: Resource Group으로 멀티테넌트 워크로드 격리하기
문제하나의 OLAP 클러스터(StarRocks)를 여러 팀이 공유할 때, 한 팀의 무거운 쿼리가 다른 팀의 SLA에 영향을 준다.
접근StarRocks의 Resource Group 기능으로 CPU/메모리 자원을 팀 단위로 격리. 워크로드 라벨링과 우선순위 정책으로 멀티테넌트 환경을 운영.
결과한 팀의 ad-hoc 쿼리가 전체 클러스터를 흔들지 못하게 차단. 자원 격리와 비용 효율을 동시에 달성.
#olap#data-platform#starrocks+2 - DB / 데이터·
당근·모두가 데이터를 다루는 AI 시대, 지난 1년간 데이터 팀은 어떻게 달라졌을까?
문제모두가 LLM/AI로 데이터를 다루게 된 시기, 데이터 팀의 역할이 모호해졌다. 단순 SQL 작성/리포트 제공이 셀프서비스로 대체된다.
접근당근 데이터 팀이 지난 1년간 역할을 재정의. 셀프서비스 인프라(쿼리 도구, semantic layer), 데이터 품질 가드레일, LLM 기반 분석 도구 운영으로 이동.
결과분석가가 단순 요청 응대에서 해방돼 더 어려운 문제(데이터 모델링, 실험 설계, 인과 분석)에 집중. 데이터 팀과 다른 팀의 관계가 바뀌었다.
#llm-app#data-engineering#data-team+1 - DB / 데이터·
LINE Engineering·Hive에서 Iceberg로: 데이터 반영 속도 12배 향상의 비밀
문제Hive 기반 데이터 레이크에서 데이터 반영 속도가 느려 down-stream 분석/머신러닝 파이프라인이 지연된다.
접근Apache Iceberg 로 마이그레이션. 파티션 evolution, schema evolution, time travel 같은 Iceberg 기능을 활용한 lakehouse 패턴 적용.
결과데이터 반영 속도 12배 개선. 운영 복잡도는 낮추면서 분석 latency 도 줄임.
#data-engineering#migration#iceberg+2 - DB / 데이터·
무신사 테크·보이지 않는 품질, 데이터. 로그가 틀리면 고객도 틀린다
문제로그가 틀리면 그에 기반한 분석/고객 응대도 틀린다. 데이터 품질 문제는 down-stream 의 모든 결정을 망친다.
접근무신사가 데이터 quality gate, 로그 검증 룰, 이상치 자동 알람 같은 데이터 엔지니어링 패턴을 정착.
결과데이터 품질 문제가 발생 즉시 감지되고, 잘못된 데이터로 의사결정 / 고객 응대가 나가는 빈도가 줄었다.
#data-engineering#logging#observability+2 - DB / 데이터·
카카오페이·수억 건의 데이터, 맛있게 쪼개 먹는 방법 (with. Partitioning)
문제수억 건의 거래 데이터를 단일 테이블에 넣으면 쿼리 / 인덱스 / 백업 모두 비효율적이 된다.
접근카카오페이가 DB 파티셔닝(range / list / hash) 을 선택 기준에 따라 적용. 파티션 키 마이그레이션, 인덱스 재구성, 운영 시 마주친 함정까지 정리.
결과대용량 쿼리 성능 개선 + 백업 / 보관 정책 효율화. 실측 성능 개선 데이터까지 공유.
#database-partitioning#rdbms#scaling+2 - DB / 데이터·
LINE Engineering·슬로우 쿼리 해결기: 함수형 인덱스로 비트 연산 쿼리 최적화하기
문제WHERE 절의 비트 연산 같은 derived 표현식은 일반 인덱스로는 안 잡힌다. 그 결과 슬로우 쿼리가 된다.
접근LINE 이 함수형 인덱스(functional / expression index) 로 표현식 자체에 인덱스를 적용. PostgreSQL / MySQL 둘 다 지원하는 기능 활용.
결과슬로우 쿼리 latency 대폭 단축. 인덱스 설계 시 "표현식도 인덱싱 가능" 이라는 옵션 소개.
#rdbms#sql-optimization#functional-index+2 - DB / 데이터·
네이버 D2·스마트스토어센터 Oracle에서 MySQL로의 무중단 전환기
문제Oracle 에서 MySQL 로 전환할 때 SQL 방언, sequence vs auto_increment, 트랜잭션 모델 차이 같은 함정이 있다. 그것도 무중단으로.
접근네이버 스마트스토어센터가 dual-write + shadow validation + 점진 cutover 패턴으로 마이그레이션. 차이를 자동 비교로 검증하면서 진행.
결과서비스 중단 없이 RDBMS 교체 완료. RDBMS 마이그레이션의 모범 사례로 정리.
#rdbms#oracle-to-mysql#database-migration+2 - DB / 데이터·
원티드랩·데이터는 지웠는데 비용은 그대로? Aurora 스토리지 비용 최적화 하기
#cost-optimization#storage#wanted+1 - DB / 데이터·
Hyperconnect·Super Disk 로 만든 회복탄력성 높은 고성능 ScyllaDB 클러스터
문제Hyperconnect 의 전사 NoSQL 인 ScyllaDB 클러스터에서 cluster rolling update 시 노드 복구 시간이 지나치게 길었다. ML feature store 등 핵심 서비스의 가용성에 영향을 준다.
접근Write-mostly RAID 인 Super Disk 기능을 도입. write 트래픽을 빠른 디스크 그룹으로 흡수해 복구 I/O 를 단축한다. Kubernetes 환경 관리는 Windmill 기반 자동화로 처리.
결과Rolling update 복구 시간을 기존 대비 최대 10배 단축했다. 운영 자동화로 ScyllaDB 클러스터의 회복탄력성을 높였다.
#kubernetes#scylladb#raid+1 - DB / 데이터·
카카오페이·실시간 OLAP을 위한 Apache Pinot 운영 노하우
문제실시간 OLAP 으로 Apache Pinot 를 도입했지만 초기에는 운영 사례가 부족하고 안정성도 부족해 장애·복구·실시간 Upsert 운영에서 시행착오가 컸다.
접근Pinot 클러스터 구성, 노드 장애 시 복구 아키텍처, 실시간 Upsert 테이블 운영 노하우 세 축으로 운영 매뉴얼을 정립. 실제 운영 사고에서 얻은 패턴을 클러스터 토폴로지 결정에 반영.
결과카카오페이 빅데이터 플랫폼에서 Pinot 가 안정적으로 운영되는 기반을 만들었다. 실시간 데이터 분석 인프라의 회복탄력성과 운영 효율을 동시에 확보.
#olap#apache-pinot#real-time-analytics+1 - DB / 데이터·
카카오페이·우리의 애플리케이션에서 PreparedStatement는 어떻게 동작하고 있는가
문제JDBC PreparedStatement 는 Hibernate · HikariCP · MySQL Connector/J 같은 추상화 레이어를 지나면서 실제 동작이 가려진다. 잘못된 설정은 MySQL 의 PREPARE 호출 횟수와 성능에 큰 영향을 준다.
접근추상화 레이어를 내부 구현 수준까지 따라가 PreparedStatement 가 어디에서 캐시되고 어디에서 reset 되는지 검증. `useServerPrepStmts`, `cachePrepStmts` 같은 옵션과 성능을 정량 비교한다.
결과"추상화된 채로 막 쓰는" 단계에서 "설정 의도를 안다" 단계로 올라간다. PreparedStatement 설정 가이드라인을 실측 데이터로 정리.
#mysql#prepared-statement#jdbc+1