← 운영 블로그

4화: 정부가 데이터를 공개한다는 것

회차: 4화

3화에서 첫 번째 버전의 범위를 정했습니다. 제품 검색, 성분 요약, 기피 성분 표시, 비슷한 제품 비교.

그런데 이걸 만들려면, 가장 먼저 필요한 것이 있었습니다. 데이터요.

어떤 제품이 있는지, 그 제품에 뭐가 들어가 있는지, 그 성분이 어떤 것인지. 이런 정보가 없으면 검색도, 비교도, 아무것도 할 수 없으니까요.

그런데 이 데이터를 어디서 구하죠?


다행히, 한국에는 ‘공공데이터’라는 것이 있었습니다.

공공데이터란, 정부나 공공기관이 보유한 정보를 누구나 사용할 수 있도록 공개한 것을 말합니다. 날씨 정보, 대중교통 시간표, 인구통계 같은 것들이요. 그리고 그 안에 식품 관련 데이터도 있었습니다.

식품의약품안전처. 보통 줄여서 ‘식약처’라고 부르는 곳인데요. 이곳이 한국에서 판매되는 식품의 정보를 관리하고, 그 일부를 공개하고 있었습니다.

제품 이름, 제조사, 유통기한, 원재료 목록, 영양성분. 그런 정보들이요.

처음 이걸 알았을 때, 솔직히 기뻤습니다. ‘아, 데이터가 있구나. 그러면 만들 수 있겠구나.’


그런데 ‘데이터가 공개되어 있다’는 것이 곧 ‘바로 쓸 수 있다’는 뜻은 아니었습니다.

여기서 하나 설명을 드려야 할 것 같습니다. API라는 것인데요.

API는 쉽게 말하면, 데이터를 주고받는 창구 같은 것입니다.

비유를 하나 들어볼게요. 도서관에 책이 100만 권 있다고 합시다. 그런데 직접 서고에 들어가서 책을 찾을 수는 없습니다. 대신 창구에 가서 “이런 책 있나요?” 하고 물어보면, 사서가 찾아서 건네주죠.

API가 바로 그 창구입니다. “이 제품의 정보를 주세요” 하고 요청하면, 서버가 데이터를 찾아서 보내주는 것이에요.

식약처가 이런 창구를 여러 개 열어두고 있었습니다.


찾아보니, 식품과 관련된 API가 꽤 여러 종류였습니다.

제품의 기본 정보를 알려주는 것. 제품에 들어간 원재료 목록을 알려주는 것. 원재료의 표준 이름과 코드를 알려주는 것. 영양성분 정보를 알려주는 것. HACCP 인증 정보를 알려주는 것.

이런 API들이 하나가 아니라 여러 개 있었고, 어떤 것은 식약처에서 직접 운영하고, 어떤 것은 ‘공공데이터포털’이라는 곳에서 별도로 제공하고 있었습니다.

같은 정부 데이터인데 창구가 나뉘어 있는 거예요.

나중에 알게 됐지만, 이 두 곳의 데이터는 형식도 조금씩 다르고, 같은 정보를 부르는 이름도 달랐습니다. 하지만 그건 나중 이야기이고요.

처음에는 그냥 놀라웠습니다. 제품이 100만 개가 넘게 등록되어 있다는 것. 원재료 사전만 해도 4만 건이 넘는다는 것. 이 모든 게 공개되어 있고, 누구나 쓸 수 있다는 것.


물론, ‘누구나 쓸 수 있다’는 말에는 조건이 붙어 있었습니다.

공공데이터포털에 가입하고, 사용하고 싶은 API마다 ‘활용 신청’을 해야 합니다. 그러면 ‘인증키’라는 것을 발급해주는데, 이건 도서관의 회원증 같은 거예요. 이 키가 있어야 데이터를 요청할 수 있습니다.

그리고 하루에 요청할 수 있는 횟수가 정해져 있습니다. 무한정 물어볼 수 있는 게 아니에요. 100만 건의 데이터가 있어도, 한 번에 다 가져올 수는 없고, 조금씩, 조금씩 나눠서 받아와야 합니다.


여기까지 파악하고 나서, 저는 상황을 정리해봤습니다.

좋은 소식: 데이터가 있다. 그것도 꽤 많이. 덜 좋은 소식: 그 데이터를 가져오고, 정리하고, 쓸 수 있는 형태로 만드는 건 또 다른 일이다.

1화에서 했던 이야기가 떠올랐습니다. ‘공개되어 있다’와 ‘읽을 수 있다’는 다른 말이라고요. 데이터도 마찬가지였습니다. ‘공개되어 있다’와 ‘쓸 수 있다’는 다른 말이었어요.

하지만 적어도 데이터가 존재한다는 것은 확인했습니다. 그러면 다음 할 일은 정해져 있었습니다.

실제로 그 창구에 가서, 데이터를 받아보는 것.

다음 화에서는 식약처 API에 처음 접속해본 이야기를 하겠습니다. 100만 건의 데이터를 받아오는 일이 얼마나 지난한 작업이었는지에 대해서요.