This discussion is archived
14 Replies Latest reply: Jun 13, 2012 2:23 PM by Pinela RSS

Why/When Nosql?

Pinela Journeyer
Currently Being Moderated
Greetings,

I have tried to get into the Nosql world for some time, specifically to know where it could be helpful or adequate.
Can someone tell me if you would use a nosql database for something like a financial application, HR, or you would just use it for like, a social network or online gaming back end?

And if you did use it, how simple would it be to program on it?
Additionally, if you wanted to "go down a hierarchy" (for example) would you have to cycle through several key-pairs to find all the information? continuously getting the value of a key, then using that value as a key, and so forth?

Thank you.
BR,
Pinela.
  • 1. Re: Why/When Nosql?
    Charles Lamb Pro
    Currently Being Moderated
    Hello Pinela,

    I suggest that you read through some of the whitepapers and use cases at http://www.oracle.com/technetwork/products/nosqldb/overview/index.html. Then go through the Getting Started Guide and one or two of the examples to give you an idea of what the API provides, especially in terms of the Major/Minor key facility.

    Charles Lamb
  • 2. Re: Why/When Nosql?
    Pinela Journeyer
    Currently Being Moderated
    Hello Charles,

    Thank you for your answer.

    I "cross-read" a document there regarding the major/minor keys, and I think that kind of answers the 2nd part of my question. The application (somehow) would just concatenate several pieces of information to build the appropriate key for the desired value.

    But regarding the first part, benefits and why/why nots, I don't see really useful information there. The documentation always speaks about generic cases.

    BR,
    PInela.

    Edited by: Pinela on Jun 11, 2012 1:34 PM
  • 3. Re: Why/When Nosql?
    Charles Lamb Pro
    Currently Being Moderated
    In general, the benefits are scalable storage providing ultra-fast intake of data and random access reads and updates. That said, you would probably not write a banking application using it.
  • 4. Re: Why/When Nosql?
    Pinela Journeyer
    Currently Being Moderated
    Thank you Charles.

    Okay, that's interesting. "not a banking application".

    meanwhile I was reading
    http://docs.oracle.com/cd/NOSQL/html/GettingStartedGuide/values.html

    and I see the major keys and minor key concepts, on users on this case. But to get to them, I would need like a "list of users".
    To do this, would I create a major key /Users and then minor keys /-/Smith/Bob , /-/Ellison/Larry,

    or would I create a key /Users and then just add a value with the names, like Smith,Bob/Ellison,Larry
    and so forth?

    Thank you.
    BR,
    Pinela.
  • 5. Re: Why/When Nosql?
    Charles Lamb Pro
    Currently Being Moderated
    I assume you read the previous page in that chapter on Keys? It lays out some possibilities of how to approach the problem. In the case you mention, you might well just use the user name as the major key.

    Charles
  • 6. Re: Why/When Nosql?
    Pinela Journeyer
    Currently Being Moderated
    Yes, but I may have missed something.

    Is the /users major key with user keys a good solution, or a /users key, with all the users contained as values a more correct one?
    In your opinion.

    Thank you.
    BR,
    Pinela.
  • 7. Re: Why/When Nosql?
    Charles Lamb Pro
    Currently Being Moderated
    It depends on what you're storing underneath and how you want to query it back.
  • 8. Re: Why/When Nosql?
    Pinela Journeyer
    Currently Being Moderated
    Charles,

    I am looking for the best way of storing a list of users, so that they can be iterated afterwards.
    Can you give me an example please?

    BR,
    Pinela.
  • 9. Re: Why/When Nosql?
    greybird Expert
    Currently Being Moderated
    Pinela,

    See the example in the distribution, /examples/schema, and the code snippets in the developer guide. There is a lot of material there.

    --mark                                                                                                                                                                                                                                                                                                                       
  • 10. Re: Why/When Nosql?
    Pinela Journeyer
    Currently Being Moderated
    ok.
    Thank you.

    BR,
    Pinela.
  • 11. Re: Why/When Nosql?
    drubin99 Newbie
    Currently Being Moderated
    Hi Pinela,

    To elaborate on the first part of your question, NoSQL databases are typically used for applications where you need a guaranteed response time (say under 50 milliseconds) no matter how much load is thrown at the cluster. Also, another place we see NoSQL databases being used in when you need to store and retrieve data that is unstructure or sem-structure, and you need to do this very quickly. Also note that NoSQL databases will not give you the richness of a query language for structured data, so you'd be giving alot of functionality on the query side if what you're trying to do is store relational data in a NoSQL store. On the other hand, if what you need is serious low latency responses to requests, the tradeoff may be worth it to you.

    Dave
  • 12. Re: Why/When Nosql?
    Pinela Journeyer
    Currently Being Moderated
    Thank you so much for your answer.
    this is a great hint.

    To elaborate on the first part of your question, NoSQL databases are typically used for applications where you need a guaranteed response time (say under 50 milliseconds) no matter how much load is thrown at the cluster.

    BR,
    Pinela.
  • 13. Re: Why/When Nosql?
    Charles Lamb Pro
    Currently Being Moderated
    Just to clarify slightly what Dave said, "guaranteed response time" is a little strong. "Predictable response time" is probably more accurate.

    Charles
  • 14. Re: Why/When Nosql?
    Pinela Journeyer
    Currently Being Moderated
    ok. thank you Charles.

    BR,
    Pinela.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points