Spotify Project 07. Spotify - 분석 파이프라인 구축(프로젝트 완료)

2020. 7. 10. 02:10·프로젝트, 인강 그리고 책/Spotify Project
반응형

약 1달 반정도의 사이드 프로젝트를 마치고자 한다.

우선, 프로젝트를 시작하기에 앞서 구상했던 파이프라인이다.

우선 spotify 의 데이터를 가져오는 데이터 파이프라인을 구현하기에 앞서 위의 파이프라인을 구상했다.

구상할 때 고려했던 조건은 1가지이다.

 

1. 데이터의 특성을 고려한 DB 선정

처음에 가져오려했던 artists, genres 데이터의 경우에는 필요한 데이터만 저장을 하고 사용할 데이터이다.

즉, 확장을 하더라도 컬럼이 늘어나는 것이 아닌 artists 와 genres 이 두개의 그룹에 속하는 rows 만 증가하는 것이기

때문에 데이터 량의 증가에 있어서 충분히 대응할 수 있는 RDBS 의 MySQL 을 선택했다.

 

그 다음은 DynamoDB 선택한 이유인데, 해당 DB 의 경우 NoSQL 계열의 DB로서 확장성이 좋고, 대용량의 데이터를 

빠르고 효율적으로 다룰 수 있는 장점이 존재한다. 그러한 이유 덕분에 추후 계획하고 있는 챗봇 서비스에서

유저와의 커뮤니케이션으로 발생하는 데이터들을 저장하는 데 문제 없으리라고 한단하여서 

DynamoDB 를 선택했다.

 

마지막으로는 AmazonS3  이다. S3 의 경우에는 RDB 또는 NoSQL에 사용될 raw 데이터들을 

저장하는 용도로 사용했다. 파이프라인을 구축하는데 있어서 확장성의 한계가 명확한 RDB보다

확장성에 있어 매우 유연한 S3 를 사용했다.

NoSQL 계열인 DynamoDB 를 사용할 수 있었지만, Dynamo 는 추후, 챗봇 서비스에 사용하게 될 예정이며, DB에 과부하를 주어선 안된다고 판단했다.

또, S3 자체로도 AWS 에서 가장 접근이 쉽고, 많은 데이터 플로우에도 충분히 

과부하가 안걸리고 충분히 데이터 레이크를 만들어 안정적으로 서버를 운영할 수 있다는 신뢰가 있었기에 

S3 를 데이터 레이크로 사용을 했다.

 

데이터 레이크에 대한 설명은 추후 아래의 링크를 참고할 예정이다

https://brunch.co.kr/@pubjinson/52

 

데이터 레이크 

한글화 프로젝트 | 한글화 프로젝트는 지앤선과 국내 커뮤니티들이 함께 해외의 다양한 주제의 유익한 문서 등을 번역하여 영어를 읽는데 어려움이 있는 여러 사람에게 도움을 드리고자 진행 ��

brunch.co.kr

 

데이터 파이프라인을 구축할 때, 가장 중요한 것이 DB 설계라고 본다.

필요한 데이터를 가져오는 Process 를 구축하여  rest API  등에서 데이터를 가져와서 가공하는 것도 중요하지만,

어떤 DB를 선택하느냐에 따라, 추후 설계할 서비스의 성능이 결정되기 때문이다.

반응형

'프로젝트, 인강 그리고 책 > Spotify Project' 카테고리의 다른 글

Spotify Project 06. Spotify - AWS Data 수집 프로세스 구축 2  (0) 2020.07.05
Spotify Project 05. Spotify - AWS Data 수집 프로세스 구축  (0) 2020.06.28
Spotify Project 04. Spotify 에서 artists , album 정보 가져오기  (0) 2020.06.14
Spotify Project 03. 프로젝트 진행위한 API 관련 사항  (0) 2020.06.09
Spotify Project 02. aws 사용하기에 앞서 설정해두어야 할 것(aws cli)  (0) 2020.06.07
'프로젝트, 인강 그리고 책/Spotify Project' 카테고리의 다른 글
  • Spotify Project 06. Spotify - AWS Data 수집 프로세스 구축 2
  • Spotify Project 05. Spotify - AWS Data 수집 프로세스 구축
  • Spotify Project 04. Spotify 에서 artists , album 정보 가져오기
  • Spotify Project 03. 프로젝트 진행위한 API 관련 사항
쟈누
쟈누
Ad astra per aspera
    반응형
  • 쟈누
    쟈누의 기록공간
    쟈누
  • 전체
    오늘
    어제
    • 분류 전체보기 (444)
      • AWS (31)
        • Glue (4)
        • S3 (1)
      • 클라우드 (0)
      • Data Engineering (37)
        • GitHub (10)
        • NiFi (11)
        • Spark (10)
        • Snowflake (0)
        • 머신러닝, AI (6)
      • 언어 (118)
        • 데이터 베이스 (42)
        • JAVA (9)
        • Python (34)
        • Java Script (15)
        • Linux (18)
      • 프로젝트, 인강 그리고 책 (30)
        • Spotify Project (7)
        • RASA chatbot Project (9)
        • Naver shopping Project (6)
        • 빅데이터를 지탱하는 기술 (8)
      • OLD (56)
        • IT 용어 사전 (13)
        • Front End (12)
        • Back End (31)
      • Error code 모음 (165)
        • 1. SQL errors (17)
        • 2. Hadoop errors (20)
        • 3. Linux Errors (14)
        • 4. Python errors (33)
        • 5. JAVA, Spring errors (41)
        • 6. Jav Script errors (10)
        • 7. Dev Tools errors (9)
        • 8. Git errors (8)
        • 9. Jenkins Errors (4)
        • 10. airflow Errors (2)
        • 11. Aws errors (7)
      • 개인 (1)
        • 책 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 블로그 관리
    • 글쓰기
  • 링크

  • 공지사항

    • 간단한 블로그 소개
  • 인기 글

  • 태그

    NiFi
    Python
    자바
    Git
    MySQL
    에러
    error
    API
    java
    파이썬
    node
    install
    리눅스
    AWS
    SQL
    json
    설치
    Spring
    linux
    python error
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
쟈누
Spotify Project 07. Spotify - 분석 파이프라인 구축(프로젝트 완료)
상단으로

티스토리툴바