Beyond relational databases -- what? NoSQL?

20th September 2013
Beyond relational databases -- what? NoSQL?

As a database grows in size or the number of users multiplies, many RDBMS-based sites suffer serious performance issues.... which is seeing  a preference for non relational data base structures. A NoSQL database provides a mechanism for storage and retrieval of data that employs less constrained consistency models than traditional relational databases.  As a leading global player in NoSQL data bases sets up  an office her, we use the opportunity to introduce the  technology of NoSQL ... with  a link to a ZDNET blog featuring  an argument in favour,  from an India born  veteran of RDBMS

New Delhi, September 19, 2013—MongoDB a leader in non relational data base technology, has opened  its first office in India, located in the technology hub of Gurgoan’s Cybercity, to address demand for MongoDB and to support its growing community. India will be the second office for MongoDB in Asia Pacific.

India has some of the largest MongoDB User Groups in APAC, including Bangalore, with 701 users, Delhi with 451 users and Pune with 301 users. More than 17,000 developers and DBAs in India have registered for MongoDB University, the company’s free, online courses that teach users how to develop and administer MongoDB systems quickly and efficiently.

“The MongoDB community is vibrant in India. We’re excited to have a local presence as the country is central to our APAC growth plan,” says  Kamal Brar, vice president of APAC at MongoDB, “The team in India will focus on extending our community presence, building expertise across partners, and supporting existing customers and new prospects.”

There has been growing market interest across the APAC region in open-source technology, in particular India where the largest deployments in the world are being implemented and chosen over proprietary offerings. The new office will serve customers in India with MongoDB products, services and training.

What is NoSQL  NoSQL encompasses a wide variety of different database technologies and were developed in response to a rise in the volume of data stored about users, objects and products, the frequency in which this data is accessed, and performance and processing needs. NoSQL's predecessor, relational databases, were not designed to cope with the scale and agility challenges that face modern applications, nor were they built to take advantage of cheap storage and processing power that can be leveraged via NoSQL. 

Wikipedia definition: A NoSQL database provides a mechanism for storage and retrieval of data that employs less constrained consistency models than traditional relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability. NoSQL databases are often highly optimized key–value stores intended for simple retrieval and appending operations, with the goal being significant performance benefits in terms of latency and throughput. NoSQL databases are finding significant and growing industry use in big data and real-time web applications. NoSQL systems are also referred to as "Not only SQL" to emphasize that they do in fact allow SQL-like query languages to be used.

Carlo Strozzi used the term NoSQL in 1998 to name his lightweight, open-source relational database that did not expose the standard SQL interface. Strozzi suggests that, as the current NoSQL movement "departs from the relational model altogether; it should therefore have been called more appropriately 'NoREL'.

Eric Evans (then a Rackspace employee) reintroduced the term NoSQL in early 2009 when Johan Oskarsson of Last.fm wanted to organize an event to discuss open-source distributed databases. The name attempted to label the emergence of a growing number of non-relational, distributed data stores that often did not attempt to provide atomicity, consistency, isolation and durability guarantees that are key attributes of classic relational database systems. (from Wikipedia)

NoSQL Database Types

Since "NoSQL" just means non-relational and not SQL, there are many different ways to implement NoSQL technology. Generally, NoSQL databases include the following designs: 

•Document databases pair each key with a complex data structure known as a document. Documents can contain many different key-value pairs, or key-array pairs, or even nested documents.

 •Graph stores are used to store information about networks, such as social connections. Graph stores include Neo4J and HyperGraphDB.

 •Key-value stores are the simplest NoSQL databases. Every single item in the database is stored as an attribute name, or key, together with its value. Examples of key-value stores are Riak and Voldemort. Some key-value stores, such as Redis, allow each value to have a type, such as "integer", which adds functionality.

•Wide-column stores such as Cassandra and HBase are optimized for queries over large datasets, and store columns of data together, instead of rows.

NoSQL systems share several key characteristics. When compared to relational databases, NoSQL systems are more scalable and provide superior performance  ( from MONGO DBS collateral)

---------------------------------------------------------------------------------------

RDBMS vs. NoSQL: How do you pick?

An earnest argument for NoSQL...from an RDBMS veteran of IBM and Oracle, Jnan Dash. Read his September 18 post here

--------------------------------------------------------------------------------------

What is MongoDB?

MongoDB is the leading NoSQL database. Designed for how we build and run applications today, MongoDB (named from humongous," meaning "extremely large") empowers organizations to be more agile and scalable. It enables new types of applications, better customer experience, faster time to market and lower costs for organizations of all sizes. 

MongoDB is built for scalability, performance and high availability. Auto-sharding allows MongoDB to scale from single server deployments to large, complex multi-data center architectures. Leveraging native caching and RAM, MongoDB provides high performance for both reads and writes. Built-in replication with automated failover enables enterprise-grade reliability and operational flexibility. MongoDB also provides native, idiomatic drivers for all popular programming languages and frameworks to make development natural. MongoDB is the open-source, document database popular among developers and IT professionals due to its agile and scalable approach. Common use cases include operational and analytical big data, content management and delivery, mobile and social infrastructure, user data management and data hub.

MongoDB has a thriving global community with over 4 million downloads, 100,000 online education registrations, 20,000 user group members and 20,000 MongoDB Days attendees. The company has more than 600 customers, including many of the world’s largest organizations. MongoDB is a global company with dual US headquarters in New York City and Palo Alto, CA,

The next MongoDB public training   for developers, will be held in Bangalore,  September 27-28, 2013.  www.mongodb.org