I apologize if this tends more toward design that programming, but here goes.
What design would you recommend for a database that is
- Memory resident
- Must run on windows, linux and (at a stretch) the mac
- Accept multiple queries simultaneously
- Have minimum overhead, since a search is expected to take <0.25s
This program implements a domain-specific search. Think of it as a database, but one that takes advantage of domain specific information to outperform a convential database search (for example, with custom oracle indexing). We have a custom data structure for our data. Our protoype is a simple exe that constructs the database in memory each time it is run. We were thinking that perhaps this program would suffice, but augmented with sockets so it can listen for queries.
This database will be static. Its contents will change infrequently.
We expect queries, and the solution, to be delivered via a web service.