MetaTutorials

MetaTutorials

The Tutor is Yours!

Architecture of DBMS

Here, we will learn about the architecture of Database Management Systems. 
The DBMS architecture allows DBMS to perform the functions effectively and efficiently. The whole design and maintenance of the DBMS depend upon its architecture. 
Due to its architecture, DBMS can be easily designed as centralized or decentralized or hierarchical. 
The architecture of the database management system can be seen as either single or multi-tier. But, logically it can be of the following three types:
  • 1-tier Architecture
  • 2-tier Architecture
  • 3-tier Architecture

1-tier Architecture

This type of DBMS architecture is simple and rarely used in production. In 1-tier architecture, DBMS users directly interact with the database for storing and managing the data in the databases 
This type of architecture does not provide any handy tools for users who want to use the database management system.
It is basically used for developing the local applications, where programmers directly interact with the database for quick responses. 

2-tier Architecture

This type of architecture depends on client-server architecture. In 2-tier architecture, the client-side application directly interacts with the database systems at the server-side.
 In this architecture, applications are present at the client machine, and the database system is present at the server machine. Both the machines (Client and Server) interact with each other by using an Application Programming Interface like ODBC and JDBC
2-tier Architecture provides extra security to the database management system and also provides authentication checks for the applications. 

3-tier Architecture

3-tier Architecture is the most popular architecture and helps to design a database effectively. In 3-tier architecture, the client does not directly interact with the server. There is another layer present between the client layer and the server layer which is called the application layer. 
In this type of architecture, the client-side application interacts with the application layer which further interacts with the database system at the server-side.  
Following are the various features of this architecture, which make it the most widely used DBMS architecture:
1. Data Security,
2. Data Backup,
3. Data Recovery,
4. Concurrency control, and 
5. Low Data Redundancy. 
Following are the three layers which are used in 3-tier Architecture:
1. Client or User Layer
This layer of the 3-tier architecture is also known as the presentation layer. This layer basically consists of a user interface. It is the topmost layer in this architecture where the users send a request to the server-side by the application layer. This layer provides the GUI to the end-users who want to use the database.

2. Application Layer
This layer of the 3-tier architecture is also known as the business logic layer. This layer acts as an intermediate layer between the client (User) and server (Database) layer. 
For each end-user, this type of layer shows the abstracted view of the database. This layer processes function logic, rules, and constraints before passing the data to the user and the database. 

3. Database Layer
It is that layer of the 3-tier architecture where the data and information are actually stored. The data in this layer is managed and accessed with the help of various programs such as MS-SQL, MySQL, Oracle, and MongoDB.
 

Components of DBMS

Here, we will learn about the components of Database Management Systems in detail. In the environment of DBMS, each module or component performs a specific operation or task. 
Database Management System includes the following six major components:
  1. Software
  2. Hardware
  3. Data
  4. Procedure
  5. Database Access Language
  6. User

Software

Software is the primary component because it handles and manages everything in the Database Management System. 
The software in the DBMS acts as a bridge between the end-user and the database. It provides an easy-to-use interface to interact with the users. So, the users can easily access, store, and modify the data in the database. 
It understands the database access language easily and interprets the database language into the actual database commands which are to be run on the database.

Hardware

It is one of the most important modules of the database management system. This component is a set of physical electronic devices which make the interface between the computer and the end-user. We cannot implement the database management system without the hardware devices. 
This component helps to store the data or information in the database. This component consists of magnetic disks such as floppy disk, hard disk, zip disk, etc. on which data is stored using the various input/output devices. It also consists of a processor and main memory which helps to access and store the data in a fast and efficient  manner. 

Data

It is also an important component in the DBMS environment. It is the component for which the database management system is designed. The aim of creating the DBMS is to store a huge amount of data. 
This component acts as a bridge between the hardware, software, and the user which directly access data through application programs. 
In the database management system data may be of following different types:

  • User Data
  • Meta Data, and
  • Application Data.

User Data
In DBMS, the 'user data' is the data which is present as data in tables. In tables, columns are called attributes or fields, and rows are called records or tuples. 

Meta Data 
Metadata is defined as data about data. In simple words, it is the description of the database structure. Examples of metadata are:
1. Number of tables in the database,  
2. Name of the tables in the database, 
3. Name of fields in the database table,
4. Primary key fields,
5. Foreign key fields, etc. 

Application Metadata
In DBMS, application metadata is the structure and format of the queries and reports. 

Procedure

