Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I don't know whether this question is reasonably answerable (and therefore will be closed), but I will take my chances: What are the possible problems (and solutions), one might encounter, when developing query mechanism for key/value store/database (like redis for example)? All the values will consist only of JSON documents and all data will be located only in RAM. Query mechanism should be able to search/query for data based on document field values, so I assume one of the problems might be performance based on number of docs in database (this could however be lowered by partitioning documents based on their type like posts, comments, ...).

share|improve this question
Why don't you construct a prototype purposed for identifying potential blocking factors? Seems to be a much more practical approach than trying to identify the set of all potential problems and the set of all potential solutions. What kind of problems? Human, code, redis, algorithm performance, key/value queries in general, practical, theoretical, etc. This seems to me to be a question with infinite answers. – P.Brian.Mackey Nov 29 '11 at 19:49
It would be handy to have some background information on potential problems before starting to work on prototype (and to know if it would be reasonably feasible). I'm interested namely in querying aspects and some theory since this is a completely new area for me. – yojimbo87 Nov 29 '11 at 19:56
I recently dealt with HTML5 offline storage, a new area for myself. While the W3C documentation and Apple training videos helped me, I did not get a real grasp for various issues until I actually built a prototype. For example, the fact that key/value pairs are far more difficult to perform complex queries (if not impossible) as compared to the SQL version of offline storage which allows joins and such. Other, oddball issues came up like one of the standards is actually being discontinued by W3C. Most of these issues simply surfaced in the research necessary to get the 2 prototypes to work – P.Brian.Mackey Nov 29 '11 at 20:01
up vote 2 down vote accepted

I am not familiar with Redis, however, some other key/value store databases have the following problems:

  1. Updates are not instantly visible immediately.

  2. SQL joins are to be performed by application.

  3. Some SQL features such as Distinct, Group By are to be performed by application.

  4. No stored procedures, triggers, etc.

  5. No FKs

(2) and (3) above are particulary important because to achieve this you have to move large amounts of data to the client as well as write the logic.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.