Data Lake Research

nathan·2021년 11월 15일
0

개요

  • 등장 배경 : 빅데이터 시대
  • Data Lake란?
  • 왜 기업들은 Data Lake를 구축하려 하나?
  • Data Lake의 장단점은 무엇인가? : Data Warehouse와의 비교
  • Data Lake의 아키텍처 : 플랫 아키텍처
  • 마무리하며

등장 배경 : 빅데이터 시대

4차 산업 혁명 시대에 진입한 기업들의 데이터 전략은 변화했고, 대다수 기업들의 IT 수요가 애플리케이션 중심에서 데이터 중심으로 옮겨가고 있다. 기존에 축적된 데이터뿐만 아니라 정부, 공공기관, SNS, 각종 센서 및 멀티미디어 정보 등 빠르게 생성되는 다양한 형태의 데이터를 관리, 분석 및 활용하여 정보의 가치를 얻어내는 것에 이목이 집중되고 있다.
따라서 이러한 빅 데이터 시대에 대량의 정보를 관리 하는 것이 매우 중요하게 여겨지고 있으며, 각 기업들은 목적에 부합한 데이터 관리 시스템을 채택하여 이용하고 있다.
실제로 아마존에서는 회사 사업이 대규모 확장되어 쌓이는 데이터의 양이 엄청나게 방대해졌다. 이로 인해 관리에 어려움을 겪었고, 아마존닷컴의 CTO인 워너 보겔스는 아마존에서 데이터 사일로(Data Silo), 다양한 데이터 세트 분석, 데이터 접근 관리 및 보안 등에 어려움을 겪었다고 토로한 바 있다. 데이터 사일로란 데이터가 전체적으로 통합되지 않고, 개별 부서나 사업 부문별로 데이터가 일치하지 않는 현상을 의미한다. 이 때문에 전체적 수준에서 데이터의 유기적인 이해가 어려웠다고 한다. 이를 해결하기 위해 아마존이 도입한 것이 바로 “데이터 레이크(Data Lake)”이다.
아마존뿐만 아니라 SK 주식회사 C&C의 경우에도 SK그룹 계열사별로 분산된 데이터들을 통합적인 관점에서 효과적인 공유 및 활용하기 위하여 데이터 거버넌스 기반의 “데이터 레이크”를 구축하였고, 통합 데이터 레이크 기반 Data 중심 업무 환경을 확산시켰다.


Data Lake란?

이처럼 여러 기업들이 구축하고 있는 이 “데이터 레이크”란 무엇일까?
우선 데이터 레이크라는 용어는 Pentaho의 CTO인 제임스 딕슨이 처음 사용하면서 세상에 등장하였다. 그는 데이터 마트(데이터 웨어 하우스의 하위 집합)를 정제 된 물로 채우고 직접적이고 쉽게 사용 가능하도록 포장 및 구조화 된 물병에 비유했다.
반면, 데이터 레이크는 마치 자연적인 형태의 호수에 비유하며, 호수의 물이 낚시, 보트 타기, 식수 제공 등 다양한 요구를 충족시키는 것처럼 데이터 레이크 아키텍처 또한 다양한 용도로 사용된다고 말했다.
구조화 된 데이터에는 RDBMS의 테이블 등이 해당되고, 반 구조화 데이터에는 csv file, XML file, log, JSON 등이 해당된다. 그리고 구조화되지 않은 데이터에는 PDF, Word, PPT, E-mail, SNS, Text file 및 오디오, 비디오, 이미지 형태의 file이 해당될 수 있다.
데이터 레이크는 위의 데이터를 모두 아우르는 정형, 반정형, 비정형 데이터를 어느 형태로든 저장할 수 있는 단일화, 집중화된 데이터 저장소이다. 즉, 데이터 레이크는 방대한 양의 데이터를 저장하고 관리할 수 있는 솔루션을 제공한다. 이 데이터 레이크를 통하여 데이터를 따로 구조화할 필요 없이 원시 형태 그대로 저장하고 대시보드 및 시각화를 통하여 빅 데이터를 처리하고 실시간으로 분석하며, 머신러닝을 이용하는 등 다양한 유형의 분석을 실행하여 더 나은 의사결정을 내릴 수 있도록 돕는다.