It is another essential component of the DBMS environment. Procedures are the instructions and the rules which help the users to manage the database and to use the database management system.
Following are the various procedures which help to manage and use the DBMS:
1. To setup and install the new database management system is a procedure in DBMS.
2. To login to the database in the DBMS software.
3. To use and manages the database or application programs in the software of the database management system.
4. There is also an important procedure that helps to create the backup copies of the database.
5. Another procedure is to generate the reports of data retrieved from the DBMS database. 
  

Database Access Language

This component is very useful in the database management system. It is a language which is used to retrieve the data from the database, insert the new data into the database, modify the existing data, and delete the inserted data from the database.
Every user writes the specific command in the database access language to perform their operations. And, then the user submits these commands to the database management system. Then, the DBMS executes the commands and displays the result into the user-readable form. 

Users

Users play an important role in the database management system. In today's time, the user creates or makes a large amount of data which is stored in the database. 
Users manage the database and perform the different operations on the database in the DBMS.
Following are the different types of users who manage and use the database:
  • Application Programmers 
  • Database Administrator (DBA)
  • End-User

Application Programmer
Application programmers are those users who develop and design the part of the database in the various programming languages.  

Database Administrator (DBA)

Database Administrators are those users of DBMS, whose responsibility is to manage the database management system. They are also responsible to maintain the security and integrity of data. They perform all the activities, which maintain the environment of the database.

End-User

End-Users are those users of DBMS, who interact with it for performing the different operations on the database. End-Users execute the database commands to store, retrieve, add, and delete the data. 

Types of DBMS


Here, we will learn about various types of Database Management Systems in detail. Different Database Management Systems were introduced to fulfill the requirement of the users. And, all these database systems are based on the data models.

Following are the different types of Database Management Systems (DBMS):
  1. Hierarchical Database Management System
  2. Network Database Management System
  3. Relational Database Management System
  4. Object-Oriented Database Management System

Hierarchical Database Management System

In the early 1960s, the Hierarchical Database Management system was introduced by IBM. Hierarchical DBMS is that DBMS, which stores or represents the data or information in parent-child relationship nodes. In this DBMS, a parent may have multiple children, but each child has only one parent.  
Here, the data is organized in the tree-like structure, which is as same as the folder system in our computer systems. So, this management system is easy to access and modify. In the tree, the first node is called the root node. If any user wants to access the data, then he/she have to access the tree from the root node.
This management system is most widely used in the industries of banking and telecommunication for managing applications. 
Advantages of Hierarchical Database Management System
Following are the advantages or benefits of the Hierarchical Database Management System:
1. The main advantage is that it expresses the relationship between data and information.
2. Another big advantage is that it manages a huge amount of data.
3. It is so efficient because of the one-to-many relationship.
4. This database management system improves the sharing of data.

Disadvantages of Hierarchical Database Management System

Following are the disadvantages or limitations of the Hierarchical Database Management System:
1. The flexibility of this management system is so poor.
2. Its structure is complex and rigid.
3. This database management system is difficult to manage.
4. The implementation of Hierarchical DBMS is complex because its implementation depends on the physical storage of the data.

Network Database Management System

Network Database Management system was developed by Charles Bachman in the year of 1969. This management system uses the network structure which allows having more than one parent for a single child. In the network DBMS, the parent is called as an occupier and the child is called as a member.
This Database management system is also has a hierarchical structure, but it organizes the data in a graph-like structure i.e., many-to-many relationships. This system is mainly used on large digital computers.
In this system, the data is more related to each other, so users can access the data easily and fastly. Before the introduction of relational DBMS, it is that system which is most widely used.
Some example of Network Database Management system are:
Univac DMs-1100,
Raima Database Manager, and
Integrated Data Store.
Advantages of Network Database Management System
Following are the advantages or benefits of Network Database Management System:
1. Just like the hierarchical management system, this system is also simple and easy to design and implement. 
2. This management system promotes data integrity. 
3. As compared to the hierarchical system, data access is easier and flexible in this database management system.
4. The main advantage of this system is that it can easily handle many to many relationships.  
5. As compared to the hierarchical system, it deals with a large amount of information and more useful. 

Disadvantages of Network Database Management System

Following are the disadvantages or limitations of the Network Database Management System:
1. One of the big disadvantages of this database management system is that it is more complex than the other database systems. 
2. In this type of database system, data or information is related in complicated ways. 
3. The structure of the network database is complicated, so the structural changes to the database are very difficult. 

Relational Database Management System

