Difference between SQL and NoSQL: Comparision


  1. It is true that SQL databases have historically scaled-up rather than scaled-out, and that is a very expensive and inelastic proposition. However it is not true to say that SQL does not scale. NuoDB (www.nuodb.com) scales out/in elastically as you assign or remove machines.

  2. Sorry but there are many errors in the statements you make. Here are just some of them.
    1) There are various ways to scale SQL servers, both SQL Server and MySql provide server clustering. It is not difficult to do this although some thought would need to be applied. It is certainly not chaos.
    2) In many applications, having to fit your data into schemas is not difficult, it just means you have to know what your data is. In other applications, loosely related data might be common but I have not encountered any of these in my experience, SQL servers with their schemas work just fine.
    3) The idea that just because NoSql has no schema means changes are easy is false. Changing the data you put into the database has an impact on the data layer of the application as well as business logic and display layer. In most cases you cannot change data, even with NoSql, without doing other work, it just isn’t in the database itself.
    4) Again you say that changes to data do not cause application disruption but this depends entirely on the application and I would suggest 90% of the time, any data changes you implement will definitely require application modifications.
    5) No Sql does NOT automatically scale your data across servers. As with most systems, there is management involved in this and understanding how the data is spread out is essential to avoid performance problems. Simply spreading data out does not make the system faster automatically.
    6) There is most definitely caching available in most SQL servers, although even for those servers that do not, using something like memcache is hardly difficult. I would also question how many NoSql databases actually include caching by default.
    7) Saying that NoSql processes data faster than SQL is nonsense. At the end of the data, the physics involved is the same. The question is how much processing is being carried out in your SQL server vs the same processing that needs to be applied in the application to perform the same types of querying. The famous SQL servers have had much longer to optimise their performance and I would suggest for most operations are faster.
    8) Saying that simple data models equals faster means you are comparing apples with oranges. Saying that I can retrieve 1000 records of unstructured data from NoSql faster than 1000 records of already structured data from SQL is not comparing the same thing. Also, if I chose to have no relationships in my SQL and simply pulled table data directly, it would be exactly as fast or faster than NoSql.
    9) Flexibility is a double-edged sword. Flexibility does NOT always mean better, just like the argument between loose and strongly typed programming languages, you trade resilience against development time. I can build PHP apps really quickly but it is really easy to inject errors that only occur at runtime. .Net takes me longer but the compiler helps me out.

    Your conclusion however is correct. By all means evaluate both but don’t believe the hype!

  3. Criticizing any one of them will not help the cause. If there is a buzz of NoSQL these days, it doesn’t mean it is a silver bullet to all your needs.

    That is nicely put. However, I do think that the buzz around NoSQL has lead to a lot of people making uninformed decisions in the wrong direction. I like Mark Madsen’s slightly cynical “history of databases in no-tation” from the NoSQL-vs-SQL page

Leave a Reply

Your email address will not be published. Required fields are marked *

6 + 7 =