개발 이야기

"차세대 빅데이터 플랫폼 Data Lake" 도서 리뷰

inspiring-ini 2024. 11. 14. 20:51

출처: https://product.kyobobook.co.kr/detail/S000001845287

 

이 책을 읽게 된 이유

최근에 본 개발자 직무 면접에서 '데이터 거버넌스에 참여해 본 경험은 있으신가요?' 라는 질문을 받았는데, 데이터 거버넌스라는 용어의 뜻을 몰라서 대답을 잘 하지 못했다.

그래서 데이터 거버넌스에 대해 알아보고 싶어서, 자주 가는 도서관에 데이터 거버넌스로 검색해서 나온 책들 중 한 권이 이 책이었다.  

 

책의 내용

데이터 웨어하우스(DW)의 진화된 버전으로 데이터 레이크를 구축하여 쓰자는 내용을 필두로,

  0. 왜 데이터 웨어하우스가 아닌 데이터 레이크여야 하는지

  1. 데이터 레이크 플랫폼을 기술적으로 어떻게 설계할지

  2. 데이터 레이크 플랫폼을 어떻게 도입하고 운영하고 관리할지

에 대해 다루고 있다

 

0. 왜 데이터 웨어하우스가 아닌 데이터 레이크여야 하는가

  • 회사 내 데이터들을 데이터 사이언티스트 등 특정 사용자가 아닌, 'Citizen 분석가' 라고 불리는 일반 사용자에게도 공유할 필요가 있다
  • 데이터의 분석 니즈를 데이터 웨어하우스(DW)와 같이 사전에 모두 정의(정형 데이터)하기가 어렵다
  • 데이터 크기가 커질수록 데이터 웨어하우스에 데이터를 적재하기 위한 ETL 부하가 심해지고 있다
  • 데이터 레이크를 도입하면 Raw Data의 형태를 살려서 최대한의 분석의 자유를 보장할 수 있다

1. 데이터 레이크 플랫폼을 어떻게 설계할 것인가

  • 데이터 수집 레이어
  • 데이터 적재 레이어
  • 데이터 제공 레이어
  • 데이터 서비스 레이어

어떻게 데이터를 '잘' 제공할 것인가를 고려한 플랫폼 기획 + 기술적인 조언이 포함되어 있는 챕터이다

데이터 서비스를 위해서는 데이터가 잘 검색될 수 있도록 다양한 메타데이터를 얻는 것이 중요한데, 여러 챕터에서 이 내용을 다루고 있고, 이 챕터의 데이터 서비스 레이어 파트에서도 이 내용이 나온다

2. 데이터 레이크 플랫폼을 어떻게 도입하고 운영하고 관리할 것인가

앞 챕터는 데이터 레이크의 기능이 돌아가기 위한 요구사항, 이 챕터의 앞 부분은 운영을 잘 하기 위한 요구사항들이 담겨 있다.

  • 'Citizen 분석가' 친화적 UI/UX. e.g.) 생소한 용어를 위한 인포메이션 툴팁이나 용어사전 제공
  • 유저들이 기존에 사용하던 도구와 연계
  • 데이터 큐레이션의 우선순위화

위 요구사항들을 바탕으로 완성된 플랫폼을 어떻게 운영할 것인가?

  • 게임화를 도입하여 유저들의 적극적 이용 독려
    • 네임드 유저(?)가 자주 사용했던 데이터 혹은 쿼리문을 공개 제공한다는 부분이 재밌었다
  • 빅데이터 사업 추진 부서와 우선적 협력
  • 전사적 전환 - 데이터 웅덩이, 데이터 연못의 형태로 존재하는 사일로를 타파

데이터는 어떻게 관리할 것인가 (거버넌스)

  • 데이터 품질 관리
  • 보안 (데이터 각각에 대한 접근 권한 관리, 민감정보 마스킹 등)
  • 데이터 수명 주기 관리 

 

책을 보며 든 생각

데이터 레이크에 대해 대부분 실무자들은 "빅데이터를 Raw Data 형태로 제공하기 위한 Hadoop 저장소" 정도로 인식한다고 한다. 내 생각과도 정확히 일치했다. 그랬기 때문에 책 초반에는 저자의 주장이 잘 이해가 가지 않았다.

저자가 데이터 레이크 도입을 주장하는 이유는 'Citizen 분석가'들이 데이터를 잘 활용할 수 있게 하기 위함이라고 했다. 그러면 이미 있는 데이터 웨어하우스 가지고 나머지 작업들 (데이터 플랫폼 기획, 사내 독려 정책, 거버넌스 등) 을 해서 쓰면 되는 것이 아닌가?

