[쿼리 최적화 시리즈 番外편 9] 읽기/쓰기 분리(Replication) 아키텍처 실무 적용“DB 성능 튜닝 다 했는데도 읽기 트래픽이 너무 많아 버거운데요…”이럴 때 가장 먼저 도입되는 게 바로 Replication 기반 읽기/쓰기 분리입니다.이번 글에서는 마스터-슬레이브 구조를 통한 읽기 최적화 전략을 살펴봅니다.📌 1. 기본 개념Master DB쓰기(INSERT, UPDATE, DELETE) 전담정합성 보장Slave DB (Replica)읽기(SELECT) 전담Master의 binlog/redo log를 기반으로 동기/비동기 동기화📌 2. Replication 방식비동기 (Asynchronous)Master에 쓰기 성공 → 즉시 OK 반환Slave는 나중에 반영장점: 빠름, 부하 적음단점: 쓰기..
🔄 Variational Inference for Bayesian Time Series Forecasting in JAXIn the last post, we used MC Dropout as a practical Bayesian trick.Now, let’s go deeper: Variational Inference (VI), a method that learns an approximate posterior over model parameters.Instead of having fixed weights, we let weights be distributions.This gives us a principled Bayesian framework, where we learn q(θ | φ) (variatio..
[쿼리 최적화 시리즈 番外편 7] 캐싱(Caching)으로 읽기 성능 폭발시키기쿼리 최적화의 궁극적 목표는 **“쿼리를 줄이는 것”**입니다.아무리 인덱스를 잘 걸어도, 결국 DB에 매번 요청하면 병목이 생기죠.그래서 대규모 서비스에서는 **캐싱 계층(Cache Layer)**을 두어 성능을 끌어올립니다.📌 1. 캐싱의 기본 원리자주 쓰이는 쿼리 결과나 계산 결과를 메모리에 저장동일한 요청이 오면 DB 대신 캐시에서 즉시 응답장점:응답 속도 수백 배 향상DB 부하 감소비용 절감 (쿼리 리소스 절약)📌 2. 캐싱 계층 설계 방법① Application-level Cache코드 레벨에서 변수/객체로 보관Python의 functools.lru_cache, Java의 Guava Cachefrom functo..
🧩 Bayesian Time Series Forecasting with JAX – Variational Inference & DropoutWe’ve explored Gaussian likelihood and Quantile Regression for probabilistic forecasting.Now let’s talk Bayesian methods: using priors + posterior distributions to represent uncertainty in our forecasts.Unlike point-estimates, Bayesian models let us ask questions like:What’s the probability demand exceeds a threshold?H..
[쿼리 최적화 시리즈 番外편 6] 샤딩(Sharding)으로 수평 확장하는 방법파티셔닝이 한 데이터베이스 내부에서 데이터를 나누는 전략이라면,샤딩은 아예 여러 데이터베이스 서버로 데이터를 분산하는 전략입니다.오늘은 대규모 서비스에서 필수적인 샤딩 기법과 주의할 점을 정리해봅니다.📌 1. 샤딩(Sharding)이란?데이터를 여러 DB 인스턴스(샤드)에 나누어 저장하는 것각 샤드는 데이터 일부만 보관장점:단일 서버 부하 감소무한에 가까운 수평 확장 가능장애 격리 효과 (한 샤드 장애 → 전체 서비스 중단 방지)📌 2. 샤딩 전략Key-based Sharding (해시 샤딩)user_id % N 방식으로 샤드 분배장점: 균등 분산단점: 샤드 수 변경 시 데이터 재배치 필요-- 예시: user_id 기반 샤..
📐 Quantile Regression for Time Series Forecasting in JAXIn the last post, we introduced probabilistic forecasting with Gaussian likelihood.But Gaussian assumptions don’t always hold — time series data can be asymmetric or heavy-tailed.👉 That’s where Quantile Regression comes in. Instead of predicting a single mean and variance, we directly estimate different quantiles (like the 10th, 50th, and..
[쿼리 최적화 시리즈 番外편 5] 대규모 데이터에서의 파티셔닝 전략수백만 건 이상 데이터가 쌓이면,아무리 인덱스를 잘 걸고 캐싱을 해도 쿼리 성능이 급격히 떨어집니다.이때 필요한 게 바로 **파티셔닝(Partitioning)**입니다.오늘은 MySQL, PostgreSQL 등 RDBMS에서 활용할 수 있는 파티셔닝 기법을 정리합니다.📌 1. 파티셔닝이란?큰 테이블을 작은 단위로 쪼개는 것사용자는 여전히 하나의 테이블로 보지만, 내부적으로는 여러 파티션에 분산 저장장점:검색 범위 축소 → 쿼리 속도 향상데이터 관리 유연성 (백업, 삭제, 압축)병렬 처리 가능성 확대📌 2. 파티셔닝 방식Range Partitioning (범위 기반)→ 연도, 월별로 데이터 쪼개기CREATE TABLE orders ( i..
🎲 Probabilistic Time Series Forecasting with JAX – Embracing UncertaintySo far, we’ve built deterministic models: they output a single forecast.But in the real world, uncertainty matters.👉 Think about:Energy demand forecasting → confidence intervals matter for grid planningStock predictions → risk management needs probabilistic rangesWeather forecasting → nobody trusts a single numberThat’s wh..
[쿼리 최적화 시리즈 番外편 4] 인메모리 처리 기법 – Redis와 쿼리 속도 혁신데이터베이스 튜닝을 아무리 해도 한계가 오는 순간이 있습니다.특히 읽기 요청 폭주나 실시간 통계 처리 같은 경우죠.이때 구원투수가 되는 게 바로 인메모리 처리입니다.오늘은 대표적으로 Redis를 활용한 쿼리 최적화 전략을 정리합니다.📌 1. 왜 인메모리인가?디스크 기반 DB는 I/O가 병목인메모리 DB(Redis, Memcached)는 RAM 기반 → 속도 수천 배 향상반복되는 쿼리/집계에 특히 효과적📌 2. Redis 캐싱 패턴Query Result Caching자주 호출되는 SELECT 결과를 Redis에 저장→ DB 부하를 대폭 줄임import redis, json r = redis.Redis() key = f"..
🚀 End-to-End Time Series Forecasting Pipeline with JAXSo far, we’ve explored:JAX basics, vectorization, and GPU accelerationRNNs, GRUs, and Transformers for forecastingTemporal Fusion Transformers (TFT) for interpretabilityNow it’s time to connect everything into a production-style pipeline.🏗 Step 1: Data PreprocessingWe’ll use the electricity consumption dataset (or any CSV with a date + valu..
- Total
- Today
- Yesterday
- rag
- fastapi
- nextJS
- kotlin
- gatsbyjs
- llm
- flax
- DevOps
- 프론트엔드면접
- seo 최적화 10개
- CI/CD
- time series
- Ktor
- 개발블로그
- App Router
- REACT
- Next.js
- 웹개발
- Docker
- 파이썬알고리즘
- 프론트엔드
- Prisma
- JAX
- NestJS
- SEO최적화
- 쿼리최적화
- 면접질문
- PostgreSQL
- 딥러닝
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |