본문 바로가기

데이터베이스2

UUID vs ULID: 분산 로그 시스템에서 고유 ID 선택하기 마이크로서비스 환경에서 10여 대의 서버로 구성된 로그 시스템을 운영하면서 겪었던 실제 이야기입니다. 각 서버에서 초당 수백 개의 로그가 생성되는데, 이들을 하나의 중앙 저장소로 수집해서 시간순으로 분석해야 하는 상황이었습니다.처음에는 당연히 UUID를 사용했습니다. 고유성은 보장되지만 문제가 있었죠. 로그를 시간순으로 조회하려면 별도의 timestamp 컬럼을 만들어야 했고, 복합 인덱스를 걸어야 했습니다. 더 큰 문제는 UUID의 랜덤한 특성 때문에 데이터베이스 인덱스가 계속 재구성되면서 INSERT 성능이 떨어지는 것이었습니다.이런 고민 끝에 발견한 것이 바로 ULID(Universally Unique Lexicographically Sortable Identifier)입니다. 과연 기존 UUID의.. 2025. 6. 4.
🎯 스타트업이 놓치기 쉬운 DB 리플리케이션 - 사용자 급증에 대비하라 https://github.com/onesound71/mysql-replication-test *"갑자기 사용자가 몰려와서 서버가 다운됐어요!"* - 성공하는 스타트업이라면 한 번쯤 겪는 달콤한 비명이다. 하지만 이 순간을 제대로 준비하지 못한다면, 기회를 놓칠 수 있다.스타트업의 흔한 실수: 모든 걸 한 대에대부분의 초기 스타트업은 비용을 절약하기 위해 하나의 서버에 모든 것을 몰아넣는다. 단일 서버 🌐 웹 서버 (Nginx/Apache) ⚙️ WAS (Node.js/Django/Spring) 🗄️ 데이터베이스 (MySQL) 📦 Redis/파일시스템처음엔 괜찮다. 사용자도 적고, 트래픽도 많지 않으니까. 하지만 서비스.. 2025. 5. 28.