오랜 기간 동안 실무를 하면서 'Citizen 분석가'에 해당하는 동료들이 적극적으로 데이터를 찾아 자신의 업무에 적용하는 것을 보지 못 했었다. 그러니 물론 DW의 데이터가 충분한 정보를 담지 못해서 데이터 분석을 못 했다는 이야기도 들은 적이 없다. 그래서였을까? 이미 있는 거나 잘 써보고 새로운 걸 하면 좋을텐데.. 데이터 레이크 만들면 갑자기 잘 쓴답니까? 리소스 낭비 아닌가? 하는 생각이 책이 중반을 넘어갈 때 까지도 계속 머릿속에 맴돌았다.

(그래서 그런지 책에도 '활용 독려' 작업이 필요하다고 여러 차례 언급이 되어 있다)

 

그래도 이 책을 덮지 않고 계속 읽은 이유는, 이 책이 데이터 레이크 '플랫폼'에 대해 다루고 있기 때문이었다. (그래서 나도 이 포스트에 플랫폼이라는 단어를 여러 번 써 놨다)

그 수단이 굳이 데이터 레이크가 아니더라도, 'Citizen 분석가'에게 어떻게 데이터를 제공하고, 활용 가능하게 하고, 친숙하게 만들 것인가에 대해 A부터 Z까지 적혀 있는 것이 흥미를 불러일으켰다.

 

나중까지 읽다 보니 데이터 레이크를 통해 분석한 결과물 또한 다시 데이터 레이크에 넣는다는 시나리오를 볼 수 있었고, 'Citizen 분석가' 에게는 아무래도 정형화된 DB 테이블의 데이터보다는 비정형 데이터가 더 익숙하고, 그들이 만들어낼 수 있는 데이터 또한 비정형 데이터일거라는 생각이 들어 '왜 DW가 아닌 데이터 레이크여야 하는가?' 에 대한 의문에 대충 납득을 하기로 했다. 

 

마지막까지 읽고 나서는 결국 문제는 라벨링이라는 생각이 들었다.

데이터 레이크가 DW에 비해 가지는 강점은 문서/이메일/이미지/사운드/동영상 등의 비정형 데이터를 담을 수 있다는 점인데, 이 데이터들의 메타데이터를 잘 구해야지만 검색이 가능해지고 사용자가 데이터에 접근할 수 있을 것이 아닌가.

ML로 분류하고 태깅해서 카탈로그를 만들 수 있다 해도, 저런 비정형 데이터를 ML로 분석하려면 상당한 개발 리소스가 들 것 같아서 걱정이 든다. 그렇다고 사람이 하기에는 데이터가 많지 않을까? 사람이 할 수 있는 정도의 양이라면 저자가 이렇게 열심히 플랫폼 설계를 했을 것 같지는 않다.

또한 민감데이터 보호와 접근 권한 부여에도 같은 문제가 있다. 특정 비정형 데이터 안에 민감데이터가 있는지 없는지, 있다면 어느 레벨의 접근 권한을 부여해야 하는지, 마스킹은 할 수 있는지를 어떻게 파악해서 보안 정책을 적용할 수 있을지가 의문이다. 이 문제가 풀리지 않는다면 결국 책임을 피하고 싶은 데이터 오너는 이 데이터를 데이터 레이크에 제공하지 않을 것 같다. 

 

 

추천

이 책을 읽어서 '데이터 플랫폼이란 무엇인가, 유저에게 무엇을 제공해야 하는가'를 알게 된 것 같다. '기술적으로 어떤 기술을 어디에 도입해야 하는가' 와는 또 다른 시각이 생긴 것이다. 요새 데이터 엔지니어 JD를 읽을 일이 많은데, 앞으로 읽어볼 JD는 데이터 레이크든 DW든 좀 더 플랫폼적인 사고를 하며 읽고 이해할 수 있을 것 같다.

데이터 거버넌스에 대해서만 궁금해서 읽기 시작한 책이지만, 읽는 내내 대충 넘기거나 중간에 덮기엔 아까운 책이라는 생각이 들었기 때문에 이 책을 추천한다

그리고 위에 쓴 만큼 다양한 생각을 할 수 있게 해줘서 좋았다 👍

기타

  • 전자도서관에도 있어서 좋았다
  • On-premise vs Cloud 에서 왜 On-premise는 실시간에 유리할까 -> 클라우드는 리소스 배분, 로딩 시간 등 내부구조가 상대적으로 복잡해서 추가 시간이 발생하니까
  • On-premise, Private cloud, Public cloud에 대한 설명은 Data lake 뿐 아니라 사실 모든 플랫폼에 적용되는 이야기인데 분량이 좀 길었다고 생각