Tiene la idea de familias de columnas: básicamente, es solo una sugerencia para HBase para almacenar y replicar estos elementos para un acceso más rápido.
Si coloca dos familias de columnas en la misma tabla y siempre tiene diferentes claves para acceder a ellas, entonces es realmente lo mismo que tenerlas en dos tablas separadas. Solo gana al tener dos familias de columnas en la misma tabla a las que se accede mediante las mismas teclas.
Por ejemplo: si tengo columnas para el número total de vistas de página para un sitio web determinado, el número de vistas únicas para el mismo sitio, el navegador que usa el usuario para ver el sitio y su conexión a Internet, puedo decide que quiero que los dos primeros sean una familia de columnas y los dos últimos sean otra familia de columnas. Aquí se accede a los cuatro con la misma clave, es decir, el sitio web en cuestión, así que estoy ganando al tenerlos en la misma tabla.
Si están en diferentes tablas, terminaría teniendo que hacer una operación de combinación en las dos tablas. Aunque no sé muy bien las cifras, no puedo decirles qué tan lenta es la operación de unión (ya que no recuerdo que HBase tenga una unión porque no es relacional) y cuál es el punto de inflexión en el que se divide incluirlos en tablas separadas compensa tenerlos en la misma tabla (o viceversa).
Por supuesto, todo esto depende de los datos que intenta almacenar, por lo que si nunca necesita unirse a través de las tablas, querrá mantenerlos en tablas separadas ya que podría argumentar que no son eso relacionados entre sí en primer lugar.
Dice "Unirse es caro". Eso parece implicar que una "unión" entre grupos de columnas dentro de la misma tabla es más barata que una combinación de grupos de columnas en todas las tablas. Es ese el caso? Los documentos de HBase no dejan eso en claro, creo. – Thilo
Creo que es mucho más barato hacer un 'join' entre columnas en la misma tabla, ya que es solo una operación 'get' con las dos columnas nombradas y es una primitiva en el lenguaje de consulta. 'Unirse', sin embargo, no es primitivo y tendría que implementarlo por su cuenta (lo que requiere más operaciones). –