Dokumentacja Hbase mówi, że należy unikać tworzenia ponad 2-3 rodzin kolumn, ponieważ Hbase bardzo dobrze nie obsługuje więcej niż 2-3 rodzin kolumn. Powodem tego jest zagęszczanie i spłukiwanie, a tym samym IO. Jednak jeśli wszystkie moje kolumny są zawsze wypełnione (dla każdego wiersza), to myślę, że to rozumowanie nie jest tak ważne, więc biorąc pod uwagę, że mój dostęp do kolumn jest całkowicie losowy (chcę uzyskać dostęp do dowolnej kombinacji kolumn) - czy mogę mieć jeden rodzina kolumn - jedna konfiguracja kolumn (skutecznie próbująca uczynić ją czystą kolumnową).Rodzina kolumn Hbase
Istnieje wiele blogów/wiki wyjaśniających to, ale wszystkie wydają się sprzeczne i powodują więcej zamieszania. Po prostu nie wydaje mi się, że jestem w stanie przetrawić fakt, że Hbase preferuje jedną kolumnę rodziny, więc jaki jest sens wywoływania jest magazyn kolumnowy?
Dzięki za wyjaśnienie! – PrakashT
Więc w moim przypadku, o ile rozumiem, mam dwie opcje: a) Mam wszystkie kolumny w jednej kolumnie rodziny. Będzie to miało wpływ na wydajność, ponieważ w większości przypadków potrzebuję dostępu tylko do 1-2 kolumn, ale przy takim projekcie będę czytał cały wiersz. Chociaż te odczyty będą dystrybuowane na wielu serwerach regionalnych. 2) Rozdzielam moje kolumny w rodzinach tak, aby miały podobną wielkość. – PrakashT
Powinieneś prawdopodobnie przestać martwić się, że czytasz cały wiersz. HBase jest bardzo dobry w czytaniu tylko tego, czego naprawdę potrzebuje. Jeśli komórka, którą chcesz odczytać, znajduje się w pamięci, to HBase w ogóle nie wykona dodatkowego dysku IO. –