Back To Articles

음악 검색 api 추천 Spotify Mania DB

Written by Sangmin on January 28, 2024

Article Image

앨범정보나 아티스트 정보 등 음악관련 데이터를 불러와서 서비스를 개발하려고 하면 API는 필수적이다. 세상에 존재하는 방대한 음악의 데이터베이스를 직접 구축하기는 불가능한 일이기 때문이다. 그래서 나 또한 앨범 평점 사이트 를 만들 때 여러가지 api중에 고민했고 가장 고민했던게 매니아 디비, 그리고 스포티파이였다. 결론부터 말하면 매니아디비는 추천하지 않는다.

매니아 디비를 추천하지않는 이유

  • 너무 불안정하다. 개발을 하는 도중에도 몇번씩이나 데이터가 불러와지지 않은 적이 있었다. 서버의 문제가 자주 발생해서 실제로 사용할 때 꽤나 불편할 것 같았다.
  • 앨범의 실시간 반영이 잘안되는 것 같다. 최근 앨범이 바로바로 업로드되는게 중요하다면 매니아 디비는 패스하자
  • 앨범의 실시간 반영이 잘 안되는 것 같다. 최근 앨범이 바로바로 업로드되는게 중요하다면 매니아 디비는 패스하자.
  • 데이터를 불러오는게 느리다. 속도가 신경쓰일 정도로 느리다.
  • 해외음악 관련 정보가 정말 없다.
  • API를 이용해서 검색을 구현한다고 했을 때 자료검색이 잘 안된다. Form에서 키워드를 받아서 fetch를 한다고하면 정확한 키워드로 쓰지 않으면 거의 검색이 안된다. 예를들어 free the beast라는 앨범을 검색한다고 하면 freethebeats, 프리더비스트, free the, 이런식으로 키워드를 넣으면 안나온다. 그러나 유저들이 정확한 키워드를 쓸 것이라 기대하기는 쉽지 않으니.
  • XML로 반환한다. 파싱하기 상당히 귀찮다.
  • 스포티파이를 추천하는 이유

  • 안정적이다. 한번도 서버가 다운된 적은 없다. 워낙 큰 기업이라 당연하겠지만.
  • 앨범 반영이 바로바로 된다. 이것도 당연한 거지만 애초에 스트리밍사이트이기 때문에 발매되는 순간 바로 올라온다.
  • 데이터 전송이 빠르다. 매니아 디비와 비교해서 그런지 더 빠르게 느껴진다. 불편함이 없는 정도의 속도.
  • 해외음악 정보가 매우 많다. 국내음악관련한 자료들도 상당히 많았다. 매니아 디비에는 없던 것들도 여기에는 있는 경우가 많다.
  • 자료검색이 잘된다. 한글로 적든 영어로 적든 아티스트를 적든 앨범을 적든 대충적어도 나온다. 또 내가 어떤 앨범이름이나 아티스트 이름을 검색했을 때 관련된 자료도 나온다. 예를들면 빈지노를 치면 빈지노 음악들 외에도 이센스가 검색결과에 뜬다. (나름의 알고리즘을 이용하는듯)
  • JSON을 반환하고 이용하기 굉장히 편하다.
  • API 이용이 어렵지않고 다큐먼트도 잘되어있다.
  • 음악 검색 뿐 아니라 훨씬 더 다양한 기능을 구현할 수 있다. (ex.플레이리스트 만들기, 음악 재생하기, 음악추천 서비스, 각 유저의 스포티파이 데이터를 이용한 서비스 등)
  • 매니아 디비의 장점이라고하면 하나하나 비교해본것은 아니라서 모르겠지만 매니아디비가 그래도 한국음악에 관한 방대한 데이터가 있는 듯 하다. (옛날음악에 강한듯?) 또 Api 설정이고 뭐고 필요없이 그냥 바로 불러오면 된다.

    스포티파이 데이터는 국내와 해외를 합쳐 굉장히 방대하며 반환해주는 정보가 상당히 많다. 저작권 (copyrights)부터 시작해서 앨범을 유통한 회사같은 정보도 준다. 스포티파이는 국내 음악 관련 데이터가 많이 없다는 편견이 왜인지 있었는데 그렇지도 않은 것 같다. 매니아디비에 없는 국내 음악이 있는 경우도 많이 봤다.

    물론 각자 개발 목적이 다르기 때문에 잘 고려해서 골라야한다. 특히나 매니아 디비는 xml이기 때문에 나중에 api를 바꿀 때 xml기반으로 코드를 짜놓았다면 상당히 귀찮다. (대부분의 api가 json을 이용하기 때문)

    여하튼 그래서 이미 앱을 배포까지한 상태에서 Api를 바꾸기로 결심했다. 처음부터 스포티파이로 할 걸 후회를 많이 했지만 빨리 바꾸는 게 마음이 편할 것 같아서 바로 작업에 들어갔다.

    이제 막 시작하시는 분들은 제발 처음부터 잘 생각해서 고르시길 바란다. 이미 구현한 기능을 다시 구현하는 것 만큼 지루한 일은 없으니..

    수정하는데만 거의 5시간 정도 걸린 것 같다. Api를 세팅하는 것보다 xml을 기반으로 만들어놨던 코드를 뜯어고치는게 더 힘들었다. 특히나 이미 만들어놓은 디비 구조에 맞추느라 조금 힘들었다.

    어쨌든 변경한 후 반응이 훨씬 빠르고 안정적이고 마음이 편하다.