Relational Database Management System was introduced by Edgar Frank Codd in the year of 1970. RDBMS is an abbreviation of the Relational Database Management System. This database management system is the most popular and widely used system among all the database management systems. 
RDBMS is a common type of database management system, which stores the data or information in the tables i.e., in the form of rows and columns. In the database tables, rows indicate the records and columns indicate the fields.
The data or information stored in the tables can be accessed or modified by using the SQL query language.  
Some examples of RDBMS are: 
Oracle Database,
MySQL, 
IBM DB2,
Microsoft SQL Server, 
Microsoft Access, etc. 
Advantages of Relational Database Management System (RDBMS)
Following are the advantages or benefits of the Relational Database Management System:
1. The main advantage of RDBMS is that it is easy to use and understand. 
2. It provides more than one interface for the user. 
3. It removes the redundancy of the data. 
4. Another important advantage of this system is that it provides a better backup and recovery of the information. 
5. This database management system is simpler than the hierarchical and network database system. 

Disadvantages of Relational Database Management System (RDBMS)

Following are the disadvantages or limitations of the Relational Database Management System:
1. The main disadvantage of RDBMS is that it is expensive. The cost of setting up and maintain the relational database systems is high.  
2. Sometimes, this type of database system becomes complex due to the growth of a large amount of data in the database.
3. There is a requirement of specialized database administrators for managing the databases. 
4. They are not able to store a large amount of records i.e., 100s of Gigabytes (GBs). 

Object-Oriented Database Management System

In the early 1980s, object-oriented database management systems were introduced. The object-Oriented Database Management system is also known as Object Database Management System
It is a database management system that represents and stores the data in the form of objects and classes. This type of database system deals with object-oriented programming languages (c++ and Java) which use the objects.
The object oriented database system becomes common for OOPS programming languages such as C#, Java, Smalltalk, and Lisp. This management system is a hybrid application that combines the features of the relational database and principles of object-oriented programming for processing the data. 


Advantages of Object-Oriented Database Management System (OODBMS)

Following are the advantages or benefits of Object-Oriented Database Management System:
1. This database system works well with the OOPS languages. 
2. This management system improves performance in the case of object-based applications. 
3. As compared to other database systems, this DBMS capable of storing different types of data.
4. Codes can be re-used because of the inheritance feature.
5. In the OODBMS, there is a tight coupling between the data and application which makes schema evolution more feasible. 

Disadvantages of Object-Oriented Database Management System (OODBMS)

Following are the disadvantages or limitations of Object-Oriented Database Management System:
1. The main disadvantage of this system is that it is not popular as a Relational Database system. So, it is difficult to find the developers of the object database. 
2. This type of database is difficult to understand for non-programmers. 
3. Various programming languages do not support object database systems. 

DBMS Tutorial

Our DBMS tutorial provides the basic and advance concepts for both beginners and IT professionals.
We assure that you will not find any kind of problem with our DBMS Tutorial. But if there is any mistake, we request you to post the problem in the contact form.
Let's Begin!!!
Before learning about the DBMS, we must know about what is data, information, and database. So, firstly we are explaining about the data, information, and database. 

What is Data?

Data is the raw facts or figures which the user wants to share, store, and process. Or, we can say that it is a collection of real-world entities or objects which need to be processed. 
It is a raw material which is only accepted by the computer machine. The data can be exist in any form like text, picture, video, number, and bytes. Examples of data are: Age of a student, Marks scored by the student, Name of a student, Name of a city, etc. 


What is Information?

Information is a set of data, which is processed, organized, structured, or presented in such a way as to be useful or meaningful to the user who receives it. 
Examples of Information are: Percentage, Grade, and position of student, which are calculated by the given student's data. 

What is Database?

The Database is a collection of structured or non-structured related data. In simple words, we can say that it is a place where the data is actually stored. It stores the data in the form of tables, views, schema, reports, etc.
Following are the different type of databases:
  • Cloud Database
  • Centralization Database
  • Distributed Database
  • Graph Database
  • NoSQL Database
  • Object-Oriented Database
  • Operational Database
  • Relational Database

What is DBMS?

DBMS is an abbreviation of the Database Management System. Database Management System is system software which helps users for managing the data in the databases. It provides an interface to end-users for inserting, accessing, updating, and deleting the data in the database. This management system provides security and protection to the data in the databases. If there is more than one user uses the same database, then the system also maintains the consistency of the data. 
Some examples of DBMS are: Oracle, MS SQL Server, SQLite, dBase, MySQL, IBM DB2, Microsoft Access, etc. 

