'좀더 유연한 빅데이터 관리 방안'··· 데이터 레이크 이해하기

InfoWorld

빅데이터에 관한 최신 기술 소식에 촉각을 기울인다면 아마 “데이터 레이크(Data Lake)”라는 용어를 들어본 적이 있을 것이다. 데이터 호수라고 하면 큰 저수지 이미지가 떠오르는데, 실제 개념도 그 이미지와 별반 다르지 않다. 물 대신 데이터가 있을 뿐이다.

Image Credit : GettyImagesBank

데이터 호수의 정의
데이터 호수는 방대한 양의 비구조적 데이터를 원시 네이티브 형식으로 담고 있다.

따라서 사용자는 평범한 파일 시스템을 지원하는 디바이스만 있으면 된다. 즉, 원한다면 메인프레임을 사용해도 무방하다. 데이터는 처리를 위해 다른 서버로 이동된다. 대부분의 기업은 하둡 파일 시스템(HDFS)을 선택한다. 대용량 데이터를 빠르게 처리하는 데 유리하게 설계됐고, 데이터 호수가 사용될 가능성이 높은 빅데이터 환경에서 사용되고 있기 때문이다.

네이티브 형식 데이터 지원에는 중요한 이점이 있다. 데이터 관리 소프트웨어 솔루션 업체인 세마키(Semarchy)의 마이클 히스키는 “엄청난 양의 데이터를 확보하고, 이 데이터로 무엇을 할지는 나중에 판단하려고 한다면 현재 데이터 호수의 개념과 딱 맞는 것”이라고 강조했다. 히스키는 “데이터 호수 사용자는 나중에 흥미가 발생하면 적절한 조치를 취할 수 있도록 알려진 것들과 알려지지 않은 온갖 것들을 저장해 둔다. 지금 던져 넣는 데이터에 어떤 가치가 있는지 알 수 없지만 미래에 그 데이터에 흥미가 생길 수 있기 때문”이라고 설명했다.

여러 클라우드 데이터 소스를 연결하는 ETL 서비스인 스티치(Stitch)의 CEO 제이크 스테인도 “데이터를 언제 사용하게 될지 확실치 않고 1초 미만의 액세스 시간을 확보할 필요가 없어 저렴한 형태로 저장하기를 원한다면 데이터 호수가 적절하다. 지금 데이터를 잡아두지 않으면 나중에는 그 데이터를 획득할 수 없는 경우가 많으므로 미래를 대비한다는 측면에서 중요하다”고 말했다.

데이터 호수 vs. 데이터 웨어하우스
데이터 저장고라는 개념이 새로운 것은 아니다. 데이터 웨어하우스는 수십년 전부터 존재했다. 데이터 웨어하우스를 데이터 호수와 비교하곤 하지만, 이 두 가지 기술은 저장되는 데이터의 종류부터 처리되는 방식까지 근본적으로 다르다.

데이터 호수에는 특수 하드웨어 불필요
데이터 호수와 데이터 웨어하우스의 중요한 차이점 중 하나는 데이터 호수에는 데이터 웨어하우스와 달리 특수한 하드웨어나 소프트웨어가 필요 없다는 점이다.

데이터 호수의 더 높은 유연성
앞서 언급했듯이 데이터 호수는 방대한 양의 비구조적인 원시 데이터를 네이티브 형식으로 저장하는 반면, 데이터 웨어하우스는 폴더, 행, 열로 훨씬 더 구조화된다. 따라서 데이터 호수가 데이터 웨어하우스에 비해 데이터에 있어 훨씬 더 유연하다.

이것이 중요한 이유는 80% 규칙에 있다. 1988년 메릴린치는 기업 데이터의 80%가 비구조적 데이터가 될 것으로 예상했는데, 이 예상은 현재까지 잘 맞아떨어지고 있다. 또한 이 말은 데이터 웨어하우스의 잠재적 데이터 분석 범위는 상당히 제한된다는 것을 의미한다.

히스키는 특정 데이터를 지금 사용하지 않더라도 일단 수집해 저장한 다음 몇 주, 몇 개월, 또는 몇 년 후에 그 데이터를 다시 찾아서 분석을 수행할 수 있다는 면에서 데이터 호수가 데이터 웨어하우스보다 더 유용하다고 주장한다.

유연성과 관련된 데이터 호수와 데이터 웨어하우스의 차이점은 곧 읽기 스키마(schema-on-read)와 쓰기 스키마(schema-on-write )의 차이다. 스키마는 전체 데이터베이스의 논리적 설명으로, 모든 레코드 유형의 레코드 이름과 설명을 포함한다.

