NoSQL document stores are becoming increasingly popular backends in Web development.
Not only do they scale out to large volumes of data, many systems are even
custom-tailored for this domain: NoSQL document stores like Google Cloud Datastore
have been designed to support massively parallel reads,
and even guarantee strong consistency in updating single data objects.
However, strongly consistent updates cannot be implemented
arbitrarily fast in large-scale distributed systems.
Consequently, data objects that experience high-frequent writes
can turn into severe performance bottlenecks.
In this paper, we present AutoShard, a ready-to-use object mapper for Java applications
running against NoSQL data stores. AutoShard's unique
feature is its capability to
hot spot data objects that are suffering under write contention.
Using AutoShard, developers can easily handle hot spot data objects
by adding minimally intrusive annotations to their code.
Our experiments show the significant impact of
sharding on both the write throughput and the execution time.