2013-01-07 1 views

답변

4

열 패밀리는 테이블 스키마의 일부입니다. 온라인 스키마 변경으로 런타임에 추가 할 수 있습니다. 그러나 HBase 테이블에 새로운 "열"을 동적으로 만들 수있는 방법을 동적으로 추가하지 않을 것입니다.

열 패밀리가 스키마의 일부이고 스키마 변경이 필요한 이유는 데이터가 디스크와 메모리에 모두 저장되는 방식에 큰 영향을 미친다는 것입니다. 각 열 패밀리에는 고유 한 HFile 세트와 RegionServer의 메모리에있는 자체 데이터 구조 세트가 있습니다. 새로운 열 패밀리를 동적으로 작성하거나 사용하는 것은 꽤 비쌉니다.

열 패밀리는 테이블의 여러 부분을 다르게 구성해야하는 경우에만 필요합니다 (예 : 일부 열에는 TTL이 있고 다른 열에는 만료가 필요하지 않음) 또는 액세스의 지역성을 제어하려는 경우 컬럼 패밀리의 수에 따라 작업 비용이 선형 적으로 증가하므로 좋은 성능을 원하는 경우 함께 액세스하는 것이 더 나은 동일한 컬럼 제품군에 있어야합니다. 다시 말해 이러한 전문적인 이유 때문에 런타임에 열 내에 새로운 "열"을 추가하는 방식으로 새로운 열 패밀리를 동적으로 추가하는 것은 의미가 없습니다.

+0

설명해 주셔서 감사합니다. 이제 나는 그 "hbase 세계"에서 점점 더 많은 것을 이해합니다. –

관련 문제