데이터 웨어하우스는 쓰기 스키마를 적용하므로 데이터를 저장하기 전에 그 데이터를 어떻게 구조화할지 정확히 알고 있어야 한다. 즉 흡수 전, 또는 최소한 저장 전에 준비할 부분이 많다. 반면 데이터 호수는 읽기 스키마를 적용하므로 데이터를 읽고 처리하면서 형식을 지정할 수 있다. 읽기 스키마는 로그 파일이나 웹 파일, 기타 유의미한 구조가 없는 것 등 온갖 데이터를 바구니 안에 담은 다음 나중에 그 의미를 살펴볼 수 있음을 의미한다.

미국보험서비스협회(AAIS)의 데이터 엔지니어링 책임자인 조 윌헬미는 “데이터 호수에서는 원시 소스 데이터에서 구조적 프로젝션에 이르기까지의 성숙 주기를 통해 반복적으로 데이터를 가져올 수 있다. 데이터를 사용할 수 있기 전에 그 데이터에서 상품 가치를 얻기 위해 데이터 엔지니어나 IT의 도움을 받을 필요가 없다”고 말했다.

데이터 호수의 각 데이터 요소에는 고유한 식별자가 할당되고 확장 메타데이터 태그가 지정된다. 누군가 특정 메타데이터를 기반으로 비즈니스 쿼리를 수행하면 쿼리 또는 질의를 위해 태그된 모든 데이터가 분석된다.


데이터 웨어하우스와 달리 데이터 호수에는 기반 데이터베이스가 없다. 대신 데이터 호수는 일반 파일 시스템을 사용한다. 데이터베이스에서는 데이터를 쓰기 전에 데이터와 열을 선택해야 한다. 데이터를 데이터베이스에 삽입하기 전에 다소 시간이 소요될 수 있지만, 그 대신 쿼리를 수행할 경우 그 속도는 읽으면서 데이터를 처리해야 하는 데이터 호수에 비해 훨씬 더 빠르다.

스테인은 “데이터 호수에서는 원하는 방식으로 자유롭게 데이터를 저장소에 집어넣을 수 있다. 덕분에 유연한 스키마로 데이터를 쓰고 나중에 쿼리할 수 있지만 속도는 훨씬 더 느리다”면서 “이러한 서버에서 원활하게 처리하지 못하는 한 가지가 바로 메타데이터 관리다. 무엇이 어느 폴더로 들어가는지, 언제 시한이 만료되는지와 같은 것들이다. 그와 같은 서비스를 수행할 경우에는 직접 만들어야 한다”고 말했다.

엔터프라이즈급 데이터 호수 소프트웨어
기존 하드웨어와 무료 오픈소스 소프트웨어를 사용하여 구현할 수 있다는 점은 오랜 기간 동안 데이터 호수에서 일종의 양날의 칼과 같이 작용했다. 장점은 기존 하드웨어와 무료 오픈소스 소프트웨어를 사용한다는 점이다. 단점은 대부분의 사람들이 원하는 전통적인, 성숙한 데이터 웨어하우스 업체가 제공하는 상업적으로 지원되는 소프트웨어가 없다는 점이다.

그러나 이제는 다르다. 테라데이터, 오라클과 같은 전통적인 데이터 웨어하우스 솔루션 업체도 호튼웍스, 클라우데라와 같은 전문 빅데이터 솔루션 업체와 마찬가지로 상용 데이터 호수 제품을 제공한다.

아마존, 마이크로소프트, 구글, IBM 모두 기본적인 클라우드 스토리지 서비스와 함께 다양한 데이터 호수 툴을 제공하므로 온프레미스는 물론 클라우드에 데이터 호수를 구축할 수도 있다.

그 외에 다음과 같은 상용 데이터 호수 제품이 있다.

- 아파치 나이파이(Apache NiFi) : 아파치 라이선스 하의 오픈 소스 툴로, 데이터 호수와 분석에서 데이터 라우팅 및 변환에 사용된다. 상용화된 제품으로는 호튼웍스의 데이터플로우(DataFlow)가 있다.

- 케임브리지 시맨틱스(Cambridge Semantics): 최신 버전의 안조 스마트(Anzo Smart) 데이터 호수 제품은 흡수와 읽기 시에 데이터에 시맨틱 계층을 추가하므로 필요에 따라 준비 및 분석을 수행할 수 있다. 또한 데이터 분석을 시각적으로 표시하기 위한 그래프 모델도 있다.

