33Toward Evolving Knowledge Ecosystems for Big Data Understanding
Sharding is a client-side affair, that is, the database server does not do it
for user. In this kind of environment, when someone accesses data, the data
access layer uses consistent hashing to determine which machine in the clus-
ter a precise data should be written to (or read from). Enhancing capacity to
a sharded system is a process of manually rebalancing the data across the
cluster. The database system itself takes care of rebalancing the data and
guaranteeing that it is adequately replicated across the cluster. This is what
it means for a database to be horizontally scalable.
In many cases, constructing Big Data systems on premise provides better
data ow perform