What does column family-oriented datastore mean in practice
Column families in HBase are a method of &quot;vertical partitioning&quot; of an HTable, which separates subsets of the table columns into distinct physical structures. This improves query performance (via reduced I/O requirements) if your use cases frequently access certain groups of columns together.
Within each column family data are stored in a row-oriented manner. So, assuming that in your example &quot;001&quot;..&quot;004&quot; are the record keys, and two column families, the data would be stored somewhat similar to this:
CF1                     CF2
|Key|First|Last   |     |Key|Band |Salary |
|---|-----|-------|     |---|-----|-------|
|001|Joe  |Smith  |     |001|10   |40000  |
|002|Mary |Jones  |     |002|12   |50000  |
|003|Cathy|Johnson|     |003|11   |44000  |
|004|Bob  |Jones  |     |004|22   |55000  |

Thus, if you only needed to calculate the average salary, you would read a smaller file without unnecessary data in it.
More about HBase record layout.