Within an eCommerce architecture and framework that allows strong search capabilities, it's very important to consider how a business website is physically working when it searches for and retrieves user queries. This has to address business intelligence for eCommerce and logic, as well as the physical mechanisms for presenting the data. One important thing that Clarity Ventures has noticed in our 15 years is that presenting the data with a direct database query is not going to be effective at scale. This holds true for filters on custom fields and attributes dealing with hundreds of thousands — and sometimes tens-of-millions — of products and their category associations. Direct database deliveries simply won’t supply a fast enough result if we’re not using some form of NoSQL caching.
From an eCommerce architecture perspective, there must be some form of NoSQL caching; it's just a fundamental requirement for big sets of data. Whenever doing a search, users expect the search results to come back in under a second. In order to perform at that level, an eCommerce developer must have the data cached and a very flat set of architecture where the system can get the data based on the user’s inputs. All this must happen within a few hundredths of a millisecond. NoSQL is excellent at being able to take a significant number of inputs and bring back the data from a set of millions of permutations, then effectively present the results in the near-instantaneous fashion that people have come to expect from top B2B eCommerce platforms.
We strongly recommend incorporating these types of infrastructure components, and that's why we use programs such as Elasticsearch and Redis for our search results within our eCommerce framework and architecture. Both are great applications using the concept of caching and NoSQL.