태그: #mysql
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 23 편
트랜잭션 격리 수준과 실제 이상 현상 — 표준 정의가 구현과 다른 지점
트랜잭션 격리 수준 네 가지와 dirty read, non-repeatable read, phantom read를 정리하되, 교과서의 표 하나로 끝내지 않습니다. PostgreSQL의 Read Committed가 왜 처음부터 dirty read를 만들 수 없는지, Repeatable Read가 왜 사실은 스냅샷 격리이고 직렬화 실패를 애플리케이션이 재시도해야 하는지, MySQL InnoDB의
2026-07-26 · 22 분 읽기 #database#postgresql#transaction#isolation-level#mysql인덱스를 만들었는데 안 타는 이유 — 옵티마이저가 맞고 내가 틀린 경우들
인덱스를 만들었는데 실행 계획에 Seq Scan이 그대로 남는 이유를 원인별로 정리합니다. 선택도가 낮아서 옵티마이저가 일부러 무시하는 경우, 컬럼에 함수나 연산이 걸려 sargable하지 않은 경우, 타입 불일치로 암묵적 캐스팅이 일어나는 경우, LIKE 선행 와일드카드, OR 조건, 복합 인덱스 선두 컬럼 규칙, 통계 노후화, NULL 처리까지 실제 SQL과 실행 계획으로 확인합니다. 부
2026-07-26 · 21 분 읽기 #database#postgresql#index#query-optimization#mysql데드락 진단과 예방 — 로그에서 두 쿼리를 특정하는 법
deadlock detected 오류를 만났을 때 무엇을 봐야 하는지 순서대로 정리합니다. PostgreSQL의 데드락 리포트와 MySQL의 SHOW ENGINE INNODB STATUS 출력을 한 줄씩 해석해 어느 두 쿼리가 엮였는지 특정하는 방법, 실무에서 반복되는 세 가지 패턴인 갱신 순서 불일치와 인덱스 부재로 인한 락 범위 확대와 외래 키가 유발하는 부모 행 잠금을 다룹니다. dea
2026-07-26 · 25 분 읽기 #database#postgresql#deadlock#locking#mysqlMySQL 9.7 다음 버전은 26.7 — 2026년 봄, MySQL과 MariaDB가 릴리스 모델을 정리한 방식
2026년 4월 21일 MySQL 9.7.0이 GA로 나오면서 8.4 이후 거의 2년 만에 새 LTS 라인이 열렸고, 같은 달 MySQL 8.0은 Extended Support가 끝나 Sustaining Support로 내려갔습니다. 그리고 6월 16일 Oracle은 버전 번호를 YY.M 캘린더 버저닝으로 바꾼다고 발표해, 9.7 다음 혁신 릴리스는 9.8이 아니라 26.7이 됐습니다. Ma
2026-07-16 · 34 분 읽기 #mysql#mariadb#database#versioning#devops대용량 테이블 온라인 스키마 변경 — gh-ost, pt-online-schema-change, 네이티브 Online DDL
수억 행 테이블에 ALTER를 거는 순간 서비스가 멈출 수 있습니다. MySQL 네이티브 Online DDL의 한계부터 트리거 기반 pt-online-schema-change와 바이너리 로그 기반 gh-ost의 동작 원리, PostgreSQL의 CREATE INDEX CONCURRENTLY와 locktimeout, 청크 백필과 스로틀링, 컷오버와 롤백까지 실전 관점으로 정리합니다.
2026-06-16 · 37 분 읽기 #database#mysql#postgresql#migration#gh-ost데이터베이스 엔진 2026 딥다이브 — Postgres가 API를 이겼고, ClickHouse·DuckDB가 분석을 이겼다
PostgreSQL 17/18, MySQL 9, MariaDB 12, SQLite + libSQL + Turso, DuckDB 1.x, ClickHouse, StarRocks, Doris, Druid, Pinot, TiDB, CockroachDB 25, YugabyteDB, Cassandra 5, ScyllaDB, Aerospike, Neon, Supabase, PlanetScale, Xat
2026-05-16 · 25 분 읽기 #database#postgresql#mysql#clickhouse#duckdbDB 인덱스 마스터 가이드 2025: B-Tree, Hash, GIN, BRIN, 복합 인덱스, 실행 계획 분석
DB 인덱스의 모든 것! B-Tree 내부 구조, Hash/GIN/GiST/BRIN 비교, 복합 인덱스 설계, 커버링/부분/표현식 인덱스, EXPLAIN ANALYZE 읽는 법, 인덱스가 안 쓰이는 이유 10가지, 실전 튜닝 사례.
2026-04-15 · 20 분 읽기 #database#indexing#btree#hash#gin데이터베이스 엔진 내부 완전 정복 — B-Tree부터 WAL, MVCC, 쿼리 플래너, 격리 수준까지 (2025)
SELECT 한 줄이 디스크에 닿을 때까지 무슨 일이 벌어지는가. B-Tree 인덱스가 왜 로그 시간인지, WAL이 왜 쓰기 성능의 비밀인지, MVCC가 어떻게 잠금 없이 읽기를 가능하게 하는지, 쿼리 플래너는 어떻게 실행 계획을 고르는지, 그리고 격리 수준의 미묘한 함정까지 — 40년 RDBMS 진화사와 함께 엔진의 속살을 파헤친다.
2026-04-15 · 32 분 읽기 #database#sql#postgresql#mysql#btreeDatabase Query Optimizer 완전 가이드 2025: Volcano, Cascades, Cost-Based, Cardinality Estimation — PostgreSQL/MySQL 실전 분석
SQL 한 줄이 수백 가지 실행 계획으로 변할 수 있다. Volcano에서 Cascades까지, cost-based optimizer의 작동 원리, cardinality estimation의 함정, PostgreSQL/MySQL 내부 구조까지 720줄로 완전 분석한다.
2026-04-15 · 36 분 읽기 #database#query-optimizer#volcano#cascades#cost-basedZero-Downtime 데이터베이스 마이그레이션 완전 해부 — Expand-Contract, gh-ost, pt-osc, CONCURRENTLY, Logical Replication
"스키마 바꾸면 테이블 락 걸려요" 공포의 해체. Expand-Contract 6단계부터 gh-ost/pt-online-schema-change의 원리, PostgreSQL CONCURRENTLY, Logical Replication으로 메이저 업그레이드, 수십억 행 테이블 실전 사례까지.
2026-04-15 · 19 분 읽기 #database#migration#postgresql#mysql#mongodbCDC (Change Data Capture) 완전 가이드 2025: Debezium, Kafka, 데이터 동기화, Outbox 패턴
CDC의 모든 것! 동작 원리(WAL/binlog 기반), Debezium 아키텍처, PostgreSQL Logical Replication, MySQL binlog, Outbox 패턴, 데이터 웨어하우스 동기화, Kafka 통합, 마이그레이션, 흔한 함정.
2026-04-15 · 17 분 읽기 #cdc#debezium#kafka#postgresql#mysqlKubernetes DB 심화 가이드 2025: Operator 패턴, HA 구성, 백업/복구, 성능 튜닝 실전
K8s DB 운영 심화! CloudNativePG vs Percona Operator 비교, Primary-Replica 자동 Failover, pgBackRest/Velero 백업, WAL 아카이빙, Connection Pooling(PgBouncer), 리소스 튜닝(CPU/Memory/IOPS), Affinity/Topology Spread, 프로덕션 체크리스트.
2026-04-13 · 31 분 읽기 #kubernetes#database#operator#cloudnativepg#perconaK8s에서 DB 운영하기 — CNPG, Percona, Vitess, Helm 차트 완전 가이드
Kubernetes 환경에서 데이터베이스를 운영하는 방법을 총정리합니다. CloudNativePG, Percona Operator, Vitess, 주요 Helm 차트를 비교하고 실전 운영 노하우를 공유합니다.
2026-04-11 · 24 분 읽기 #database#kubernetes#cnpg#postgresql#mysql데이터베이스 성능 튜닝 완전 가이드: 쿼리 최적화, 인덱스 전략, 커넥션 풀 관리까지
DB 성능 튜닝의 모든 것! EXPLAIN ANALYZE 실전 해석, 인덱스 설계(B-Tree/GIN/BRIN), Slow Query 분석, 커넥션 풀(HikariCP/PgBouncer), N+1 해결, 파티셔닝, 읽기 복제본, 쿼리 캐싱 전략.
2026-03-24 · 30 분 읽기 #database#performance#tuning#indexing#query-optimizationKubernetes에서 데이터베이스 운영 완전 가이드: StatefulSet, Operator, 백업/복구 전략
K8s에서 DB를 운영하는 모든 것! StatefulSet vs Deployment, PV/PVC/StorageClass, DB Operator(CloudNativePG/Percona/MongoDB), 백업/복구(Velero/pgBackRest), 모니터링(PMM), HA/Failover, 성능 튜닝, 실전 운영 체크리스트.
2026-03-24 · 24 분 읽기 #kubernetes#database#statefulset#operator#postgresqlSQL 완전 정복 2025: 개발자 면접에 나오는 SQL — JOIN부터 Window Function, 쿼리 최적화까지
SQL 면접의 모든 것! JOIN 7종, Window Function(ROWNUMBER/RANK/LAG/LEAD), 서브쿼리 vs CTE, 인덱스 원리(B-Tree/Hash/GIN), EXPLAIN ANALYZE 쿼리 분석, 트랜잭션 격리 수준, 실전 문제 30선까지.
2026-03-23 · 45 분 읽기 #sql#database#join#window-function#indexing데이터베이스 완전 비교 2025: PostgreSQL vs MySQL vs MongoDB vs Redis — 선택 기준과 실전 가이드
2025년 데이터베이스 선택의 모든 것! PostgreSQL(JSONB+벡터), MySQL(HeatWave ML), MongoDB(Atlas Vector Search), Redis(Stack/Search) — 8개 DB의 아키텍처, 성능 벤치마크, 비용 비교, 유스케이스별 선택 가이드, 면접 질문까지.
2026-03-23 · 46 분 읽기 #database#postgresql#mysql#mongodb#redisSpring Boot Flyway 완전 가이드: DB 마이그레이션 전략과 실전 패턴
Spring Boot에서 Flyway를 사용한 데이터베이스 마이그레이션 전략, 버전 관리, 멀티 환경 설정, 테스트 전략, 운영 환경 적용 방법을 완전 가이드합니다.
2026-03-17 · 19 분 읽기 #spring-boot#flyway#db-migration#jpa#postgresqlSpring Boot DB 연결 완전 가이드: JPA, HikariCP, 트랜잭션, QueryDSL, 멀티 DB
Spring Boot에서 JPA/Hibernate 설정, HikariCP 커넥션 풀 최적화, 트랜잭션 관리, QueryDSL, 멀티 데이터소스, R2DBC 비동기 연결, 슬로우 쿼리 로깅까지 완전 가이드합니다.
2026-03-17 · 16 분 읽기 #spring-boot#jpa#hikaricp#querydsl#transactionMySQL 쿼리 최적화 실전 가이드: EXPLAIN 분석부터 인덱스 설계·슬로우 쿼리 튜닝까지
MySQL EXPLAIN/EXPLAIN ANALYZE 출력 해석, B-Tree·Hash·Full-text 인덱스 유형 비교, 복합 인덱스 설계(최좌선 접두사 규칙, 커버링 인덱스), 서브쿼리를 JOIN으로 재작성하는 패턴, 옵티마이저 힌트, 슬로우 쿼리 로그 분석, InnoDB 버퍼 풀 튜닝, MySQL 8.0 vs 8.4 옵티마이저 개선 비교, 그리고 프로덕션 최적화 체크리스트를 실전 예제
2026-03-11 · 25 분 읽기 #database#mysql#query-optimization#explain#index-tuning