- 히타치 밴타라(Hitachi Vantara) : 히타치 밴타라는 “데이터 호수”라는 용어를 처음 사용하기 시작한 펜타호(Pentaho)를 소유했다. 데이터 호수와 관련된 유명세 외에 펜타호는 데이터 흡수 툴로 유명하며 하둡, 스파크, 카프카, NoSQL과의 통합으로 보안, 거버넌스, 통합 및 데이터 변환을 제공한다.

- 트리팩타(Trifacta): 이 회사의 랭글러(Wrangler) 소프트웨어는 AI와 머신러닝 알고리즘을 사용해서 데이터 처리, 그리고 분석가 또는 비즈니스 사용자와의 상호작용을 자동화 및 간소화한다. 특정 데이터 집합과 여러 워크플로우에 걸쳐 데이터 변환 단계의 계통을 시각적으로 추적해 표현한다.

- 잴로니(Zaloni): 잴로니는 잴로니 데이터 플랫폼이라는 엔터프라이즈 데이터 호수 플랫폼을 제공한다. 이 플랫폼은 클라우드 및 구내 구축 지원, 관리 플랫폼, 데이터 카탈로그, 데이터 거버넌스를 위한 구역, 그리고 처음부터 끝까지 모든 처리 과정을 포괄하는 셀프 서비스 데이터 준비 툴을 포함한다.

데이터 호수를 피해야 하는 경우
데이터 호수는 만능이 아니다. 기업에 따라서는 불필요할 수도 있고 오히려 역효과를 내는 경우도 있다. 히스키는 예를 들어 실시간 작업에는 데이터 호수가 맞지 않는다면서 “실시간 최신 정보를 다룬다면 데이터 호수는 적합하지 않다. 데이터 호수는 과거에 기록된 데이터를 다루는 기술이다. 실시간 작업에는 빠른 트랜잭션 시스템이 필요하다”고 말했다.

윌헬미는 일부 산업에서는 비구조적 특성으로 인해 데이터 호수를 허용하지 않는다면서 “무작위 비트와 파일에 대한 강력한 데이터 거버넌스가 없고, 데이터 호수에 어떤 거버넌스 프로세스가 있는지 아무도 이해하지 못한다. 전제 조건은 견고한 데이터 거버넌스 포지션이다. 조직은 데이터 호수에서 흡수와 정리, 전달에 이르기까지의 데이터 프로세스를 통제하려면 성숙도 측면에서 중간 또는 고급 수준에 있어야 한다”고 말했다.

한편 엔터프라이즈 애플리케이션 컨설팅(Enterprise Applications Consulting)의 수석 애널리스트 조슈아 그린바움은 데이터 호수 자체를 좋은 아이디어라고 생각하지 않는다. 그린바움은 “대부분의 경우 데이터 호수는 IT의 게으름을 나타내는 징후이며, 전략적 사고와는 무관하다. 이 게으름은 ‘데이터를 한 곳에 모아두고 나중에 생각하자’는 태도’”라고 지적했다.

그린바움은 해결하고자 하는 문제를 모르는 상태에서 나중에 무언가를 짓기 위해 최대한 많은 벽돌을 모드는 것과 같다면서 “그러나 계획이 없으면 그저 벽돌 무더기일 뿐이다. 나중에 가서 벽돌이 아닌 목재가 필요하게 되면 어떻게 되는가? 애초에 설계부터 시작했다면 무엇이 필요한지 알았을 것”이라고 주장했다.

데이터 호수에 대한 그린바움의 냉소적 시각은 이전 데이터 웨어하우스에서의 경험에 기인한다. 그린바움은 “전에 봤던 영화를 또 보는 것과 같다. 배우는 다르지만 전개 양상은 동일하고 결말도 동일하다. 전략적으로 하지 않으면 데이터 웨어하우스에서와 마찬가지로 데이터 호수에도 많은 돈을 낭비하게 될 것”이라고 덧붙였다.

목적 없는 데이터 호수는 값비싼 “만일을 위해” 접근 방식이다. 그러나 전략적으로 하면 장기간에 걸쳐 분석하고 다양한 방식으로 처리하고자 하는 정보(예를 들어 고객 패턴)를 저장하는 탁월한 방법이다. 전통적인 데이터 웨어하우스와 같이 한 가지 용도로만 사용 가능하도록 데이터를 처리해 저장하지 않기 때문이다.  editor@itworld.co.kr