Azure Search scalability

We are developing a mobile app that needs to scale to thousands of users and we are using Azure Search as our primary storage. The Azure pricing model sets request limits at 15 requests per second / per unit for the standard plan. With these constraints and a system that needs to scale with thousands of like-minded people, we quickly reached our limits.

In our situation, Azure Search is not suitable for scaling to thousands of concurrent users? Would DocumentDB be the best option?

Thank!

+3


source to share


2 answers


Interestingly, you are using Azure Search as your primary storage as it is not built for the database engine. The store is designed specifically for search content (a typical pattern is to use Azure Search in conjunction with a database engine such as SQL Database or DocumentDB), using the results to point to the content of the "writer" in your database.

Zoom for Search is specifically for full text search searches that will be generated by your users. And Azure search scales per unit, with each unit offering 15 requests / second. This way, you can scale well beyond 15 seconds if you buy more search units.



However: Don't confuse this with database engine queries. You asked about DocumentDB, so using this as an example: you can query much more than 15 / seconds with this database engine and it scales independently. The same goes for any VM based database solution, SQL database, etc. - they can all be scaled.

It really comes down to the need for high-level full-text search. If so, great - just scale Azure Search to the number of units you need to handle request traffic. If you can do more database-specific searches without running your query through Azure Search, you don't need to scale as much as you can and can use the power of your own database queries.

+6


source


One thing to add to David's excellent answer - if your scenario is mostly search oriented and you don't need to store data for purposes other than search, and everything is fine with possible consistency, then using Azure Search as your primary storage might be well.



Also, 15 RPS for Azure Search queries is just a milestone - neither a hard cap nor a promise. Depending on your data and the complexity of the requests, the actual throughput can be significantly (many times) higher or lower.

+2


source







All Articles