1. Introduction
1.1 Executive Summary
Key/Value Database is a type of NoSQL Database. NoSQL Database stands for Not Only SQL Database which means that the database can store heterogeneous data. The Key/Value database does not follow the conventional relational database way of storing the data. Every piece of data that needs to go into the DB, gets a key associated with it. Additionally, few other metadata also gets attached to the data. It stores data as hash table where each key is unique and the value can be string, array of strings, integer etc. Initially, data is stored in in-memory, but after particular time intervals or depending upon some specified condition, data is moved to disk in the form of Shards. Shards are nothing but XML
…show more content…
1.2 Requirements and Responsibility
Below are few of the requirements and responsibilities of the Key/Value database are listed below.
• Shall implement a generic key/value in-memory database where each value consists of Metadata and Data. Metadata will consist of the following.
Name String
Text description of the item
Date-Time string recording the date and time the value was written to the database.
A finite number (possibly zero) of child relationships with other values. Each element of the child relationships collection is the key of another item in the database. Any item holding a key in this collection is the parent of the element accessed by the key.
The data will consists of an instance object of the generic type. This might be a string, list, collection, custom collection.
• Shall support addition and deletion of key/value pairs.
• Shall support editing of values which includes the addition, deletion of relationships, editing metadata, and replacing an existing value 's instance with a new instance.
• Editing keys is not allowed. Keys will be generated by the application and the keys shall be unique.
• Shall, on command, write the database contents to an XML file. Shall make sure that the process be reversible, e.g., the database can be restored or augmented from an existing XML file as well as write its contents out to an XML file.
• Shall accept a positive time interval or number of writes after which
Data objects can model relational data or advanced data types such as graphics, movies, and audio. Smalltalk, C++, Java, and others are objects used in object-oriented data. The object-relational is a combination of relational and object-oriented databases. Traditional and advanced data types can be used to construct database management systems. These systems can connect to a company’s website and update records as needed. Database Approach The main purpose of a database is data storage that can be stored and retrieved when needed. A popular common language called structured query language (SQL) is used to store and retrieve data in relational database. This language enables the systems to run a report or modify data or remove the data from the database. A database management system (DBMS) controls all aspects of a database, this is not limited to the creation, maintenance, and use of database. The DBMS ensures proper applications are able to access the database. An important purpose of a DBMS is to maintain the data definitions (data dictionary) for all the data elements in the database. It also enforces data integrity and security measures. Data Models Data models provide a contextual framework and graphical representation that aid in the definition of data elements. In a relational database, the data model lays the foundation for the database and identifies important entities,
The data that is being stored in a database is known as Meta data. Meta data is also recognized as schema for the real world data. It expresses that what sort of data will be stored in the database, what will be size of a assured attribute of the real world data, how many and what qualities will be used to collect the data about the entity in the database.
A data model is a conceptual representation of the data structures that are required by a database [Mamčenko, J. (n.d.)]. The data structures gives the information about data objects, associations between data objects, and the rules which administer actions on the objects. A data model serves as a bridge between the concepts of the real world and how the data is physically organized in the actual database. Data modelling has been ongoing for many years but still businesses struggle to extract the value from their data and thus, create well designed, intuitive models [Data Modeling Best Practices. (n.d.).]. With businesses considering for innovative ways
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
Relational Database Management System (RDBMS) is an engine/system based on the relational model created by Edgar F. Codd in 1970. The major distinguish of this system is the ability to use tables for data storage while maintain and enforce certain data relationship. Another aspect of this system is that allow users to insert, update, retrieve, and delete specific content or contents storage in the database. Also, RDBMS provides relational operator codes that enable the relationship between two or more entities in a database (Dangerfield & Morris,1990). These system’s characteristics can be applied on business operations improving company management of small and large amount of information from a specific department or workplace. Relational Database Management allows monitoring all information flow from that specific department
Provision for data security and recovery control; are the qualities that DBA has to submit.
In SQL database, structure and data type are conform to a fixed schema. The columns must be decided and locked before data entry whereas each row must contain data in its column. To store a new data item, the entire database must be altered, during which time the database must be taken offline.
Dealing with this issue was more and more difficult using relational database technology. Pioneering work from large companies generated tremendous interest and open source NoSQL database projects formed to leverage the work of the pioneers. Today, the use of Key/Value database based on NoSQL technology is increasingly viewed as a practical alternative to relational databases, particularly as more organizations recognize that working at scale is all the more effectively accomplished running on clusters of standard and a schema less data model
For example, Facebook which is the most popular social networking website recently announced their adoption of a NoSQL based graph data store for efficient storage of user data. In other words, NoSQL has already made its way into the enterprise. However, just like every other widely accepted technology, NoSQL has its own set of advantages and disadvantages. It is important for an enterprise to quantify the pros and cons of a particularly new database technology against the already existing solutions based on their custom requirements. For example, legacy enterprise applications may require extensive community support from their database vendors. Moreover, traditional relational database vendors such as Oracle have already established themselves for providing excellent support. On the other hand, NoSQL has been rapidly growing since the past few years and is consistently evolving in terms of big data handling, data warehousing and lesser complexity. Hence, there is a need to study the current market of data stores based on the most popular NoSQL data stores and how well they fair against the widely accepted traditional database systems. This requires a study of the commonly used NoSQL data stores.
In Nowadays, there are two major of database management systems which are used to deal with data, the first one called Relational Database Management System (RDBMS) which is the traditional relational databases, it deals with structured data and have been popular since decades since 1970, while the second one called Not only Structure Query Language databases (NoSQL), they are dealing with semi-structured and unstructured data; the NoSQL types are gaining their popularity with the development of the internet and the social media since April 2009. NoSQL are intending to override the cons of RDBMs, such as fixed
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.
The basics objective to create a well-designed database using basic database commands. lt also provide how to manipulate the stored data and return meaningful results to help analyze the data stored. Upon completion of this chapter, they will be able to:
This is data actually stored in the database by the users. Data manipulation language(DML) is used to manipulate this type of data.
Currently, there are two major of database management systems which are used to deal with data, the first one called Relational Database Management System (RDBMS) which is the traditional relational databases, it deals with structured data and have been popular since decades from 1970, while the second one called Not only Structure Query Language databases (NoSQL), they have been dealing with semi-structured and unstructured data; the NoSQL term was introduced for the first time in 1998 by Carlo Strozzi and Eric Evans reintroduced the term NoSQL in early 2009, and now the NoSQL types are gaining their popularity with the development of the internet and the social media. NoSQL are intending to override the cons of RDBMS, such as fixed schemas, JOIN operations and handling the scalability problems. With the appearance of Big Data,