목표
앞으로 데이터 엔지니어가 되기 위해서 개인 프로젝트를 하나씩 진행해보려 한다!
다양한 주제로 프로젝트를 해볼 계획이고, 해당 내용을 진행 순서에 맞춰 하나씩 연재(?)해보려 한다.
물론 나도 엄청나게 부족하고 프로젝트를 진행하면서 엄청난 삽질을 하겠지만
그러한 과정들을 공유하면서 나처럼 데이터 엔지니어가 되려는 많은 분들께 조금이나마
도움이 되보려고 한다. 👍👍👍
대망의 첫번째 프로젝트는 알라딘 api를 이용하여 중고책 매물 현황을 시각화하려고 한다.
굉장히 단순한 구조의 프로젝트이지만 전체적인 데이터 파이프라인을 구축하고,
그 속에서 발생하는 여러 문제들을 해결하면서 데이터 엔지니어링 프로젝트에 첫 발걸음을 내딛어보려고 한다.
아키텍처
![](https://blog.kakaocdn.net/dn/cvasqc/btrzcR9Eaf8/LsNKK3MnI5xbIgKZdxkUY1/img.png)
우선 내가 그려본 대략적인 아키텍처는 위와 같다.
새로 올라온 중고책을 알라딘 API를 이용하여 추출하고 이를 RDS에 저장하려 한다.
여기서 가장 관건은 RDS에 중복된 데이터가 저장되어서는 안된다는 것이다.
이 부분을 어떻게 해결할까 고민하다 중고책은 주기적으로 새롭게 매물이 올라오니까
12시간에 한 번씩 1000권씩 RDS에 저장하는 것으로 결정하였다.
사실 12시간 동안 새로운 중고책 매물이 1000권이나 올라오는지도 모르고
이 방법이 최선이 아니라는 것도 알지만 우선 이 방법을 사용해보고
추후에 좋은 방법을 고안하여 수정할 계획이다.
이렇게 RDS에 적재된 데이터는 슈퍼셋을 이용하여 대시보드 형태로 시각화하려 한다.
슈퍼셋을 시각화 도구로 선택한 이유는 우선 태블로 데스크탑 무료 사용기간이 끝나서
DB에 연결하여 사용할 수가 없게 되었고 ㅠㅠ 슈퍼셋이 적절한 대안이라는 자료들이 많아서 선정하였다.
전체적인 스케줄링은 EC2에 Crontab을 이용하려고 한다.
에어플로우를 이용하기에는 굉장히 단순한 태스크이기도 하고 크론탭으로
충분히 감당할 수 있을 것이라 판단하였다.
'프로젝트 > 알라딘 중고책 프로젝트' 카테고리의 다른 글
알라딘 중고책 프로젝트 (5) - superset (0) | 2022.04.23 |
---|---|
알라딘 중고책 프로젝트 (4) - RDS, EC2 구축하기 (0) | 2022.04.19 |
알라딘 중고책 프로젝트 (3) - 데이터 적재하기 | 코드 완성 (0) | 2022.04.13 |
알라딘 중고책 프로젝트 (2) - 데이터 추출하기 (0) | 2022.04.08 |
알라딘 중고책 프로젝트 (1) - 알라딘 API 살펴보기 (3) | 2022.04.07 |