Elastic Database client library is a wonderful tool for all application developers who want to achieve maximum scale by partitioning customer data across many databases and replicating the application schema into each database - the pattern known as 'sharding'.
Elastic Database tools client library helps not just define their data distribution for scale-out scenarios, but also assists in easier management of the data distribution (with Shard Map Management), routing the connections to appropriate databases where the data for a particular tenant is stored with efficient caching mechanisms (with Data Dependent Routing), and ability to query across multiple databases (with Multi Shard Query).
Having said that, the question we often get is: If I have an existing sharded solution, then how do I migrate it to use Elastic Database client libraries, reap the benefits of great capabilities provided by these libraries and not have to maintain my own sharding solution?
If you are a SaaS application developer with an existing sharding solution and are looking to migrate your application to use Microsoft’s Elastic Database tools client library, then you can find step-by-step instructions here.
Elastic database client library is now open sourced! If you either want to make proprietor changes, or changes for the good of community (Yes! We do accept contributions), then feel free to check out the source code at our GitHub repo.