Characteristics of DBMS

 Following are some characteristics or features of DBMS:
  • It provides security to the data and removes the redundancy of the data. 
  • It provides multiple views of the same database for the different users.
  • This system offers physical and logical data independence. 
  • It also allows multiple users to work on the same database at the same time. 
  • The database system follows the ACID properties, which helps in handling the transactions. 
  • It allows users to store any type of data in the database. 
  • It also allows creating a relationship among tables which makes the data more useful and connected. 

Advantages of DBMS

Some of the advantages or benefits of Database Management System are discussed below:
1. Simple: This system provides a simple and logical view of data. We can easily implements the operations like insertion, updation, deletion on the data. 
2. Data Sharing: This management system allows data sharing between any number of users and application programs at the same time. Users can access the database from the remote locations and also share the data among themselves. 
3. Data Integrity: DBMS allows users to apply the integrity constraint on the data. By doing this, the system ensures that the stored data is correct and consistent. 
4. Reduction in Data Redundancy: In the database, there is no duplicacy of the same data due to the centralized control of data by the Database Administrator.
5. Data Independence: The database management system provides data independence, which means that the changes done at one level do not affec the other levels of the database. 
6. Data Security: The database Management system allows authorized users to access the database using their user name and password. It also provides privacy policies, which helps companies for improving data security. 
7. Backup and Recovery: Database systems automatically take care of backup and recovery. If the system crashes or failures, then it restores the data to its previous condition. 
8. Conflict Resolution: The Database Administrator (DBA) controls the database, so he/she should automatically resolve the conflicting requirements of various applications and users.  

Disadvantages of DBMS

DBMS provides lots of advantages. But with the advantages also have some disadvantages. The disadvantages or limitations of the Database Management System are discussed below:
1. Cost: It is the first and main disadvantage of the database management system. The cost of purchasing and developing the software is high. And, the cost of upgrading the hardware for storing the data is also high. Both the hardware and software require maintenance, whose cost is so high.
2. Large Size of DBMS: Due to the wide functionality of DBMS, it needs more space to run in the main memory and requires a large amount of disk space for storing the data. 
3. Efficiency is Low: Various software and application programs are made for only one problem. But, Database Management System is that software, which is used for many purposes, and due to this, its efficiency is low. 
4. Performance: The performance of the traditional file-based system was very good for small firms and some particular applications. But, the performance of DBMS for the small firms is not good, because the speed of this system is very slow. So, it is not good for small firms due to performance. 
5. Response is slow: As the database in the database system is centrally managed and accessed by multiple users online and offline. So, its response may be slow when multiple users access the same database. 

Big Data Tutorial for Beginners

What is Data?

Data is a either a number, picture, audio clip, video, or any text, which can be processed by a computer system and stored in the memory (hard disk) of the computer.  

What is Big data?

Big data is nothing, but it is also a type of data, which is very large in size. It is a concept which contains both structured and unstructured large and complex data.
"The large and complex data set which cannot be managed and processed by the traditional management systems are called as Big data"
According to Gartner, the definition of Big data is as follows:
"Big data is high-volume, velocity and variety information assets that demand cost-effective, innovative forms of information processing for enhanced insight and decision making".
In today's time, Big data manages and processes the data which is increased day by day in the activities like e-learning, social networking, online shopping, and e-banking. 

5 V's or Characteristics of Big Data 

In the Big data, there are 3 fundamental V's (volume, velocity, and variety), which are important to know for each user. But, the data is growing rapidly day by day, so two new V's also added by the Gartner in the data processing concept. Hence, there are 5 V's in Big data, which are also known as the characteristics of Big data. These 5 V's are as follows:
1. Volume
2. Velocity
3. Variety
4. Veracity
5. Value

Volume

The Volume refers to the amount of data, which is increasing rapidly day-by-day at a very fast speed. The size of the data generated by machines and humans on social media applications is more than the petabytes and terabytes. It is estimated that 2.5 quintillion bytes of data created per day. And the 90% of today's data is generated in the past two years.

Velocity

The Velocity is defined as the speed with which the data is processed and generated. There are basically two types of velocity related to the big data:
1. Frequency of Generating the Data
2. Frequency of handling, recording, and publishing the data. 
As the data is growing at a fast speed, so the data's volume will double in every two years. The flow of generating the data is massive and continuous.  

Variety

The Variety is defined as the structured, semi-structured, and unstructured data generated by humans and machines from multiple sources. The structured data generated by humans are: tweets, texts, videos, and pictures. And, the unstructured data generated by humans are: voicemails, e-mails, audio recordings, PDFs, etc. Variety also refers to as heterogeneous sources. 

Veracity

The Veracity is defined as the abnormality or uncertainty in data generated by humans and machines.  It is also referred to as the quality of data. In simple words, we can say that incompleteness and inconsistency of data is the veracity

