차례:
- Hbase가 희박합니다.
- 기본적으로 HBase는 HDFS를 활용하여 데이터를 디스크 스토리지에 저장합니다. HBase와 함께 다른 분산 데이터 저장소를 사용할 수 있지만 HBase 설치의 대다수는 HDFS를 활용합니다. HBase가 "Hadoop Database"라는 점을 감안할 때 이것은 완벽한 의미를 갖습니다. 헤이, 이름에 내장되어 있습니다.
비디오: 아파치 하둡의 기초지식(하둡 에코시스템 맵 등)-모바일SW사업단 10차 2024
HBase (하둡 데이터베이스)는 Google의 BigTable을 Java로 구현 한 것입니다. Google은 BigTable을 "스파 스, 분산, 영구 다차원 소팅 맵"으로 정의합니다. "이것은 매우 간결한 정의이지만, 복잡한 측면에서 약간의 차이가 있다는 것에 동의 할 것입니다. BigTable의 복잡성을 약간 해소하기 위해 다음은 각 속성에 대한 설명입니다.
Hbase가 희박합니다.
짐작할 수 있듯이 BigTable 분산 데이터 스토리지 시스템은 대용량 데이터의 요구를 충족하도록 설계되었습니다. 이제 큰 데이터 응용 프로그램은 많은 양의 데이터를 저장하지만 큰 데이터 내용도 가변적입니다. 다음과 같이 고객 연락처 정보를 저장하는 회사 데이터베이스의 기존 테이블을 상상해보십시오.
->고객 ID | 성 | 이름 | 중간 이름 | 전자 메일 주소 | 번지 주소 |
---|---|---|---|---|---|
00001 John Timothy 1 Hadoop Lane, NY 11111 | 00002 | Jane | NULL | NULL | |
7 HBase Ave, CA 22222 | 회사 또는 개인은 고객 또는 구성 요소 각각에 대해 완전한 데이터 레코드를 요구할 수 있습니다. 좋은 예는 적절한 치료를 제공하기 위해 모든 연락처 정보가 필요한 의사입니다. 다른 회사 또는 개인은 부분 연락처 정보 만 필요하거나 시간이 지남에 따라 해당 정보를 알아야 할 수도 있습니다. |
|
예를 들어, 고객 서비스 회사는 서비스 요청에 대한 전화 또는 전자 메일 메시지를 처리 할 수 있습니다. 고객은 서비스 회사에게 모든 연락처 정보를 제공할지 여부를 결정할 수도 있고하지 않을 수도 있습니다. 그러나 시간이 지남에 따라 상호 작용할 때마다 기업은 사전 예방 적 서비스 경고를 발급하여 고객에게 더 나은 서비스를 제공 할 수있는 고객에 대해 더 많이 알 수 있습니다. | 이 문맥에서 | 드문 드문 한 |
은 행의 필드가 비어 있거나 NULL 일 수 있지만 HBase가 눈부신 중지를 초래하지 않는다는 것을 의미합니다. HBase는 Jane Doe의 중간 이름과 전자 메일 주소를 (아직) 알지 못한다는 사실을 처리 할 수 있습니다.
또 다른 예가 있습니다: 위성 이미지를 저장하는 데이터베이스입니다. Google은 BigTable 기술을 사용하여 지구의 위성 이미지를 저장합니다. 거의 모든 경우에 이미지가 저장 될 때마다 메타 데이터도 이미지와 함께 저장됩니다.
메타 데이터에는 이미지의 거리 주소 또는 이미지가 광야에서 캡처 된 경우 위도와 경도 만 포함될 수 있습니다. 메타 데이터는 내용이 다양하기 때문에 일부 필드는 NULL이 될 수 있습니다. 괜찮습니다. 두 예제 모두 수집 된 데이터 세트가 매우 클 수 있습니다 - 특히 두 번째 예제에서.이미지 데이터베이스는 거의 항상 테라 바이트 단위 또는 때때로 페타 바이트 단위로 측정됩니다. HBase는 대용량 데이터를 저장하도록 설계되었지만 스파 스 데이터 레코드를 무료로 저장할 수 있도록 설계되었습니다. 이 문제는 큰 데이터 응용 프로그램을 사용할 때 매우 중요합니다! 백만 개의 행에 대해 몇 개의 NULL 레코드를 저장하는 것은 낭비이지만 수십억 행 이상의 낭비를 상상해보십시오!
고맙게도 Google 디자이너와 HBase 커뮤니티의 주요 고려 사항이었습니다. 스파 스 데이터는 값 비싼 저장 공간을 낭비하지 않고 지원됩니다.그리고 거기서 멈추지 않습니다. 스키마없는 데이터 저장소의 기능을 고려해보십시오. 이 표는 고전적인 고객 연락처 테이블을 보여줍니다. 기업이이 테이블을 디자인 할 때, 그들은 그들이 저장하고 싶은 것을 먼저 알고 있습니다. 즉, 스키마는
고정되어 있습니다
. 정보의 첫 번째 바이트가 테이블에 저장되기 전에 정의됩니다.
이제 시간이 지남에 따라 고객에게 새로운 분야가 필요한 경우 어떻게해야할까요? 트위터 핸들이나 새로운 휴대폰 번호는 어떻습니까? 당신은 더 이상 당신을 위해 작동하지 않는 스키마가 겉으로는 붙어 있습니다.
HBase는 이러한 문제도 해결합니다. 데이터가 없을 때 무료로 필드를 건너 뛸 수있을뿐만 아니라 필드 (또는 HBase vernacular에서
열 )를 동적으로 추가 할 수 있습니다. 스키마를 재 설계하거나 작업을 중단하지 않고도 따라서 HBase는 스키마없는 데이터 저장소로 생각할 수 있습니다. 즉 유동적입니다. 스키마를 추가, 삭제 또는 수정할 수 있습니다.
HBase는 분산되어 있으며 영구적입니다.
BigTable은 분산 된 영구 데이터 저장소입니다. Persistent 는 BigTable (및 HBase)에 저장 한 데이터가 프로그램이나 세션이 끝난 후에도 지속되거나 유지된다는 것을 의미합니다. 그것은 매우 간단합니다 - 지속성은 지속된다는 것을 의미합니다. 그러나 데이터가 지속되는 방법에 대해 조금 더 생각해야합니다.
BigTable 논문에서 Google은 Google File System 또는 GFS라고하는 분산 파일 시스템을 설명했습니다. HBase가 BigTable의 오픈 소스 구현 인 것처럼 HDFS는 GFS의 오픈 소스 구현입니다.
기본적으로 HBase는 HDFS를 활용하여 데이터를 디스크 스토리지에 저장합니다. HBase와 함께 다른 분산 데이터 저장소를 사용할 수 있지만 HBase 설치의 대다수는 HDFS를 활용합니다. HBase가 "Hadoop Database"라는 점을 감안할 때 이것은 완벽한 의미를 갖습니다. 헤이, 이름에 내장되어 있습니다.
HDFS는 Hadoop뿐 아니라 HBase에서도 핵심적인 기술입니다. HBase는 HDFS에 데이터를 저장함으로써 비용 효율적 분산 형 서버에서 안정성, 가용성, 완벽한 확장 성, 고성능 등을 제공합니다! HBase에는 다차원 정렬 맵이 있습니다. 기본 맵 (연관 배열
이라고도 함)은 키 - 값 쌍의 추상적 컬렉션입니다. 열쇠는 유일하다. 이 정의는 HBase에 대한 이해에 중요합니다. 왜냐하면 HBase 데이터 모델은 종종 다른 방식으로 설명되기도합니다. 종종 컬럼 지향 저장소로 불완전하게 표현되기도합니다.
HBase는 하단에 각 키가 고유 한 키 값 데이터 저장소로 HBase 데이터 저장소에 한 번만 나타납니다. 또한 맵은 정렬되고 다차원입니다. 키는 HBase에 저장되고 바이트 - 사전 편집 순서로 정렬됩니다. 각 값은 데이터 모델을 다차원으로 만드는 여러 버전을 가질 수 있습니다. 기본적으로 데이터 버전은 타임 스탬프로 구현됩니다.