알림센터 서비스 기술스택 조사
RDB 보단 NoSQL
- TTL
- 일정 시간이 지난 데이터에 대한 스키마 관리를 안 해도 되는 도메인
- TTL을 기본적으로 지원해주는 NoSQL이 RDB보다 적합
- 일정 시간이 지난 데이터에 대한 스키마 관리를 안 해도 되는 도메인
- 유연한 스키마 대응
- Read/Write가 굉장히 빈번하게 일어나는 도메인 특성상 한 번에 최대한 적은 행이 추가되어야 함
- 알림 도메인의 큰 틀은 고정되어있지만, 알림의 행위를 정의하는 부분은 구조의 변경이 잦기 때문에 유연한 스키마를 가질 수 있어야 함
- Schema-less한 NoSQL이 RDB보다 적합합니다.
- 성능
- 알림 도메인에는 트랜잭션 관리가 필요 없습니다.
- 트랜잭션 관리를 하지 않고 성능을 챙길 수 있는 NoSQL이 RDB보다 적합
- 알림 도메인에는 트랜잭션 관리가 필요 없습니다.
Redis 보단 MongoDB
- 각 알림 데이터는 상호 간 독립적임 즉, 중복되는 데이터가 없으며 이는 별도 정규화가 필요 없다는 것을 의미
- 알림 관련 스펙은 형태가 변한다거나 예상치 못한 기능이 추가되는 등의 변화 가능성이 큼
- 데이터 추가 및 변경이 자유로워야 하기 때문에 스키마리스(schemaless) 구조가 좋음
- 풍부한 인덱스 기능
- 여러개 인덱스 구성, 복합 인덱스, TTL 인덱스
참고
https://engineering.linecorp.com/ko/blog/LINE-integrated-notification-center-from-redis-to-mongodb
댓글