Value

The Data, which is generated in itself is of no use, unless we convert it into something valuable to exact the information. Hence, we can state that Value is one of the most important V in all the 5 V's of Big Data. 

Types of Big Data

In Big Data, there are following three types of Data:
1. Structured Data
2. Semi-Structured Data
3. Unstructured Data

Structured Data

The data which is stored, processed, and accessed in a fixed format or organised manner is called as Structured Data. The storing and managing the data in the RDBMS is an example of this type of data. Users can easily access this data from the database by using the simple queries and algorithms because they have a fixed format. 

Unstructured Data

The data which is stored, processed, and accessed in an unknown form or structure is called as Unstructured data. This type of data cannot be stored and processed in the Relational DBMS. NoSQL databases like CouchDB and MongoDB are used to store and manage the unstructured data. To process and analyze the unstructured data is very difficult and time-consuming.  
Examples of Unstructured data are as follows
  • Text files, 
  • Audio files, 
  • Video files, 
  • E-mails, 
  • Reports, 
  • Images, etc. 
In Big Data, Unstructured data is of two types:
a. Machine-Generated Data 
b. User-Generated Data

Machine-Generated Data 
The data which is collected or gathered from the person behaviours. This type of data is usually an unstructured and can be internal or external. 
The machine-generated data includes the following examples:
  • Surveillance photos and video,
  • Geographical Data,
  • Meteorological Data,
  • Weather Data,
  • Oceanographic Data, etc.
User-Generated Data
The data which is generated when any person or user put the data over the social media or Internet websites itself.  
The user-generated data includes the following examples:
  • Data From Twitter, Facebook, LinkedIn,
  • Mobile Data From locations and Text Messages,
  • Websites Data From Youtube and Instagram 
  • Media Data From  Chat, Phone Recording, IM,
  • etc. 

Semi-Structured Data

It is the third type of Big data. Semi-Structured is that type of data, which contains both the forms of data i.e., Structured and Unstructured data. Users can see the semi-structured data in the fixed format but it is not actually defined. 
This type of data lacks the rigid or fixed schema. 
Examples of Semi-Structured Data are as follows:
  • XML files,
  • JSON files,
  • E-mails, 
  • CSV files, etc.

Applications of Big Data

Big Data is a technology which is growing popular day-by-day among us. This technology is widely used in various areas to get the valuable information by extracting the data generated by humans, machine, and the interaction of both.
In today's time, following are the various applications where the Big Data is widely used:

1. Healthcare 

Now a Days, the Big Data technology is enormously used in Health Care. It improved the healthcare by providing the personalized medicines and perspective analysis. Big data is used for optimizing the growth of the hospital by improving the efficiency and care effectiveness.
Over the past decades, hospitals and clinics in the world the adopted the Electronic Health Record (EHR). EHR is the main application of big data in health care, which helps for improving patient care.
This technology helps the hospital staff to work more efficiently.
Various sensors are used beside patient beds for monitoring the heartbeat, blood pressure, and the respiratory rate. If there is any problem, then the sensors alerted to doctors and the administrators of healthcare.

2. Banking

The volume of data generated in the banking sector is enormous. Nowadays, banking sector allows us to receive cash from ATM and also to submit the papers at our branch online. Big Data analytics is also used in banking for enhancing our cybersecurity and for reducing the risks. 
One of the biggest disadvantage of the banking sector is the fraud. So, this technology allows banks to that there is no unauthorized transaction will be done. 
Basically, this technology reduced/decreases the number of risks generated in the banking sector. 


3. Media & Entertainment

In Media and Entertainment, Big Data helps to predict what the audience and consumers want. Various companies like Netflix and Spotify analyzing the data collected from their users around the globe and then predict what type of music and videos, users are listening and watching. 
Big Data provides the new features for analyzing the public demand. 
Big Data helps the companies and advertisers for better understanding the what type of ads consumers or viewers are willing to watch. Due to this, advertisers create the personalized ads, which helps in increasing the CTRs. 


4. Agriculture

Big Data is playing an important role in the agriculture sector for enhancing the performance of firms. Its goal is to minimise the loss of firms. 
This technology can take the data from the past years and suggest the farmers to use the best pesticides which work under the specific conditions. 
It allows the owners of the firms to use the same land for various purposes. It also automates the watering system of the firms. 
Due to years of event tracking, now, Big Data technology can predict the weather events and even pest problems. 


5. Education Sector

