• Technology: Web Applications Prefer NoSQL Databases

    first_imgIs there any coincidence that after Oracle’s acquisition of Sun and the Open Source MySQL database that many large web sites are abandoning MySQL?  Web properties Reddit, Twitter and Digg have migrated from using MySQL to a technology that is being called NoSQL.  And NoSQL is just that.  It is a stripped down technology for efficiently storing and retrieving data.NoSQL is simple to use and very fast.   It requires less overhead and usually has less downtime.  But NoSQL is also perplexing to many developers that have grown very used to SQL databases.  While NoSQL is a technology that will probably never be able to replace standard SQL databases, it has some compelling characteristics, especially when handling very large data sets.   Scalability problems of MySQL are causing many web sites to make the switch to NoSQL.   Many web sites now have databases that have grown to be many terabytes in size.  FaceBook ran into problems with relational databases early on and developed and Open Sourced the NoSQL database Cassandra as their solution nearly two years ago.eWeek quoted Nati Shalom, CTO of GigaSpaces,  as saying “with many trends, it’s probably a convergence of trends rather the something particular [that led to the rise of NoSQL].  On the business side, social networking has changed quite significantly our Web experience, from read mostly Websites we’re turning into heavy read/write sites like Twitter and Facebook with lots of content driven by users rather than the site provider. … Under that condition, lots of common practices such as static provisioning based on peak load and read mostly clusters started to break completely and forced a completely different way of doing things.”Digg explained the reason for their move to Cassandra as follows:  “Our primary motivation for moving away from MySQL is the increasing difficulty of building a high performance, write intensive, application on a data set that is growing quickly, with no end in sight. This growth has forced us into horizontal and vertical partitioning strategies that have eliminated most of the value of a relational database, while still incurring all the overhead. …  As our system grows, it’s important for us to span multiple data centers for redundancy and network performance and to add capacity or replace failed nodes with no downtime. We plan to continue using commodity hardware, and to continue assuming that it will fail regularly. All of this is increasingly difficult with MySQL.”Relational databases were designed to efficiently work in an environment where memory and network bandwidth were scarce.  That’s not the case any more.  While SQL Databases ensured transaction consistency, NoSQL databases don’t, and instead focus on availability and partition tolerance.So while NoSQL databases like Amazon’s SimpleDB, Cassandra, MongoDB, CouchDB and FathomDB are growing in popularity, people need to remember that NoSQL databases are new and not yet well understood.  Clearly, the fact that NoSQL Cassandra can support the 400 million users of Facebook is a positive datapoint in favor of NoSQL, at least for the use case of a Facebook-like site.  But if you’re not building an application that will not be supporting anywhere near that number of users, the choice of which database to use  is much less clear.   Relational database have a trackrecord; they have the tools; and they are well understood.  If you’re choosing NoSQL today, you’re choosing the life of an early adopter.  That could be a good thing.  That could be a fun thing.  But with any new technology, NoSQL is sure to prove a moving target in the near term as the technology is quickly evolving.last_img

    Categories: ldynkzts

    Tags: , , , , , , ,

    Leave a Reply

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