Azure HDInsight에서 Apache HBase란

Apache HBase는 Apache Hadoop을 기반으로 하며 Google BigTable 이후에 모델링된 오픈 소스 NoSQL 데이터베이스입니다. HBase는 스키마 없는 데이터베이스에서 대량의 데이터에 대해 임의 액세스 및 강력한 일관성을 제공합니다. 데이터베이스는 열 패밀리로 구성됩니다.

사용자 관점에서 볼 때 HBase는 데이터베이스와 유사합니다. 데이터는 테이블의 행과 열에 저장되고 행 내의 데이터는 열 제품군으로 그룹화됩니다. HBase는 스키마 없는 데이터베이스입니다. 열 및 데이터 형식을 사용하기 전에 정의하지 않을 수 있습니다. 오픈 소스 코드는 수천 대의 노드에 있는 페타바이트 크기의 데이터를 처리할 수 있을 정도로 선형으로 확장됩니다. Hadoop 환경의 분산 애플리케이션이 제공하는 데이터 중복, 일괄 처리 및 기타 기능을 사용할 수 있습니다.

Azure HDInsight에서 Apache HBase를 구현하는 방법

HDInsight HBase는 Azure 환경에 통합된 관리 클러스터로 제공합니다. 이 클러스터는 Azure Storage에 직접 데이터를 저장하도록 구성되며, 그러면 대기 시간이 짧고 성능 및 비용 선택 시 탄력성이 높습니다. 이 속성을 통해 고객은 대규모 데이터 세트로 작동하는 대화형 웹 사이트를 빌드할 수 있습니다. 수백만 개의 엔드포인트에서 센서 및 원격 분석 데이터를 저장하는 서비스를 빌드합니다. 그리고 Hadoop 작업을 사용하여 이 데이터를 분석합니다. HBase와 Hadoop은 Azure의 빅 데이터 프로젝트를 위한 좋은 출발점입니다. 이 서비스를 통해 실시간 애플리케이션에서 대규모 데이터 세트를 사용할 수 있습니다.

HDInsight 구현은 HBase의 스케일 아웃 아키텍처를 사용하여 테이블의 자동 분할을 제공합니다. 그리고 읽기 및 쓰기, 자동 장애 조치(failover)에 대한 강력한 일관성을 제공합니다. 읽기를 위한 메모리 내 캐싱과 쓰기를 위한 높은 처리량 스트리밍을 통해 성능이 향상됩니다. HBase 클러스터는 가상 네트워크 내에 만들 수 있습니다. 자세한 내용은 Azure Virtual Network에 HDInsight 클러스터 만들기를 참조하세요.

HDInsight HBase에서 데이터를 관리하는 방법

HBase의 HBase 셸에서 create, get, putscan 명령을 사용하여 데이터를 관리할 수 있습니다. 데이터는 put을 사용하여 데이터베이스에 기록되고 get을 사용하여 읽습니다. scan 명령은 테이블의 여러 행에서 데이터를 가져오는 데 사용됩니다. HBase REST API에서 클라이언트 라이브러리를 제공하는 HBase C# API를 사용하여 데이터를 관리할 수도 있습니다. 또한 Apache Hive를 사용하여 HBase 데이터베이스를 쿼리할 수 있습니다. 이러한 프로그래밍 모델 소개는 HDInsight에서 Apache Hadoop와 함께 Apache HBase를 사용하여 시작을 참조하세요. 데이터베이스를 호스트하는 노드에서 데이터를 처리할 수 있도록 하는 보조 프로세서를 사용할 수도 있습니다.

참고

Thrift는 HDInsight의 HBase에서 지원되지 않습니다.

Apache HBase 사용 사례

웹 검색에서 BigTable 및 확장에 의해 HBase를 만드는 정식 사용 사례입니다. 검색 엔진은 엔진을 포함하는 웹 페이지에 용어를 매핑하는 인덱스를 구축합니다. 그러나 HBase가 적합한 다른 많은 사용 사례가 있으며, 몇 가지 사례가 이 섹션에 나와 있습니다.

시나리오 Description
키-값 저장소 HBase를 키-값 저장소로 사용할 수 있으며 메시지 시스템 관리에 적합합니다. Facebook은 해당 메시징 시스템에 HBase를 사용하며 인터넷 통신 저장 및 관리에 유용합니다. WebTable은 HBase를 사용하여 웹 페이지에서 추출된 테이블을 검색하고 관리합니다.
센서 데이터 HBase는 다양한 소스에서 증분 방식으로 수집된 데이터를 캡처하는 데 유용합니다. 이 데이터에는 소셜 분석과 시계열이 포함됩니다. 그리고 추세 및 카운터로 대화형 대시보드를 최신 상태로 유지하고 감사 로그 시스템을 관리합니다. 예를 들어 Bloomberg 중개인 터미널 및 OpenTSDB(Open Time Series Database)가 있습니다. OpenTSDB는 서버 시스템 상태에 대해 수집된 메트릭에 대한 액세스를 저장하고 제공합니다.
실시간 쿼리 Apache Phoenix는 Apache HBase용 SQL 쿼리 엔진입니다. JDBC 드라이버로 액세스되며 SQL을 사용하여 HBase 테이블을 쿼리하고 관리할 수 있도록 합니다.
HBase를 플랫폼으로 사용 HBase를 데이터 저장소로 사용하여 HBase 위에서 애플리케이션을 실행할 수 있습니다. 예를 들어 Phoenix, OpenTSDB, Kiji 및 Titan 등이 있습니다. 애플리케이션이 HBase와 통합될 수도 있습니다. 다음은 이러한 템플릿의 예입니다. Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark, Ganglia 및 Apache Drill.

다음 단계