Big Data is used in education for providing the innumerable benefits to both the teacher and student. Big Data helps the education sector in maintaining the security. It also helps in improving the performance of the students. It implements the study plans by analyzing the grades of a student in a different subject.
This technology also point out the factors which affect the performance of an individual student and provides the best solutions. It also helps the students for choosing the best career option. Big Data analytics allow the institutions to build the different learning plans.  

6. Government

The government handles the various local, global, and national complex issues daily. Big Data is an important technology in government, which allows us to analyze the impact and opinion of the decision. 
By the use of this technology, the government sector can easily reach to the demand of the public and act according to them. It also identifies those areas which need attention.

7. Disaster Management

When there is no Big data technology, scientists are not able to predict the possibility of disaster. But, now, Big Data helps to identify the disaster by evaluating temperature, wind pressure and other related factors. 
Using this technology, the government takes necessary actions for minimizing the effects of natural calamities like floods, hurricane, and earthquakes. 
It also analyze the weather conditions every twelve hours from satellite and radar. Big Data also identifies the possibilities of flood in any particular area at a specific time. 

Advantages of Big Data

Following are the various benefits or advantages of Big Data:
1. One of the biggest advantages of Big Data is fraud detection. It helps the banks and other financial institutions for detecting the fraud at that moment when it happens. 
2. Another advantage of Big Data is that it is cost saving. The use of real-time applications may be expensive, but saves a lot of time in analyzing the data. 
3. It also allows us to predict against the particular situations. 
4. It helps in improving the science and research. 
5. This technology helps in optimizing the business processes and helps the business in making more effective decisions. 
6. Big Data provides the useful insights. 
7. It can provide the information which is used for helping customers.
8. The tools of Big Data helps the analysts to analyze the information at a faster speed. Due to this, the production level is increased. 


Disadvantages of Big Data

Following are the various limitations or disadvantages of Big Data
1.
One of the disadvantages of big data is privacy and security.
2.
Sometimes, the results of big data analysis mislead.
3.
There is a lot of data which is unstructured.
4.
 There may be a shortage of talent in the Big Data sector for most businesses.

Cloud Service Models

In cloud computing, following are the three basic models which are given according to the NIST definition of cloud: 
1. Saas (Software-as-a-Service)
2. Pass (Platform-as-a-service)
3. Iaas  (Infrastructure-as-a-Service)

Let's discuss each service model one by one. Here, you will get the introduction about each model with their characteristics, advantages, and disadvantages. 

Software-as-a-Service (SaaS)

The Software-as-a-Service (SaaS) is also called as a rentware or Subscribeware. Sometimes, it is also called as on-demand software
The applications of SaaS are also called as web-based and hosted software. 
It is a cloud-based method which provides the software services to the end-users through the Internet or an application. It is a model in which applications and services are hosted by the cloud service provider on the remote servers.
Any user can access the software services from internet instead of installing on their desktops. Users can run the software easily on any platform or any device. 
In the SaaS model, the software is licensed on the subscription basis and managed from a central location. Following are the some business applications for which SaaS become the common delivery model:
  • Database Management System (DBMS) Software,
  • Office Software,
  • CAD Software,
  • Development Software,
  • Messaging Software,
  • Virtualization,
  • Accounting,
  • Customer Relationship Management (CRM),
  • Enterprise Resource Planning (ERP),
  • Human Resource Management, and
  • Service Desk Management 
Examples of SaaS model are: Salesforce, Google Docs, word online, and slack. 

Characteristics or Features of SaaS


Following are the essential characteristics or features of the Software-as-a-Service (SaaS) model: 
1. The services provided by the SaaS are automatically updated and upgraded. 
2. The services can be scaled up or down on demand. 
3. SaaS provides the software for the users on the Internet.
4. The services are hosted on a remote server and managed by the cloud service provider.

Advantages of SaaS  

Following are the advantages or benefits of Software-as-a-Service (SaaS) model:
1. The main advantage of the SaaS model is that it is cost-effective because we have to pay only for what we have to use. 
2. The maintenance cost of the SaaS model is less. And, they also does not require any special software and hardware version. 
3. Multiple devices are supported by the SaaS model. We can easily access the services of SaaS from any device such as laptop, tablets, and desktops. 
4. The services of SaaS easily integrate with other services or software through the standard Application Programming Interface (API). 
5. Another big advantage of SaaS is that it is scalable. Because this model enables users to access the features or software on demand. 


Disadvantages of SaaS 