데이터 레이크를 사용하면 모든 데이터가 보존되며, 데이터 웨어 하우스처럼 데이터가 가공되거나 필터링 되어 저장되지 않는다. 이렇게 저장된 데이터는 바로 분석에 사용할 수도 있으며, 사용하지 않을 수도 있다.
사용자는 데이터 레이크에서 다른 시스템으로 데이터를 이동시킬 필요 없이 원하는 방식으로 데이터에 액세스하여 탐색할 수 있으며, 상황에 따라 인사이트 및 보고 등의 정보를 데이터 레이크에서 얻기도 한다.
실제로 이를 통해 데이터 과학자는 데이터를 탐색하고 필요한 가설을 만들어 수행할 수 있다. 그리고 데이터 분석가가 데이터를 분석하고 패턴을 발견할 수 있는 기회를 제공하기도 한다. 또한 비즈니스 사용자와 이해 관계자가 데이터를 탐색할 수 있는 모드를 제공한다.
데이터 레이크는 단순히 데이터를 저장만 하지 않고, 저장된 데이터를 통해 머신러닝, 분석, 활동 등의 다양한 기능을 수행한다.


왜 기업들은 Data Lake를 구축하려 하나?

세상에는 수많은 데이터가 존재하고 기업들은 이러한 데이터들을 적절하게 잘 관리하여 더 나은 비즈니스 의사 결정을 내리려고 하고 있으며, 데이터에서 추출한 통찰력을 사용하여 의사 결정을 내린다. 기업은 데이터 중심의 의사 결정을 내릴 경우 경쟁사보다 더 우수한 성과를 거둘 것을 기대하는데, 이는 실제로 아마존에서 발표한 자료에서도 볼 수 있다.
아마존에서 말하는 애버딘 조사에 따르면, 데이터 레이크를 구현한 조직은 유기적 수익 증가율에서 경쟁사들을 약 9%나 앞질렀다고 한다. 해당 데이터 레이크를 이용한 분석가들은 로그 파일, 클릭 스트림의 데이터, 소셜 미디어 데이터 등 새로운 소스에 대한 머신러닝과 새로운 유형의 분석을 수행할 수 있었고, 이를 통하여 고객 유치 및 유지, 생산성 향상, 사전 예방적 장치 유지, 정보에 입각한 의사 결정을 통해 비즈니스 성장 기회를 신속하게 파악하고 활용할 수 있었기 때문이라고 말한다.
또한 조직 내의 모든 사람들이 액세스 할 수 있는 단일 위치에 있기 때문에 데이터를 통해 모든 의사 결정자들은 앞으로 나아가는 데 필요한 정보를 쉽게 확보할 수 있게 되며, 커뮤니케이션에도 차질이 없기 때문에 업무 효과는 극대화된다고 말한다.


Data Lake의 장단점은 무엇인가? : Data Warehouse와의 비교

