본문 바로가기

빅데이터(Bigdata)

빅데이터 저장: 주요 개념과 솔루션

빅데이터 시대에서 데이터를 효율적으로 저장하고 관리하는 것은 기업의 성공에 필수적입니다. 이번 글에서는 비정형 데이터 저장의 문제부터 데이터 레이크와 데이터 웨어하우스의 비교, 빅데이터 저장 솔루션까지 다양한 측면에서 빅데이터 저장에 대해 알아보겠습니다.

 

비정형 데이터 저장의 문제

일반적으로 기업에서 사용되는 데이터베이스는 여러 개의 행과 열로 구성된 관계형 데이터베이스(Relational Database, RDB)입니다. 관계형 데이터베이스는 사전에 정의된 데이터 스키마(Schema)대로 데이터를 정제하고 구조화해야 저장할 수 있습니다. 그러나 이렇게 저장한 데이터는 사용 목적이 바뀌었을 때 유연성이 떨어질 수 있다는 한계가 있습니다.

최근에는 수집되는 많은 데이터가 구조화될 수 없는 비정형 데이터(Unstructured Data) 형태를 갖고 있습니다. 이런 데이터를 처리하기 위해 데이터 레이크(Data Lake)라는 개념이 등장했습니다. 데이터 레이크는 조직의 모든 원시 데이터(Raw Data)를 거대한 단일 저장소에 모으는 것을 의미합니다. 데이터 레이크는 기존의 관계형 데이터베이스 시스템(RDBMS)이 처리하기 어려운 막대한 양의 비정형 데이터를 저장해 두고, 필요할 때 언제든지 활용할 수 있도록 합니다.

데이터 레이크와 데이터 웨어하우스 비교

데이터 레이크와 데이터 웨어하우스는 데이터 저장 방식과 활용 방법에서 차이가 있습니다.

  • 데이터 웨어하우스(Data Warehouse): 사전에 정의된 스키마대로 데이터를 저장합니다. 데이터 웨어하우스는 정형 데이터(Structured Data)를 저장하며, 데이터를 추출하여 분석에 바로 활용할 수 있습니다.
  • 데이터 레이크(Data Lake): 데이터의 본래 형식과 스키마대로 데이터를 저장합니다. 비정형 데이터를 포함한 다양한 형태의 데이터를 저장하며, 데이터 분석이 필요할 때 원시 데이터를 바로 활용할 수 있습니다.

구분데이터 웨어하우스데이터 레이크

볼륨 테라바이트(Terabyte) 규모 페타바이트(Petabyte) 규모
스키마 Schema on Write Schema on Read
데이터 유형 내부·정형 데이터 외부·비정형 데이터
적재 처리 배치(Batch), 준실시간 배치, 준실시간, 스트리밍
거버넌스 성숙 단계 초기 단계
조인 복잡한 조인, 다중 테이블 조인 단순 조인, 파일들만 스캔

저장소 구축과 저장 주기의 문제

빅데이터 플랫폼 구축 시, 데이터 레이크를 어디에 구축할 것인가는 중요한 의사결정 사항입니다. 하둡(Hadoop)과 같은 분산 처리 기술의 발전으로 대용량 데이터를 빠르게 저장하고 처리하는 것이 가능해졌습니다. 하지만 하둡 노드를 무한대로 늘릴 수 없기 때문에 많은 기업이 퍼블릭 클라우드(Public Cloud)나 프라이빗 클라우드(Private Cloud)에 데이터 레이크를 구축하고 있습니다.

기업들은 제한된 저장 공간에서 기하급수적으로 늘어나는 데이터를 저장하고 처리하는 데 어려움을 겪고 있습니다. 이런 상황에서 데이터의 중요도와 기업의 유휴 저장 공간에 따라 데이터의 보관 주기를 결정합니다. 데이터 저장 및 관리에 대한 명확한 거버넌스 체계를 수립하여 효율적으로 데이터를 관리해야 합니다.

빅데이터 저장 솔루션

빅데이터 저장을 위해 다양한 솔루션이 있습니다. 대표적인 빅데이터 저장 솔루션에는 하둡(Hadoop), HBase/피닉스(Phoenix), 카산드라(Cassandra)가 있습니다.

솔루션특징사용 사례

하둡(Hadoop) 대량의 데이터 저장 가능, 대용량 데이터 분석에 최적화 수직적 연산 처리, 대규모 저장·분석, BI 분석에 사용
HBase/피닉스(Phoenix) 하둡 기반 분산 데이터베이스, 실시간 데이터 저장 아파치 피닉스와 함께 사용하며 다양한 분석 작업을 SQL 기반으로 처리
카산드라(Cassandra) 칼럼 기반의 분산 DB, 멀티 리전 데이터 저장 경량의 데이터 저장 구조와 확장성이 뛰어나 NoSQL의 대표주자

하둡(Hadoop)

하둡(Hadoop)은 분산 환경에서 대량의 자료를 저장·처리하는 자바 기반의 오픈소스 프레임워크입니다. 하둡은 오픈소스이기 때문에 시스템 비용이 저렴합니다. 또한 하둡은 데이터 저장뿐만 아니라 데이터 처리와 분석도 할 수 있는 강력한 솔루션입니다.

하둡은 맵리듀스(MapReduce) 알고리즘을 사용하여 데이터를 처리합니다. 맵리듀스는 데이터를 여러 개의 조각으로 나누어(Map 단계) 처리한 후, 그 결과를 합쳐서(Reduce 단계) 최종 결과를 도출합니다.

HDFS(Hadoop Distributed File System)는 하둡의 주요 구성 요소로, 대용량 데이터를 분산 저장합니다. HDFS는 네임노드(NameNode)와 데이터노드(Datanode)로 구성되며, 네임노드는 메타 정보를 저장하고 데이터노드는 실제 데이터를 저장합니다.

HBase/피닉스(Phoenix)

HBase는 하둡 파일 시스템 기반에서 작동하는 칼럼 단위의 NoSQL 데이터베이스입니다. 피닉스(Phoenix)는 HBase 위에 SQL 레이어를 올려 관계형 데이터베이스처럼 사용할 수 있게 해주는 오픈소스 도구입니다. 이를 통해 기존의 SQL 구문을 사용하여 다양한 분석 작업을 쉽게 처리할 수 있습니다.

카산드라(Cassandra)

카산드라(Cassandra)는 칼럼 기반의 데이터 모델과 분산 모델을 기반으로 한 분산 데이터베이스입니다. 카산드라는 링(Ring) 구조를 사용하여 각 노드의 추가, 삭제가 용이합니다. 그러나 조인이나 트랜잭션을 지원하지 않는 한계가 있습니다. 카산드라는 대규모 데이터를 빠르게 처리할 수 있는 확장성을 가지고 있어 빅데이터 처리에 적합합니다.


결론

빅데이터 저장은 현대 기업의 데이터 관리 전략에서 중요한 요소입니다. 비정형 데이터의 저장 문제를 해결하기 위해 데이터 레이크와 같은 새로운 개념이 등장하고, 하둡, HBase, 카산드라와 같은 다양한 저장 솔루션이 개발되었습니다. 기업은 데이터 저장과 관리에 대한 명확한 거버넌스 체계를 수립하고, 적절한 솔루션을 활용하여 효율적인 데이터 관리를 실현해야 합니다. 이를 통해 빅데이터의 잠재력을 최대한 활용할 수 있을 것입니다.