
백엔드
삼성전자 SmartThings, OpenSearch 도입으로 성능향상과 비용절감 달성기
두줄요약
SmartThings 기록 시스템이 HBase 한계를 극복하기 위해 OpenSearch로 교체했습니다. 읽기 성능은 약 19% 향상되고 쓰기 비용은 약 38% 절감했습니다.
문제 상황
- 여러 마이크로서비스가 하나의 HBase를 공유해 SPOF와 확장성 부족이 발생한 기록 시스템 구조
- 다양한 조회 조건과 대량 쓰기, 7일 TTL, 스키마리스 요구를 기존 DB가 충분히 충족하지 못한 상황
원인 분석
- 서비스별 쿼리 패턴이 달라 공용 HBase로는 기능 구현과 확장에 한계 발생
- DynamoDB는 검색 조건 추가마다 GSI가 필요해 비용 증가 우려가 컸고, 테스트 성능도 기대에 미치지 못함
- RDB와 Cassandra 계열은 쓰기량과 TTL 요구를 맞추기 어려움
해결 방법
- 요구사항에 맞는 검색 중심 저장소로 Amazon OpenSearch 도입
- 읽기/쓰기량 기반으로 클러스터와 노드 수를 산정하고 Hot Storage 채택
- 샤드 크기를 10GB~20GB로 조정해 지연 시간 개선
- 롤링 인덱스와 8일 TTL, 7일 조회 정책으로 보존 요구 충족
- GitHub와 Jenkins로 인덱스 템플릿을 수동 트리거 관리
성능/운영 포인트
- 읽기 API p99 지연 시간 약 19% 개선
- 쓰기 비용 약 38% 절감
- AZ 배수에 맞지 않는 노드 수는 데이터 스큐를 유발해 스케일링 시 주의 필요
- 대시보드는 Keycloak 기반 권한 관리와 사내 IP 제한으로 운영