첫째, 데이터 레이크는 데이터 웨어 하우스에 비해 저장 데이터의 종류가 다양하다.
데이터 웨어 하우스는 특정 비즈니스 문제를 보고하고 해결하는 데에 필요한 구조화된 데이터만을 통합하고 구축한다. 따라서 처리 및 정제된 데이터, 즉 정형 데이터를 보관한다. 반면에 데이터 레이크의 경우 정형, 반정형, 비정형 데이터를 원시상태로 보관한다. 이렇게 저장된 다양한 데이터들을 토대로 기업들이 합리적인 의사 결정을 하는 데 이용된다. 또한 원시 형태의 데이터를 유지함으로써 훨씬 더 시의적절한 스트림을 데이터 분석에 사용할 수 있다. 게다가 데이터 레이크는 다양한 데이터를 필요에 따라 구성 및 재구성이 간편하여 고정 구성으로 데이터를 관리하는 데이터 웨어 하우스에 비해 민첩하다는 장점이 있다.
반면에, 수많은 데이터가 저장되는 데이터 레이크는 일부 데이터가 아예 사용되지 않을 가능성도 존재한다. 이런 현상이 심화되면 소위 ‘데이터 늪’이라 불리는 현상이 발생했다고 말한다. 이러한 데이터 레이크의 상태를 관리가 잘못된 상태라 하고, 데이터 늪에 빠진 데이터들의 신뢰성이 저하되므로 사용에 지장이 생긴다. 따라서 데이터 레이크를 관리하는 메타 데이터와 거버넌스의 구축이 제대로 되어있지 않으면, ‘데이터 늪’에 빠질 가능성이 생기고 이는 곧 의사결정을 하는 데에 오히려 장애물이 될 수 있다.

둘째, 데이터 레이크는 데이터 웨어 하우스에 비해 저비용 스토리지를 사용한다.
우선 데이터 웨어 하우스는 다양한 기업형 애플리케이션으로부터 정제된 데이터를 수집한다. 각 애플리케이션에 존재하는 자체 스키마에 따라 수집되었기 때문에, 데이터 웨어 하우스에 데이터를 수집할 때는 사전 정의된 스키마에 맞춰 데이터를 변환해야 한다(Scheme on Write). 반면, 데이터 레이크는 원시 형태로 데이터를 수집하기 때문에 조직의 스키마에 맞추기 위해 데이터를 변경하는 작업을 하지 않아도 된다. 따라서 수집된 데이터의 구조를 알 필요 없이 읽을 때 탐색을 통해 찾게 된다(Scheme on Read를 통해 사용자 정의 스키마를 만들 수 있음).
위와 같은 사실로 인하여, 데이터 웨어 하우스는 데이터 정제를 위해 고비용의 디스크 스토리지를 사용하여 최대한 빠른 결과를 얻어낸다. 데이터를 이용 목적에 알맞게 수정해야 하고, 비용이 비싼 스토리지를 이용하기 때문에 공간을 절약하기 위해 데이터의 모델이 단순화되고, 비즈니스 결정을 내리는 데에 실제로 필요한 데이터만이 데이터 웨어 하우스 내에 보관된다. 또한 기업형 데이터 웨어하우스는 복잡한 분석 및 운영을 수행하는 데에 있어 빅 데이터 시대에 운영하기 매우 엄격한 측면이 있다. 따라서 데이터 웨어 하우스의 데이터 모델을 변경하는 것은 어렵고, 필드 간 통합 매핑은 고비용이 들 수밖에 없다.
반면에, 데이터 레이크의 경우에는 데이터 세트를 인덱스하거나 저장소를 위해 이를 준비할 필요가 없기 때문에 저비용의 스토리지를 사용하여 쿼리 결과의 속도가 빠르다. 저렴한 스토리지와 결합된 기성 서버를 사용한다. 따라서 데이터 레이크는 상당히 경제적이며 테라 바이트와 페타 바이트까지 아우를 정도로 확장성이 뛰어나다. 이는 모든 데이터를 데이터 레이크에 보관하기 위해 수행되므로 언제든지 분석을 수행할 때로 쉽게 돌아갈 수 있다.
그러나, ‘데이터 브릭스’에 따르면 데이터 레이크 안에 저장된 데이터의 규모가 커질수록 전통 쿼리 엔진의 성능이 저하된다는 단점이 존재한다. 또한 저장소에 있는 데이터에 반복 접근하게 될 때 쿼리 성능이 저하될 위험도 있다. 근래에는 클라우드 저장소를 이용한 데이터 레이크가 많이 생겨나고 있는데, 클라우드에서의 데이터 레이크는 삭제된 파일이 최대 한 달 동안 남아있을 수 있기 때문에 이 또한 쿼리 성능을 저하시킬 수 있다. 그리고 엄청난 양의 데이터 수집으로 인해 메타 데이터가 늘어나 병목현상이 발생할 수도 있다.

