리포지토리는 데이터를 한곳에 모아 저장하고 다시 찾을 수 있게 하는 저장소를 뜻한다.[1] 위키 문맥에서는 원본 데이터와 가공된 데이터를 함께 다루는 중앙 저장 공간을 가리키는 경우가 많다. 같은 이름이더라도 실제 사용 목적에 따라 데이터베이스, 데이터 웨어하우스, 데이터 레이크처럼 더 구체적인 형태로 나뉜다.[7]

1. 구조

일반적인 데이터 저장소는 데이터를 보관하는 영역과 이를 제어하는 데이터베이스 관리 시스템 또는 저장 서비스로 이루어진다.[1] 관계형 환경에서는 정보가 테이블 단위로 관리되며, 각 테이블은 행과 로 구성된다.[2]

이런 구조는 정형 데이터를 정리해 두고 검색하기 쉽게 만든다.[2] 데이터가 커질수록 저장 위치와 접근 방식을 함께 설계하는 일이 중요해진다.

2. 유형

데이터베이스는 운영 업무에서 바로 쓰는 데이터를 저장하고 갱신하는 데 초점을 둔다.[2] 반면 데이터 웨어하우스는 여러 소스의 데이터를 통합해 분석과 요약에 맞게 정리한다.[7]

데이터 레이크는 원본 형태의 데이터를 넓게 저장해 이후 분석이나 인공지능 처리에 활용하는 방식으로 설명된다.[7] 실제 시스템에서는 이 세 가지 방식이 서로 배타적이라기보다, 용도에 따라 함께 쓰이거나 순차적으로 연결된다.

3. 활용

리포지토리는 데이터가 흩어지지 않도록 묶고, 필요한 사람이나 시스템이 같은 기준으로 데이터를 보게 하는 데 도움이 된다.[1] 조직은 이를 통해 검색, 분석, 기록 보존, 모델 학습 같은 용도에 맞춰 저장 방식을 선택할 수 있다.

또한 리포지토리는 데이터의 출처와 갱신 흐름을 정리하는 기준점 역할도 한다. 그래서 단순한 저장 공간이 아니라, 운영 데이터와 분석 데이터를 구분해 다루는 정보 구조로 이해하는 편이 적절하다.

4. 관련 개념

리포지토리라는 말은 맥락에 따라 일반적인 저장소를 뜻하기도 하고, 분석용 데이터 저장 체계를 뜻하기도 한다. 그래서 문서를 읽을 때는 저장 대상, 갱신 빈도, 조회 방식이 무엇인지 함께 보는 것이 좋다.

같은 범주의 개념으로는 데이터 저장소, 데이터베이스, 데이터 웨어하우스가 있으며, 실제 환경에서는 필요한 경우 이들 개념을 조합해 사용한다.[1] 저장 방식의 차이를 이해하면 시스템 설계와 데이터 활용 기준을 더 분명하게 잡을 수 있다.

5. 선택 기준

리포지토리를 설계할 때는 데이터의 크기보다 조회 패턴과 갱신 빈도를 먼저 보는 편이 낫다.[1] 운영 데이터처럼 자주 바뀌는 정보는 데이터베이스에 두고, 여러 소스를 모아 살펴봐야 하는 정보는 데이터 웨어하우스에 두는 식으로 역할을 나누면 관리가 쉬워진다.[7]

또한 원본 보존이 중요한 경우에는 데이터 레이크처럼 가공 전 자료를 넓게 저장하는 선택지가 유효하다. 결국 중요한 것은 이름보다도 어떤 데이터를 어떤 기준으로 보관하고 다시 쓰는가이다.

6. 관련 문서

7. 인용 및 각주

[1] Ggruuuuu.github.io(새 탭에서 열림)

[2] Tthebook.io(새 탭에서 열림)

[7] Wwww.databricks.com(새 탭에서 열림)