👉 DB에 데이터 저장 후 추출 vs API로 호출해오기 : 둘 중 더 효율적인 것은?
⬜ (전자 선택 시) 추출하는 방법 찾아서 DB에 저장하기
⬜ (후자 선택 시) 문제 제출 시 API 호출하는 함수 작성
국립 국어원의 한국어 기초사전 데이터로 문제를 내는 프로그램을 만들고자 한다.
필요한 데이터는 단어
, 설명
, 난이도(초/중/고/없음)
정도며,
추가적으로 품사
정도가 필요할 듯 하다.
이렇게 데이터를 끌어와서 문제를 제출하려면,
5만건 정도의 데이터를 DB에 담는것과 API로 그 때 그때 호출하는 것 중
무엇이 더 효율적일까?
가지고 있는 데이터에서 값을 추출하는 것이, API로 정보를 요청하고 받아오는 것에 비해 속도가 훨씬 빠르다.
단어를 랜덤으로 뽑아서 문제를 출제해야 하는데,
API로 정보를 요청할 경우 랜덤으로 값을 받아오는 코드를 작성하기 까다로워지며,
1문제에 단어가 4개일 경우 최악의 경우 4번을 호출해야 할 수 있다.
1, 2번과도 맥락이 이어지는데
API로 호출해올 경우, 호출 수가 많아질수록 비효율적이어진다.
왜냐면 데이터를 부를 때 마다 서버에 요청을 하고 받아와야하기 때문.
특히, 한국어 기초사전 데이터의 경우 API 키 당 하루 5만건만 조회할 수 있게 제한하고 있다.
DB에 값을 저장할 경우 용량을 걱정 안할수가 없는데,
API 호출의 경우 그 때 그때 서버에서 받아오는 거라 따로 저장할 필요가 없다.
두 가지 장점을 비교해 보았을 때,
DB에 데이터를 저장해둔 뒤 들고오는 쪽이 더 낫다고 생각해 이에 맞춰 진행하기로 했다!