열 가족에 대한 아이디어가 있습니다. 기본적으로 빠른 액세스를 위해이 항목들을 함께 저장하고 복제하는 것은 HBase에 대한 힌트 일뿐입니다.
동일한 테이블에 두 개의 열 패밀리를 놓고 항상 서로 다른 키를 사용하면 서로 다른 두 테이블에있는 것과 동일한 결과를 얻습니다. 동일한 테이블을 통해 동일한 키를 통해 액세스되는 두 개의 열 패밀리 만 있으면됩니다.
예 : 주어진 웹 사이트의 총 페이지 뷰 수, 동일한 사이트의 고유보기 수, 사용자가 사이트를 보는 데 사용하는 브라우저 및 인터넷 연결 수에 대한 열이있는 경우 첫 번째 두 개를 세로 열 패밀리로, 마지막 두 개를 다른 세로 막 대형으로 사용하기로 결정하십시오. 여기 네 가지 모두 동일한 열쇠, 즉 문제의 웹 사이트에 의해 접근되므로 같은 테이블에 두어서 얻고 있습니다.
다른 테이블에 있다면 두 테이블에서 조인과 같은 작업을 수행해야 할 것입니다. 그렇긴하지만 실제로 숫자를 알지 못하기 때문에 조인과 같은 작업이 얼마나 느린지를 말할 수는 없습니다. (HBase가 비 관계형이기 때문에 조인을 기억하지 않기 때문에) 그리고 전환점이 어디에서 나뉘어 지는지 그 (것)들을 분리되는 테이블로 동일한 테이블 (또는 그 반대)에서있는 그들보다 중요하다.
물론이 모든 것은 저장하려는 데이터에 따라 달라 지므로 테이블간에 조인 할 필요가 없다면 별도의 테이블에 보관할 수 있습니다. 처음에는 서로 관련이 있습니다.
당신은 "가입은 비쌉니다"라고 말합니다. 이는 동일한 테이블 내의 열 그룹 간의 "조인"이 테이블의 열 그룹 조인보다 비용이 적게 든다는 것을 의미하는 것으로 보입니다. 그럴까요? HBase 문서는 그렇게 명확하지 않다고 생각합니다. – Thilo
이름이 같은 두 개의 열이있는 'get'연산이고 쿼리 언어의 기본 요소이기 때문에 동일한 테이블의 열 사이에 '조인'을하는 것이 훨씬 저렴하다고 생각합니다. 그러나 '가입'은 원시적 인 것이 아니므로 직접 구현해야합니다 (더 많은 작업이 필요함). –