Following are the disadvantages or limitations of the Software-as-a-Service (SaaS) model: 
1. The applications used in SaaS must requires the Internet connection. We cannot access the software or services if the internet connection fails. 
2. There is a difficulty in switching between the SaaS vendors. 
3. Another disadvantage of SaaS is that it is insecure. The data is stored on the cloud so loss of data has a chance. 

Platform-as-a-Service (PaaS) 

Platform-as-a-Service (PaaS) is a cloud-based method which provides the platform and the runtime environment to the end-users for managing, running, and developing the applications and services. This service model is also hosted in the cloud remotely and accessed by the users via the Internet.
This service model also provides a framework for developers to create customized applications. It is basically designed for supporting the complete lifecycle of web application: building, testing, deploying, and managing.
This service model not only includes the network, server and storage but also include many more platforms such as database, tools, middleware, and business services to support the life cycle of the web application.

PaaS service model provides a new feature point-and-click tool, which allows non-developers to create or develop the web applications. 
Examples of PaaS model are: App Engine of Google, Azure, Force.com, Openshift. 

Characteristics or Features of PaaS

Following are the essential characteristics or features of Platform-as-a-Service (PaaS) model:
1. PaaS can be easily integrated with other applications on the same platform. 
2. This service model provides built-in security. It also provides the web service interface which enables the users to connect the applications outside the platform. 
3. It is built on the technology of virtualization. 
4. Multiple users can access through the same development application. 

Advantages of PaaS  

Following are the advantages or benefits of Platform-as-a-Service (PaaS) model:
1. The main advantage of PaaS is that it is simple and easy to use. 
2. Another advantage of PaaS is that it is cost-effective because there is no need to purchase the server or database to run the application. 
3. PaaS service model is also flexible because any user works on the application from anywhere any time with the help of the Internet. 
4. The members of the development team can work on the same project easily if they are in a remote location because the development environment is accessed over the Internet. 
5. Due to this service model, An IT team can focus on the development of the application rather than the maintenance of an application. 

Disadvantages of PaaS 

Following are the disadvantages or limitations of Platform-as-a-Service (PaaS) model: 
1. Due to the multi-tenant architecture, the security of data is the main issue in the PaaS model. 
2. When the application migrate from one PaaS vendor to other PaaS vendor, then it creates a problem. 
3. Some of the applications are from local and some are from the cloud, so due to this, there is a chance of increasing complexity.

Infrastructure-as-a-Service (IaaS)

Infrastructure-as-a-Service (IaaS) is a cloud-based method which provides the servers, networks, storage, virtual machines, and other resources to the users over the Internet. 
Any user can run the applications or operating systems on the rented servers without maintaining those servers. 
As compared to SaaS and PaaS service models, IaaS model offers the lowest-level control of resources in the cloud. 
Examples of IaaS model are: Microsoft Azure, Amazon Web Services, Rackspace and Google Compute Engine. 

Characteristics or Features of IaaS


Following are the essential characteristics or features of Infrastructure-as-a-Service (PaaS) model:
1. The IaaS model has the ability to quickly and easily scale the services. 
2. It provides the network hardware, servers, and storage. 
3. Multiple users can easily work on a single piece of hardware. 
4. This cloud service model is flexible and dynamic. 
5. We can use the resources on demand. 

Advantages of IaaS  

Following are the advantages or benefits of Infrastructure-as-a-Service (PaaS) model:
1. This service model enables more than one user for sharing the same physical infrastructure.
2. The users have to pay only for those services of IaaS which they want to use.
3. This service model frees up the IT team to focus on the core business of the organization rather than the infrastructure of IT.
4. One of the biggest advantages of this model is 'On-demand scalability'.
5. This service model can also be run even when the server goes down.

Disadvantages of IaaS 

Following are the disadvantages or limitations of Infrastructure-as-a-Service (PaaS) model: 
1. This service model depends on the virtualization services. 
2. It restricts the users privacy. 
3. The service providers of IaaS do not upgrade the software for some organizations. 

Cloud Deployment Models




The Deployment Models in the Cloud Computing describe how the services are made available to the end-users in the entire world. These models are different from the service models of cloud computing.

These models basically denote the exact category of the cloud environment on the basis of size, access, and proprietorship.

According to the definition of NIST, there are following four deployment models in the cloud technology:

1. Public Cloud
2. Private Cloud
3. Hybrid Cloud
4. Community cloud

Public Cloud 

