Apache HBase란 무엇인가요?
Apache HBase는 오픈소스 NoSQL 분산형 빅 데이터 저장소입니다. 이를 통해 페타바이트 규모의 데이터에 엄격하게 일관되고 무작위의 실시간 액세스가 가능합니다. HBase는 크고 산재된 데이터 세트를 처리하는 데 매우 효과적입니다.
HBase는 Apache Hadoop 및 Hadoop 에코시스템과 원활하게 통합되며, Amazon Elastic MapReduce(EMR) 파일 시스템 또는 EMRFS를 사용하여 Hadoop 분산 파일 시스템(HDFS) 또는 Amazon S3에서 실행됩니다. HBase는 Hadoop용 Apache MapReduce 프레임워크에 대한 직접적인 입력 및 출력 역할을 하며, Apache Phoenix와 연동하여 HBase 테이블에 대한 SQL과 유사한 쿼리를 가능하게 합니다.
HBase는 어떻게 작동하나요?
HBase는 열 지향의 비관계형 데이터베이스입니다. 즉, 데이터는 개별 열에 저장되고 고유한 행 키로 인덱싱됩니다. 이 아키텍처를 사용하면 개별 행과 열을 신속하게 검색하고 테이블 내의 개별 열을 효율적으로 스캔할 수 있습니다. 데이터와 요청 모두 HBase 클러스터의 모든 서버에 분산되므로 밀리초 내에 페타바이트 규모의 데이터에 대한 결과를 쿼리할 수 있습니다. HBase는 HBase API를 통해 액세스되는 비관계형 데이터를 저장하는 데 가장 효과적으로 사용됩니다. Apache Phoenix는 일반적으로 HBase 상단의 SQL 계층으로 사용되므로 익숙한 SQL 구문을 사용하여 HBase에 저장된 데이터를 삽입, 삭제 및 쿼리할 수 있습니다.
HBase의 이점은 무엇인가요?
확장성
HBase는 수천 대의 서버를 확장하고 페타바이트 규모의 데이터에 대한 액세스를 관리하도록 설계되었습니다. Amazon EC2의 탄력성과 Amazon S3의 확장성을 통해 HBase는 대규모 데이터 세트에 대한 온라인 액세스를 처리할 수 있습니다.
신속함
HBase는 애플리케이션의 요청을 호스트 클러스터에 분산하여 페타바이트 규모의 데이터에 대한 지연 시간이 짧은 임의 읽기 및 쓰기 액세스를 제공합니다. 각 호스트는 HDFS 및 S3의 데이터에 액세스하고 밀리초 내에 읽기 및 쓰기 요청을 처리합니다.
내결함성
HBase는 테이블에 저장된 데이터를 클러스터의 여러 호스트로 분할하며 개별 호스트 장애를 견딜 수 있도록 구축되었습니다. 데이터가 HDFS 또는 S3에 저장되기 때문에 장애가 발생한 호스트에서 데이터를 제공한 후에는 데이터를 호스팅할 정상 호스트가 자동으로 선택되고 데이터는 자동으로 온라인 상태로 전환됩니다.
Hbase의 사용 사례에는 어떤 것이 있나요?
FINRA(Financial Industry Regulatory Authority)는 미국에서 가장 큰 독립적인 보안 규제 기관으로, 금융 거래 사례를 모니터링하고 규제합니다. FINRA는 대화형 애플리케이션이 3조 개의 레코드(하루에 수십억 개씩 증가)에 임의 액세스하여 관련 시장 이벤트를 검색 및 표시할 수 있도록 Amazon S3에서 Apache HBase를 실행하기 위해 Amazon EMR을 사용합니다. FINRA는 스토리지와 컴퓨팅을 분리함으로써 3x 복제로 HDFS에 데이터를 저장하기 위해 클러스터 크기를 조정하는 것이 아니라, 데이터의 단일 복사본을 Amazon S3에 저장하고 필요한 컴퓨팅 파워에 맞춰 클러스터 크기를 조정할 수 있습니다. 이를 통해 연간 60% 이상의 비용을 절감하고, 간단하게 컴퓨팅을 확장하며, 새로운 EC2 가용 영역의 클러스터 복원 시간을 며칠에서 30분 미만으로 줄일 수 있습니다.
세계적인 구인구직 서비스 업체인 Monster는 Amazon EMR 기반 Apache HBase를 사용하여 다운스트림 분석을 위한 클릭스트림 및 광고 캠페인 데이터를 저장합니다. 이를 통해 해당 캠페인에서 단일 노출 단위로 세분화하여 서로 다른 고객 세그먼트가 어떻게 수행되고 있는지 모니터링할 수 있습니다. Monster의 분석 팀은 손쉽게 행을 스캔하고 사용자당 보기 및 클릭 수를 집계하여 캠페인 활동을 파악할 수 있습니다. 또한, Apache HBase가 Apache Hadoop 에코시스템과 긴밀히 통합된다는 점도 활용합니다. Monster는 별도의 Amazon EMR 클러스터에서 Apache Hive를 실행하여 SQL을 통해 HBase 테이블을 쿼리합니다. 이는 추가 분석과 Apache HBase에서 Amazon Redshift로 데이터를 내보낼 때 유용합니다.
AWS는 HBase와 Hadoop을 어떻게 지원할 수 있나요?
Amazon EMR은 가장 쉽고 빠르며 비용 효율적인 관리형 Hadoop 프레임워크를 제공하여 고객이 동적으로 확장 가능한 EC2 인스턴스에서 방대한 양의 데이터를 처리할 수 있도록 합니다. 또한 고객은 EMR에서 Apache HBase, Hive, Spark, Presto, Flink와 같은 널리 사용되는 다른 분산 프레임워크를 실행할 수 있습니다.
Amazon EMR에 대해 자세히 알아보기
지금 무료 AWS 계정을 만들어 AWS에서 Apache HBase를 시작하세요.