NoSql-Not Only Sql Database
Basics of NoSql
NoSQL stands for not only sql database. This type of database environment has a non-relational and largely distributed database system that enables ad-hoc organization and analyse high volume and disparate data types. It is also referred to as cloud databases, Non-relational database, Big Data Database. This is the first alternative to relational database with some key deciding factors like scalability, availability, and fault tolerance. It is satisfying the todays modern business application. It is very flexible with schema-less data model, support distributed architecture and the use of languages.
Types of NoSql
This is the simplest model and the main idea use here is hash table which contain the unique key to any particular item of data. But this type of NoSql is insufficient when someone is only interested in querying and updating part of any value. It store the values in the hash table in very different fashion rather than other databases. It treat the data as single opaque collection which may or may not have different fields for every record. Example: Oracle BRD, Redis , Voldemort, Tokyo Cabinet.
This type of database is created to store and process very large amount of distributed data that lay on many machines. Like key-value stores it still uses key but that key point to multiple column except the unique value and all the columns are arranged by column family. Example: HBase and Cassandra.
It is a collection of all key-value and make a document of that which is highly inspired by lotus Notes is known as document databases. After making documentation of the same that semi structured document are stored in JSON like format. This is the next level of key-value database that allow nested values that are associated with each key. Efficiently it support querying. Examples: MongoDB, CouchDB.
A flexible graph models used instead of tables, rows , columns and rigid structured of SQL that again scale across multiple machines. To avoid overtime in processing it do not provide high level declarative query language rather it query these database is called as data-model specific. Examples: InfoGrid, Infinite Graph.
Advantages of NoSql
Support for unstructured text
Data in enterprise systems in unstructured so it is being able to manage unstructured text greatly as well as increase information about the data. Also help for organization to make better decisions. Furthermore you can extract named entities from directions by using search alert action on data ingest.
Less Need for ETL
Data that is stores except key values an document database are flying between system and that data take one of these format either binary, XML document or JSON so handle that data natively in the range of NoSql the amount of code you have to convert needs some action like Extract, Transform and load(ETL). Using this approach you can easily reduce the code that is required to start using a NoSql database.
Ability to handle change over time
Because of the Schema agnostic nature of NoSql database it can manage changes and there is no need to rewrite ETL routines. Databases like Microsoft DocumentDB and MarkLogic have capability for providing a universal index for the structures, values and text found in information. So all this reflects in organization to use the information immediately.
No reliance on SQL magic
There are several sql access that are supported by NoSql database. They do so for compatibility with the existing application like Business intelligence(BI) Tools. NoSql become popular among application developer because most of the developers think that they need to design of database and there APIs also so this problem is solved by Nosql, Developers no need to know the internal working of such database only empower developer are allowed to work on it.
Ability to scale horizontally on commodity hardware
It easy handle the partitioning of a database across several servers.If the data storage requirement grow too much you can continue to add less expensive servers and connect them to database clusters make them as a single serve. It provide durability and high availability of Nsql database by using less expensive hardware and storage major assets into a place.
Support multiple data structures
NoSql provide support for the range of data structures either it needs for simple object storage or highly complex one. Key-value stores simple binary values, lists, maps and strings can be handled at very high speed. Hierarchal structure of parent-child it can be managed in document database.
There are many vendors in the industry that are targeting particular audiences with the new innovations. Because it is a open source variant which enable for a company to explore and start using NoSql database at minimal risk.
No legacy Code
No legacy support in NoSql database that means no need to provide for old hardware platform and not to use functionality updated. It enjoy a quick pace in terms of development, because all the time new features are invented and that append to the old one but new features occur annually.
Execution code is next to data
NoSql databse in created in the era of Hadoop, (HDFS) and map reduce in the way data is stored ,Queried and processed. That all processed work is passed to high levels of parallelization that being able to calculate aggregation next to data. Because of all that you no longer need to a separate data warehouse that should be updated overnight and also no need to ship lot of data around network.
Some major NoSql Database
Column Stores Database
- Amazon SimpleDB
Document Store Database
- Elastic Search
- Couchbase Server
- MarkLogic Server
- Clusterpoint Server
Key value Database
- Amazon DynamoDB
- Azure Table storage
- Foundation DB
- Level DB
- Berkeley DB
- EMC Documentum xDB
- Intersystem cache
Network Model Database
Related Reads of NoSql
- Key-value stores
- Parallelizing reduce
- Difference between RDBMS and NoSql