That No SQL Things – How to evaluate?

time to read 2 min | 213 words

In my posts about the No SQL options, I am going to talk about their usage in two major scenarios, first, at at a logical perspective, what kind of API and interface do they us, and second, what kind of scaling capabilities they have.

Almost all data stores need to handle things like:

  • Concurrency
  • Queries
  • Transactions
  • Schema
  • Replication
  • Scaling Up

And I am going to touch on each of those for each option.

One thing that should be made clear upfront is the major difference between performance and scalability, the two are often at odds and usually increasing one would decrease the other.

For performance, we ask: How can we execute the same set of requests, over the same set of data with:

  • less time?
  • less memory?

For scaling, we ask: How can we meet our SLA when:

  • we get a lot more data?
  • we get a lot more requests?

With relational databases, the answer is usually, you don’t scale. The No SQL alternatives are generally quite simple to scale, however.