Nosql 도입
이번에 처음으로 새로운 회사에 이직 하였는데, 운좋게도 회사의 새로운 it 프로젝트 백엔드를 담당하게되었다.
새로운 프로젝트인 만큼 기존 프로젝트와 다른 부분을 좀더 자유롭게 적용시킬 수 있었는데 이참에 이번 프로젝트에 AWS에서 제공하는 nosql DynamoDB 를 본격적으로 도입하기로 하였다.
nosql을 도입하기로 한 이유는 nosql 장점 중 하나인 scale-out 에 있다. 기존에는 어지간한 정보는 rdbms에 저장하고 있었는데 요청이 몰릴 때 기존 scale-up 방식으로는 힘들기 때문에, 이렇게 기회가 될 때 바로 가능한 것 들은 nosql로 좀 분산시키자는 의도이다.
DynamoDB를 고른 이유
nosql도 mongoDB, casandra, redis.. 이미 여러가지가 있지만 그 중 AWS의 DynamoDB를 사용하기로 하였다.
- key-value 형식의 빠른 읽기 성능
https://aws.amazon.com/ko/blogs/korea/how-aws-powered-prime-day-2024-for-record-breaking-sales/
이미 AWS에서는 DynamoDB로 자사의 트래픽을 담당하고있고 프라임데이를 성공적으로 진행하고있다.
- Full Managed Service
DynamoDB는 AWS 완전관리형 서비스이다.
이름에 걸맞게 장비 운영, OS 설치, 백업.. 뭐 여러가지를 담당해준다. 사용자가 해야할은 테이블에 데이터 넣어서 쓰기, i am 룰 설치 등 일 것 같긴한데 어디까지인지는 해보면서 알아봐야 할 거 같다.
- AWS
제공해주는 회사가 AWS인 것도 하나의 이유로 볼 수 있다.
AWS의 제품인 만큼 다른 서비스( Lambda, ZERO-ETL... )와 연계도 가능하다.
또한 회사에 AWS 관계자분들이 오셔서 다양한 소통을 하시는데, 이 덕분에 AWS에서 우리 회사를 위해 따로 DynamoDB 실습 세션도 준비해준다고 하니 이러한 교육 지원도 받을 수 있다.
nosql를 많이 사용하지 않았던 만큼 전문가의 지원도 받을 수 있으면 안 받을 이유가 없다.
여러가지 이유로 DynamooDB를 사용할거고 실제로 AWS 공식사이트에서도 많이 가이드가 있는상태로 어느정도 서치를 해보니 Single table design.. Partition Key.. 등등 공부하는 맛도 어느정도 있다.
앞으로 DynamoDB에 대해 찾은 내용을 정리해 볼 생각이다.