[django] 국립국어원 한국어 기초 사전 다루기 (1)

0v0baek·2023년 6월 12일
0

TIP

목록 보기
10/15

참고 사이트

국립국어원 한국어 기초사전

순서

👉 DB에 데이터 저장 후 추출 vs API로 호출해오기 : 둘 중 더 효율적인 것은?
⬜ (전자 선택 시) 추출하는 방법 찾아서 DB에 저장하기
⬜ (후자 선택 시) 문제 제출 시 API 호출하는 함수 작성

1. DB에 데이터 저장 후 추출 vs API로 호출해오기 : 둘 중 더 효율적인 것은?

국립 국어원의 한국어 기초사전 데이터로 문제를 내는 프로그램을 만들고자 한다.

필요한 데이터는 단어, 설명, 난이도(초/중/고/없음) 정도며,
추가적으로 품사 정도가 필요할 듯 하다.

이렇게 데이터를 끌어와서 문제를 제출하려면,
5만건 정도의 데이터를 DB에 담는것과 API로 그 때 그때 호출하는 것 중
무엇이 더 효율적일까?

💡 DB에 데이터 저장 후 추출 : 장점

  1. 시간의 단축

가지고 있는 데이터에서 값을 추출하는 것이, API로 정보를 요청하고 받아오는 것에 비해 속도가 훨씬 빠르다.

  1. 랜덤 문제 출제 시 유용

단어를 랜덤으로 뽑아서 문제를 출제해야 하는데,
API로 정보를 요청할 경우 랜덤으로 값을 받아오는 코드를 작성하기 까다로워지며,
1문제에 단어가 4개일 경우 최악의 경우 4번을 호출해야 할 수 있다.

  1. 자원을 효율적으로 사용 가능

1, 2번과도 맥락이 이어지는데
API로 호출해올 경우, 호출 수가 많아질수록 비효율적이어진다.
왜냐면 데이터를 부를 때 마다 서버에 요청을 하고 받아와야하기 때문.

특히, 한국어 기초사전 데이터의 경우 API 키 당 하루 5만건만 조회할 수 있게 제한하고 있다.

💡 API로 호출해오기 : 장점

  1. 용량 걱정 Free

DB에 값을 저장할 경우 용량을 걱정 안할수가 없는데,
API 호출의 경우 그 때 그때 서버에서 받아오는 거라 따로 저장할 필요가 없다.

✅ 선택 : DB에 데이터 저장 후 추출

두 가지 장점을 비교해 보았을 때,
DB에 데이터를 저장해둔 뒤 들고오는 쪽이 더 낫다고 생각해 이에 맞춰 진행하기로 했다!

profile
개발 공부 하는 비전공자 새내기. 꾸준히 합시다!

0개의 댓글