셋째, 데이터 레이크는 접근성이 우수하다.
계층 구조를 채택하고 있는 데이터 웨어 하우스와 달리, 데이터 레이크는 플랫 아키텍처로 구성되어 있다. 데이터 레이크는 쉽게 확장할 수 있는 플랫 아키텍처로 인해 접근성이 높고 쉽고 빠르게 데이터를 업데이트할 수 있다는 장점을 갖는다.(플랫 아키텍처에 대해서는 아래서 더욱 자세히 다룬다.) 허나 데이터 웨어 하우스는 설계에 따라 구조화 된 데이터를 다루므로 데이터 업데이트 작업이 더 복잡하고 비용이 훨씬 많이 들기 때문에 접근성에 제약이 생긴다.
게다가 데이터 레이크는 조직의 각 부분이 이용하는 데이터가 따로 존재하는 데이터 사일로를 더 이상 만들지 않기 때문에 조직 전체가 하나의 통합된 뷰로 데이터에 접근 가능하여 기업의 조직원들이 중앙 집중화 된 데이터를 활용하여 시너지를 낼 수 있다.

데이터 레이크와 데이터 웨어 하우스의 비교를 마치며,
데이터 레이크와 데이터 웨어 하우스는 각각의 장단점이 명확하다고 볼 수 있다. 특히 데이터 웨어 하우스는 데이터 품질과 이용 편의성에 있어 데이터 레이크보다 우위에 있고, 두 플랫폼 특징과 목적은 저마다 다르다. 이에 많은 기업이 데이터 레이크와 데이터 웨어 하우스를 모두 사용하고 있다. 경우에 따라서는 모든 기업이 데이터 레이크가 필요한 건 아니고 기업마다 사업 성격에 따라 적합한 데이터 관리 플랫폼이 따로 있다. 다양한 데이터를 한 곳에 모아야 하는 기업이 있고, 정형 데이터를 사일로 형식으로 모으는 게 더 효율적인 기업이 있기 때문이다. 이에 각 사 필요에 맞는 걸 골라 적절히 사용해야 한다.
따라서 서로가 대체제의 관계가 아닌 보완재의 관계에 있으므로 둘을 적절히 함께 이용하여 기업이 원하는 인사이트를 얻어낼 수 있도록 해야 한다.


Data Lake의 아키텍처 : 플랫 아키텍처

위는 이미지는 데이터 레이크의 개념적 아키텍처 다이어그램이다. 가장 왼쪽 부분에는 구조화, 반 구조화 또는 구조화되지 않은 데이터 소스가 있음을 알 수 있다. 이러한 데이터 소스는 원시 형식의 데이터, 즉 변환 없이 데이터를 사용하는 원시 데이터 저장소로 결합된다. 이것은 저렴하고 영구적이며 확장 가능한 스토리지이다.
다음으로 데이터 검색, 탐색 적 데이터 분석 및 예측 모델링에 사용할 수 있는 분석 샌드 박스가 있다. 이것은 데이터 과학자가 데이터를 탐색, 새로운 가설 수립 및 사용 사례를 정의하는 데 사용된다.
그리고 다음 원시 데이터를 소비자가 사용할 수 있는 형식, 즉 최종 사용자에게 보고하는 데 사용할 수 있는 구조화 된 형식으로 처리하는 일괄 처리 엔진과 스트리밍 데이터를 가져와 변환하는 실시간 처리 엔진이 존재한다.
데이터 레이크가 성공적인 데이터를 관리하는 열쇠가 되기 위해서는 확장성 있는 아키텍처를 설계해야 한다. 미래 성장을 염두 해야 하기 때문에 기술 스택이 복잡하며 스토리지, 프로세싱, 데이터 관리 및 분석 도구에 대해 수많은 결정을 신중히 해야 한다. 그 다음, 데이터를 수집, 준비하고 보안을 유지하는 강력한 기능 셋을 갖는 것이 매우 중요하다. 기본 플랫폼으로 무엇을 선택하든 다양한 데이터 성격(스트리밍, 배치)과 데이터 저장 구조(오브젝트 스토리지, 플래시, 인메모리, 파일 등)를 처리할 수 있는 기능 셋이 있어야 하며 몇 차례에 걸쳐 진화해도 이 모든 것을 일관성 있게 제공할 수 있어야 한다. 그리고 강력한 메타데이터 기반 데이터 관리 플랫폼을 통해 규모에 따라 건강한 데이터 레이크를 설계하고 배포해야 한다. 따라서 이 데이터 레이크는 투명성, 확장성이 뛰어난 최신 데이터 아키텍처를 제공해야 하므로 플랫 아키텍처를 채택하여 구축된다.