The Public Cloud is that deployment model which provides the services and resources of a cloud computing to all the users over the Internet who want to access them. Users and clients of Cloud Computing can easily access them without buying the physical infrastructure. The resources and services which are available to all the users are shared across all the customers who use them. This cloud deployment model is less secure due to its openness.
This cloud is owned, managed, and operated by the third-parties which are commonly known as cloud Service Providers.
Examples of this deployment model are E-mail, social networking sites, and so on.
Following are some of the companies which provide the public cloud facility to their users:
1. IBM Cloud
2. Microsoft Azure
3. Google Cloud
4. Amazon AWS (Amazon Web Services).
5. IBM Blue Cloud

Advantages of Public Cloud

Following are the various benefits or advantages of the public cloud:
1. The main advantage of the public cloud is cost-effective. In this cloud deployment model, there is no need to buy the additional hardware and software. This cloud share the same resources with a large number of end-users. We have to pay only for the service we want to use. So, this cloud saves the money. 
2. The services and resources of public cloud are available through the Internet. So, it is location independent.
3. Public cloud is more reliable because if there is any failure in any resource it does not mean that the services stop, but work properly with the other resources. 
4. This deployment cloud provides the greater scalability because it scaled the resources and services according to the end-user requirements or needs. 

Disadvantages of Public Cloud 

Following are the various limitations or disadvantages of the public cloud:
1. In this Cloud deployment model, there is no control over the security and privacy of the data and information. 
2. This deployment model is comparatively less customizable than the private deployment model. 


Private Cloud

The Private Cloud is that deployment model which provides the services and resources for only stand-alone organizations. This cloud is also known as Corporate or Internal Cloud. This type of deployment model offers greater control over data and its security.
This cloud provides the services over the Private Internal Network or an Internet to the selected users instead of the general public. This cloud is perfect for those organizations which require the high-security and high-management demand.
Those organizations which use this cloud does not share the resources with the other users. Examples of this deployment model are HP data Center, social networking sites, and so on. 

Advantages of Private Cloud

Following are the various benefits or advantages of private cloud:
1. This cloud provides the high security and privacy of the data. Because, the users access the services and resources within the same organization.
2. This cloud offers more control on the hardware and resources because it is only accessible to the selected users. 
3. This cloud offers a high level of performance for the users who are using the private cloud services because there is no sharing with other users. 
4. As there are less chances of Internet security risks because the private cloud is presented/located behind the firewall. 

Disadvantages of Private Cloud 

Following are the various limitations or disadvantages of the private cloud:
1. In terms of cost, the private deployment model is more expensive, because this cloud require hardware such as data centers, servers and network infrastructure. As well as maintenance and set up cost is also higher.  
2. This cloud requires the expertise of the IT industry. 
3. Unlike the public deployment model, this mode is less scalable. 

Hybrid Cloud

The Hybrid Cloud is a cloud deployment model which is a combination of Public and Private deployment models.
In this cloud, those tasks which are non-critical can be done by the public cloud and which are critical can be done by the private cloud. Due to the combination of clouds, it is also known as heterogeneous cloud. This cloud is mainly used in finance, universities and health care. 
Following are some of the companies which provide the hybrid cloud facility to their users:
1. Net App
2. Cisco
3. Microsoft
4. Google


Advantages of Hybrid Cloud

Following are the various benefits or advantages of hybrid cloud:
1. The main advantage of a hybrid cloud is flexibility and security. Due to the public cloud, it provides flexible public resources and due to the private cloud, it provides secure resources. 
2. This cloud deployment model is scalable because it provides the features of both public and private deployment model. 
3. As compared to the private cloud, the cost of this cloud is less. 

Disadvantages of Hybrid Cloud 

Following are the various limitations or disadvantages of the hybrid cloud:
1. The main disadvantage of the hybrid cloud is that this cloud has less control over the security of data and information. 
2. Another disadvantage of hybrid cloud is reliability, because the reliability of services used in this cloud depends on the cloud service provider.
3. In Hybrid cloud model, networking becomes complicated due to the presence of both private and public cloud. 

Community Cloud

The Community Cloud is a cloud deployment model which provides the services and resources to the group of several organizations for sharing the data and information. This cloud shares the infrastructure between the several organizations from a particular community. 
Following are the various sectors where this cloud deployment model is used:
1. Healthcare Industry
2. Media industry
3. Banks

Advantages of Community Cloud

Following are the various benefits or advantages of community cloud:
1. The Community Cloud is less secure than the private cloud but more secure than the public cloud. 
2. This cloud model also enables users for sharing the resources and infrastructure among the organizations which are connected in this cloud. 
3. Another advantage of community model is that it is cost-effective. 

Disadvantages of community Cloud 

Following are the various limitations or disadvantages of the Community cloud:
1. This cloud is not a good choice for every organization.
2. This cloud model is costly than the public cloud model.