sparse rectangular table with strings as row and column keys
rows kept in lexicographical order with dynamic partitioning
columns grouped into families for access control
cell is an uninterpreted array of bytes
cell can have timestamped versions