마무리하며

빅 데이터 시대에 데이터를 저장하고 관리하는 플랫폼의 중요성이 더욱 대두되고 있다. 본 보고서에서는 그 중심축이라 할 수 있는 데이터 레이크에 대한 배경, 기업이 사용하는 이유, 데이터 웨어 하우스와의 비교를 통한 장단점 그리고 플랫 아키텍처에 대해서 다루어 보았다. 중요한 것은 방대한 양의 데이터를 보관하는 데이터 레이크가 데이터 늪이 되지 않기 위해서 장기적인 데이터 관리 및 거버넌스를 정의해야 하며. 경우에 따라서는 데이터 웨어 하우스와 혼합하여 적절한 목적에 맞게 사용하여 데이터를 보다 현명하게 관리 및 활용할 수 있을 것이다.


References

  1. [경제프리즘] 빅데이터 시대의 성공
    http://www.kyeonggi.com/news/articleView.html?idxno=2386064

  2. [데이터 레이크란?] 데이터웨어 하우스와 데이터 레이크
    https://ko.myservername.com/what-is-data-lake-data-warehouse-vs-data-lake

  3. [Werner Vogels] ‘How Amazon is solving big-data challenges with data lake’, Silicon Angle, 2020.1.30.
    https://siliconangle.com/2020/01/30/amazon-solving-big-data-challenges-data-lakes/

  4. [수행사례] Data treams – SK 주식회사 C&C의 Data Lake 구축
    http://datastreams.co.kr/kor/sub/customer/story.asp?mode=view&bid=8&s_type=&s_keyword=&s_cate=&idx=140&page=2

  5. [AWS] What is a data lake?
    https://aws.amazon.com/ko/big-data/datalakes-and-analytics/what-is-a-data-lake/

  6. [SAMSUNG SDS 라이브러리] 빅데이터로 가치를 만드는 호수 ‘데이터 레이크’ 이야기
    https://www.samsungsds.com/kr/insights/big_data_lake.html

  7. [Red Hat] 데이터 레이크(Data Lake)란? 정의, 구축 및 솔루션
    https://www.redhat.com/ko/topics/data-storage/what-is-a-data-lake

  8. [Loustler] 데이터 웨어하우스(Data Warehouse)와 데이터 레이크(Data Lake)의 차이
    https://loustler.io/data_eng/diff-data_lake-data_warehouse/

  9. [Adobe] What is a data lake?
    https://business.adobe.com/glossary/data-lake.html#q1

  10. [SAMSUNG SDS 라이브러리] Data Lake를 통한 데이터 관리 패러다임의 전환 – 2부 DW와 데이터 ‘늪’ 사이
    https://www.samsungsds.com/kr/insights/1232760_4627.html

  11. [Data Swamp img] Don’t Let Your Data Lake Turn Into A Data Swamp
    https://medium.com/@thenortonsetup/dont-let-your-data-lake-turn-into-a-data-swamp-44dba717126b

  12. [Databricks] ’What are the challenges with data lake?’
    https://databricks.com/discover/data-lakes/challenges

profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

0개의 댓글