We are a startup looking at putting our semantic search system for resumes live. The system needs to provide responses to api queries for resume search by running through inverted index data of size around 25 gb (these are not inverted text indexes but rather skill indexes with ranks associated and so require computation and a "from scratch development" rather than using a library like lucene etc). The application is coded in python and the hardware we go for will need to provide the following:
a. 32 GB of RAM so that we can keep the 25gb data in memory to serve requests in real time. b. Ability to handle 3-4 concurrent connections. c. Ability to handle around 1000 - 1500 API calls a day. Each API query causes a search computation to happen over the data in memory and returns results on the basis of certain match and ranking algorithms. d. Uptime requirement is not very stringent. As we will be in the beta phase for some time (say 6 months), we can afford say upto 95% uptime if that can lead us to manage with a cheaper solution.
Wanted inputs on whether we should go for 1. A server system (main drawback - costly, and cash is king for startups) 2. A desktop solution with a board supporting 32 gb (have not been able to locate 1 in India where we are based, max we are getting is 16gb. Main benefit - cost. Main Drawback - Lesser than server consistency) 3. A hosted solution (Main Drawback - Cost for a dedicated 32 GB server).
Thanks in advance.