파생 데이터

Neo·2023년 5월 14일
0

3부에서 다룰 내용
1,2부에서는 단일 데이터베이스에 대해서 다룸
하지만, 큰 애플리케이션에서는 단일 데이터베이스를 사용하는 것이 아니라, 대개 여러 다른 데이터스토어, 색인, 캐시, 분석 시스템 등을 조합해 사용함
3부에서는 다양한 데이터 시스템을 일관성 있는 하나의 애플리케이션 아키텍처로 통합하는 문제에 대해서 검토해봄

레코드 시스템과 파생 데이터 시스템

  • 데이터를 저장하고 처리하는 시스템은 크게 두 분류로 나눌 수 있음

    • 레코드 시스템

      • 믿을 수 있는 데이터 버전을 저장함. 예를 들어 사용자의 입력이 들어오면 먼저 레코드 시스템에 저장되며, 각 사실은 일반적으로 정규화를 거쳐 정확하게 한 번 표현됨. 레코드 시스템과 다른 시스템 사이에 차이가 난다면 정의에 따라 레코드 시스템이 언제나 옳음
    • 파생 데이터 시스템

      • 다른 시스템에 존재하는 데이터를 가져와 특정 방식으로 변환하고 처리한 결과. 파생데이터를 잃더라도 원천으로부터 다시 생성할 수 있음. 대표적인 예가 캐시
  • 엄밀히 말해 파생 데이터는 기존 데이터를 복제한다는 의미에서 중복이지만 읽기 질의 성능을 높이는 데 필수적으로 활용됨

  • 파생 데이터는 대개 비정규화 과정을 통해 생성되며, 단일 원천 데이터로 여러 데이터셋을 추출해 각 데이터셋마다 서로 다른 관점에서 데이터를 바라보는 것에 의의가 있음

3부 개요

  • 10장에서는 맵리듀스와 같은 일괄 처리 방식 데이터 플로 시스템을 살펴보며, 대규모 데이터 시스템을 구축하기 위한 원리르 알아봄

  • 11장에서는 10장과 동일한 아이디어를 데이터 스트림에 적용해봄

  • 12장은 이 책의 결론으로 신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션을 구축하기 위한 아이디어를 모색

0개의 댓글