As there is a rise in data volumes, the manageability of data and storing these huge volumes of data became a cause of concern to most of the organizations. It was during this period when Number of SQL or more popularly NoSQL was introduced, to process these large amounts of data efficiently and effectively. For this purpose, various Data Store categories were developed, based on the different data models. Some of the categories are: 1. Key-Value Stores This is the simplest data store. It uses a data model similar to memcached distributed, in-memory cache, with a single key-value index for all of the data. Apart from providing persistence mechanism, key-value stores also provide additional functionalities such as replication, versioning, locking, transactions, sorting and other features. The client interface supports transactional operations such as inserts, delete, update and index lookups. Scalability which is the most important feature of distributed data stores, is provided through the distribution of keys over nodes. None of the key-value stores offer secondary indices or keys. Some commercial key-value stores available in the market are Voldemort, Riak, Redis, Scalaris and Tokyo Cabinet. Most of the products have backward compatibility, which is a good thing. Example: Key-Value store is best suited for simple applications with only one kind of object and the searches are performed based on one attribute only. Suppose you have a web application that performs
atabase is a collection of data which describes the activities of one or more organizations in a well-defined structure and the structure of a database is specific and it has a purpose. Database Management System (DBMS) is used to control or organize the data in a database. Database Management System (DBMS) is also used for maintaining large collections of data. Distributed database can be defined as a collection of various databases which can be stored at different computer network locations. In this paper we discuss about Distributed Databases, their advantages and disadvantages.
This paper gives insight into the design and implementation of dynamo, a key value store that throws light on availability and reliability. The availability is achieved by sacrificing consistency of data under certain failure scenarios.
This paper discussed the Distributed database systems which are systems that have their data distributed and replicated over several locations; unlike the centralized data base system, where one copy of the data is stored in one location.
In order to overcome these limitations, a new database model known as Not Only SQL (NoSQL) database emerged with a set of new features. The main objective of NoSQL is not to discard SQL, but to be used as an alternative database data model for new features [1] [2] [3]. NoSQL database increases the performance of relational databases by a set of new characteristics and advantages. In contrast to relational databases, NoSQL databases introduced an additional feature that provides flexible and horizontal scalability and taking advantage of new clusters. The rise of NoSQL provides cost-effective management of data in modern web applications. With its new features, NoSQL can be used with applications that have a large transaction, and require low-latency access to huge datasets, service availability while
For the purpose of this paper, we are going to focus on these three type of NoSQL database BigTable, Cassandra, DynamoDB.
Key-value stores provide users simple yet powerful interface to data storage, which are often used in complicated systems. [2] LMDB is a framework that provides high-performance key-value storage
Some of the challenges faced by relational databases were the mismatch that resulted when transforming graphs into tables. On the other hand, when a database was needed only for simples tasks like logging, the relational database had too much more than what was required. Web applications have many different types of attributes which does not fit easily into a relational database, which makes it a burden to handle. For example, videos, text and source code are different types of attributes from the web, which have to be stored in various tables if relational databases are used, because of its strict schema. Qualities like these, make RDBMS, a not-so-wise choice to handle blogs and other web applications. The massive data that has to be taken care of in web applications complicates data handling for famous webpages like Amazon, Google and Facebook. Factors like trillions and trillions of read and write requests which needs to be responded with minimal or no latency, leads these organizations to maintain their own hardware in clusters of thousands. The “One solution for all” is
The outline of this paper consists of the following sections. Section 1 introduces NoSQL database and its classifications. Section 2 gives a brief comparison between NoSQL database and SQL database. Section 3 explains document oriented databases. Section 4 defines Couchbase. Section 5 describes Couchbase Mobile and provides an example of its use in synchronizing data between multiple mobile devices.
NoSQL databases are designed to expand transparently and horizontally to take advantage of new nodes, and designed with low-cost hardware. SQL have problems in Scalability.
scalability very efficiently. It is able to process data of size petabytes with help of its Map
* Flexibility. Server-based databases can handle just about any data management problem you can throw at them.
A No-SQL (often interpreted as Not Only SQL) database provides a mechanism for storage and retrieval of data that is modelled in means other than the tabular relations used in relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability.
Storage Cost: It is obvious that the requirements of a central storage system are enormous. A classical example concerns data from the astronomy science, and especially images from earth and space telescopes. The size of such databases is reaching the scales of exabytes (1018 bytes) and is increasing at a high pace. The central storage of the data of all telescopes of the planet would require a huge data warehouse of enormous cost.
With the appearance of Big Data, there was clearly a need for more flexible databases. In this paper, we will review one of the graph database (Neo4j), and compared it with one of the traditional relational databases (MySQL) based on the features like ACID, replication, and the language that is used for both of them. MySQL is being another name for Relational Databases and it has been used for a long time period until now. And Neo4j which is a graph database and it is a part of the emerging technology that is called NoSQL is now trying to prove that there is a need for NoSQL usage.
In the past few years many distributed hash tables and key/value storage systems have been proposed and implemented. Some of them are widely discussed and researched are Chord, CAN , Pastry , Kademlia , Tapestry , RIAK and Cassandra ) adopt logarithmic routing algorithms, resulted in increased latency with systems scale. Some