Updated: Mar 27
A database is an organized collection of structured information or data stored in computer system. The Data can easily be accessed, managed, modified, updated, controlled and organized. And Database is usually controlled by Database Management System (DBMS).
Types of Database:
There are different types of database. The database for specific organization depends on how the organization intents to use the data.
This database is based on relational data model which stores data in the form of rows and columns and together forms a table. Each table in database carries a key that make the data unique from others. A relational database use SQL to Store, Manipulate and Maintain the data.
High speed because of its ease and simplicity.
Tables are protected with username and password which is only authorized by users.
Free from query processing and complex structuring.
Database does not require any specific path for accessing the data.
Relational Database uses primary leys and foreign keys to make the tables interrelated to each other.
Multiple users can access relational database at the same time.
Relational database is expensive.
Performance of Relational Database depends on number of tables. If there are more tables, the response given to queries will be slower.
Relational database require more physical memory for storage because if its rows and columns.
When the amount of data is increased, its complexity increases.
Large organizations tends to use more number of number of database systems with more tables. These information can be used to be transferred from one system to another. This could pose a risk of data loss.
This types of database is used for object-based data model approach for storing data in database system. The data is represented and stored as objects which are similar to objects used in object oriented programming language.
Complex data sets can be saved and retrieved quickly and easily
Objects IDs are assigned automatically
Works well with Object-Oriented Programming Languages.
Object databases are not widely adopted
In some situation, the high complexity can cause performance problems.
In this, Data is distributed among different database system of an organization. These database systems are connected via communication links. These links help end users to access the data easily.
Distributed Database is further divided into two:
Homogenous Database: Those database systems which execute on the same operating system and use the same application process and carry the same hardware devices.
Heterogenous Database: Those database systems which execute on different operating systems under different application procedures, and carries different hardware devices.
The system can be expanded including new computers and connecting them to distributed system.
One server failure will not affect the entire data set.
It is cheaper to create a network of systems containing a part of the database.
The database can be stored according to the departmental information in an organisation.
The distributed database is quite complex and it is difficult to make sure that a user gets a uniform view of the database because it is spread across multiple locations.
This database is more expensive as it is complex and hence, difficult to maintain.
It is difficult to provide security in a distributed database as the database needs to be secured at all the locations it is stored.
This type of database is used to store wide range of data sets. This stores the data in tabular (tables) form in several different ways. These are used to for building increased modern applications.
NoSQL Database is divided into 4 types:
Key-value storage: It is the simplest type of database storage where it stores every single item as a key (or attribute name) holding its value, together.
Document-oriented Database: A type of database used to store data as JSON-like document. It helps developers in storing data by using the same document-model format as used in the application code.
Graph Databases: It is used for storing vast amounts of data in a graph-like structure. Most commonly, social networking websites use the graph database.
Wide-column stores: It is similar to the data represented in relational databases. Here, data is stored in large columns together, instead of storing in rows.
It enables good productivity in the application development as it is not required to store data in a structured format.
It is a better option for managing and handling large data sets.
It provides high scalability.
Users can quickly access data from the database through key-value
Though the NoSQL has been expanding at an unbelievable pace, the community support is relatively less as its new.
It lacks a standardized platform like SQL, which is preventing it from further expanding. This has been creating concerns during migration. Standardization is what helps the database industry to unify.
Interfaces and interoperability is another concern that is faced by NoSQL, which needs fixing immediately.
Graph databases are a type of NoSQL database that are based on graph theory. Graph-Oriented Database Management Systems (DBMS) software is designed to identify and work with the connections between data points. Therefore graph databases are often used to analyze the relationships between heterogeneous data points, such as in fraud prevention or for mining data about customers from social media.
Query speed only dependent on the number of concrete relationships, and not on the amount of data
Results in real time
Clear and manageable representation of relationships
Flexible and agile structures
Difficult to scale, as designed as one-tier architecture
No uniform query language
An open source database allows users to create a system based on their unique requirements and business needs. It is free and can also be shared. The source code can be modified to match any user preference. Open source databases address the need to analyze data from a growing number of new applications at lower cost.
The most common open source databases include:
Key-value databases — Store key and value data in memory for speedy lookup.
Document databases — Store document information.
Wide-column store databases — Similar to key-value with a large number of columns. They are well suited for analyzing huge data sets.
It attracts talent who are drawn to the idea of sharable and communitive code.
The collaborative nature of open source facilitates learning and adapting to new programming languages.
The sheer number of developers trying to improve the software by creating many functionalities not found in their closed source equivalent.
This type of database is stored in virtual environment and execute over the cloud computing platform. It provide users with various cloud computing services (SAAS, PAAS, IAAS). for accessing the database.
Below are some of the examples of cloud database/platform:
Amazon Web Services
Google Cloud SQL etc.
The cost of adopting cloud database is less than expanding on on-site server capability.
Cloud Database are efficient as they have no inherent restrictions on their ability to expand.
The ability of cloud platforms are accessed and used from a range of remote devices can be a huge advantage.
Cloud Database offers reliable platform for application development.
Offers security to the database.
Difficult to move infrastructure to different cloud service.
The initial cost is low but the service needs to grows and costs can rise.
Hosting sensitive information online always generates the possibility of a data breach, but the risks can be mitigated, by following best practices and with a detailed cloud security policy communicated to all application developers.
Multi - Model Database
A multi-model database is a management system that combines multiple database types with a single backend. Most database management systems support only a single database model. On the other hand, multi-model databases store, query, and index data from different models. Multi-model databases provide the modeling advantages of polyglot persistence without having to find ways to combine different models. The flexible approach allows storing data in different ways. The result is:
Agile and flexible programming.
Reduced data redundancy.
Inter-model data consistency due to a single backend.
Different data types on one platform provides an agile environment.
Fault-tolerant due to ACID compliance.
Suitable for complex projects which require multiple views of data.
Multi-model database systems are challenging to work with and complicated.
The database model is still developing and has not matured properly.
There is limited availability of different modeling techniques.
Not suitable for simpler systems or projects.
Document databases, also known as document stores, use JSON-like documents to model data instead of rows and columns. Sometimes referred to as document-oriented databases, document databases are designed to store and manage document-oriented information, also referred to as semi-structured data. Document databases are simple and scalable, making them useful for mobile apps that need fast iterations.
Everything is available in single database rather than having information spread across several linked database.
Document-store is flexible.
Can store massive amounts of data with relatively no issues.
Sometimes it is hard to find specific information without deep dives.
Because of use of single node and incorrect configuration due to lack of familiarity, there is the possibility of data loss.
The Tech Platform