Computer Fundamentals Tutorial: Computer Basics

Computers have become one of the most essential parts of human life. At present, computers can be easily seen in almost every sector or field even where it is most unexpected. There can be several different reasons why computers are actually required. We can summarize the reasons for the requirement of computers in three words: efficiency, accuracy, and reliability.



Nowadays, computers are making jobs easier for people. Computers can be used in everything from entertainment to communication to navigation to research. That is why this era is called the era of IT (Information Technology). And now, one cannot imagine a world without computers.


Computer Fundamentals Tutorial

Therefore, it is very necessary to have knowledge of Computer basics. In this article, we have covered all the basics of the computer such as what is a computer, definition of computer, basic functions of a computer, generations of computer, classification or types of computer, advantages, and disadvantages of a computer, etc.


Prerequisites

There is no special requirement to learn the concepts of Computer fundamentals Tutorial. You just need to read the article properly. We have a well built and organized series of topics under Computer Fundamentals to help you in learning computer concepts from scratch.


Audience

Tutorials on TutorialsMate are designed to help beginners and professionals. Our Computer Fundamentals Tutorial will help beginners to master in Computer.


Problem

Our Computer Fundamentals Tutorial is designed by professionals, and we assure you that you will not find any kind of problem. In case there is any mistake, we request you to submit the problem using the contact form or directly send us a mail at TutorialsMate.


What You Will Learn


Let’s start with the definition:


What is Computer

In 1640, the term ‘Computer’ was initially referred to as ‘one who calculates’. Later in 1897, it was called the ‘Calculating Machine’. In 1945, it was indicated as ‘programmable digital electronic computer’ which is now called a ‘computer’.


What is Computer definition?

A computer is a programmable electronic machine designed to take input, perform prescribed arithmetic and logical operations at fast speeds, and provide the output of these operations.


The term ‘COMPUTER’ is an acronym for ‘Common Operating Machine Purposely Used for Technological and Educational Research’.


The term ‘Computer’ is derived from the Latin word ‘computare’, which is defined as- “to calculate”, “to count” or ‘to sum up”, etc. In other words, “a computer is a device that performs computation”.


Note- The first mechanical computer was designed in 1837 by Charles Babbage. It was called 'Analytical Engine'. It was the first general-purpose computer. Charles Babbage is known as the father of the computer.


Also Check: Block Diagram of Computer


Basic Functions of Computer

There are four basic functions of the computer: Input, Processing, Output, and Storage.


Input

The data is entered into the computer with the help of input devices. Like other electronic devices, a computer takes data in raw form (binary form). The user can enter the data in several formats such as the collection of letters, numbers, images, etc. The input devices convert the data in the binary form so that the computer can read the data.


Some of the main input devices of computer systems are listed below:

Keyboard
Mouse
Joystick
Scanner
Trackball
Lightpen

Read More: Input Devices of Computer


Processing

The processing is the core functionality of the computer system. It is the internal process where the data is processed according to the instructions given to the computer. The data is executed sequentially and sent for further processing.



The processing speed may vary in different computer systems as the speed mainly depends upon factors like which type of Motherboard, CPU (Central Processing Unit) or RAM (Random Access Memory) you are using.


Suggested Article: Why is my computer so slow?


Output

The output is the information provided by the computer after the entire processing. It is also known as the result that can be stored in the storage devices for further use. The output devices retrieve the processed data from the computer and convert the data into a human-readable form.


The widely used output devices of computer systems are listed below:

Monitor
Printer
Projector
Speakers

Read More: Output Devices of Computer


Storage

Storage is a crucial part of the computer system. It is used to store data or instructions before and after processing.

Generally, storage is divided into the following types:


Primary Storage

Primary storage devices store the inputted data and immediate calculation results. The data stored in primary storage is temporary and will be lost if they are disconnected from the power source. Random Access Memory is an example of primary storage.


Secondary Storage

Secondary storage devices are used to store the data permanently for future use. The data stored in the secondary storage devices is secure even if there is no power supply. Hard Disk Drive is the widely used secondary storage.


Also Check: Types of Computer Memory


Generations of Computer

Each generation of computers is a major technological development in technology a computer is/was being based on. Initially, the term ‘generation of computer’ was used to distinguish between different hardware technologies. At present, the term concludes both the hardware and software. More precisely, the term ‘generation’ is the development that changes the way computers operate. There can be different changes like making the device smaller, cheaper, more smart or powerful, etc.



There are five generations of the computer, which are listed below with approximate period:


First Generation (1946 - 1959)

Based on- Electronic Valves (Vacuum Tubes).
Example- ENIAC, EDVAC, UNIVAC, etc.

Second Generation (1959 – 1965)

Based on- Transistors.
Example- IBM 1620, IBM 1400 and 7000 series, CDC 3600, etc.

Third Generation (1965 – 1971)

Based on- Integrated Circuits (ICs).
Example- IBM 360, IBM 370, PDP, etc.

Fourth Generation (1971 – 1980)

Based on- Very Large Scale Integrated (VLSI) Circuits.
Example- DEC 10, STAR 1000, CRAY-1 and CRAY-X-MP, etc.

Fifth Generation (1980 – Present)

Based on- Ultra Large Scale Integration (ULSI), Artificial Intelligence (AI) and Parallel Processing Hardware.
Example- Desktop, Laptop, NoteBook, ChromeBook, and UltraBook, etc.

Read More: Generations of Computer


Uses of Computer

As we have discussed above, the computer is the need for the digital era. It is helping people to complete their tasks in hours that were before taking several days or months.


Here, we have explained the most important uses of the computer system:

can store important data.
can communicate with people around the world.
used for the educational system.
used for office works like data entry, support, development, etc.
used in banking, finance, and marketing.
used in government sectors.
used in sports.
used for Press and publishing.
used for entertainment.

Classification of Computer

According to usage and functionalities, computers can be classified as:


Analog Computer – The computers used to process analog data (continuously varying data) are called ‘Analog Computers’. Analog computers are the most complicated machines for computation and process control. Examples of continuous data are pressure, temperature, voltage, weight, and speed, etc.


Digital Computer – Digital computers are personal computers. These are the widely used computers. These are commonly used for processing the data with a number using digits by utilizing the binary number system. These computers are intended to perform arithmetic and logical operations at a very high rate.


Hybrid Computer – Hybrid computers are the combination of analog computers and digital computers. These are as fast as analog computers and include memory and precision as digital computers.


Computer Fundamentals Tutorial - Classification of Computer

Types of Computer

Supercomputer – Supercomputers are large and require huge space for the installation. They are the fastest and most expensive computers compared to others. They are used for performing huge complex calculations.


Mainframe Computer – Mainframe Computers are smaller than supercomputers, still, they comparatively huge. These are not as fast as supercomputers. These are expensive as well as take huge space for the entire setup. Mainframe computers can store huge amounts of data and they are capable to handle large calculations. These computers are usually found in banks and educational sectors.


Microcomputer – Microcomputers are inexpensive and support multi-user platform. These types of computers are mostly used by small organizations. Microcomputers are slower compared to supercomputers and mainframe computers. Microcomputers are called Personal Computer (PC).


Mini Computer – Mini computers are cheaper and easy to carry. Notebook and Tablet are examples of minicomputers.


Computer Fundamentals Tutorial - Types of Computer

Advantages and Disadvantages of Computer

Just like a coin, a computer system also has two sides: Advantages and Disadvantages. While there are several disadvantages of a computer system, but, the advantages overcome them. Let's discuss both advantages and disadvantages of the computer system:


Advantages of Computer

The main advantages of the system are listed below:

Amazing Speed
Accuracy
Huge Storage
Multitasking Support
Data Security
Automation
Reduced Cost

Disadvantages of Computer

The main disadvantages of the computer system are listed below:

Unemployment
Health Issues
Cyber Crimes
Virus and Hacking Attacks
Improper Use
Spread of False or Inappropriate Content
Negative Impact on the Environment

In-depth Guide: Advantages and Disadvantages of Computer


Computer Software

Computer software is a group of programming instructions designed to instruct the computer to perform specific tasks. Typically, a computer system is useless without software.
There are two types of computer software, as mentioned below:


System Software

System software connect the user and the hardware of the computer to interact with each other. System software provide the basic functionalities required to operate the computer system. These type of software provide an environment or platform for the other software to work on. System software run in the background.



Example: Operating systems (e.g., Windows, Linux, Android, etc.), Device Drivers, Firmware, and Utility software.


Application Software

Application software are customized software designed for personal use. These type of software help users for performing basic tasks such as online research, setting an alarm, designing, or even playing games. The application software runs in the frontend and mostly used by the end-users. Therefore, these are also called ‘end-user programs’.


Example: Word Processors, Multimedia Software, Web Browsers, Graphics Software, Photoshop Software, etc.


Computer Hardware

Computer hardware are the physical components or parts that jointly form a computer system. There are different types of hardware. Depending on the structure of the computer system, hardware can be installed inside or outside of the computer physical body.


Components of the Computer Hardware

The basic components of the computer hardware are listed below:

Monitor
Keyboard
Mouse
CPU (Central Processing Unit)
Motherboard
RAM (Random Access Memory)
Hard Disk Drive
Printer, etc

Computer Fundamentals Tutorial - Components of Hardware

Take Test: Basic Computer Questions (MCQ)

Summary

The computer plays an important role in our day-to-day life and we cannot think of life without it. While there are some disadvantages of computers, however, the advantages of computers overcome those disadvantages. Therefore, it is very important to have at least basic knowledge of computers to complete in this era of technology.




Bonus

We have also attached a PDF file of this Computer Fundamentals Tutorial which will help you read this tutorial anywhere without the need of the internet. Get your free copy of "Computer Fundamentals PDF" file using the below link:





What others reading:
Read Article

RPA Tutorial: What is RPA?

RPA Tutorial

RPA Tutorial will help you to get a clear idea about the robotic process automation. We have covered all the basic and advanced concepts of RPA. We have designed this tutorial in such a way that it will help beginners as well as professionals.

This tutorial will help you to understand all the basic concepts of RPA along with various related topics such as RPA Features, RPA Applications, RPA Tools, RPA Architecture, RPA Life Cycle, Working of RPA, RPA Services, RPA Tools, RPA Interview Questions, etc.

Prerequisites

There is no special requirement to learn the concepts of RPA. You just need to have some basic understanding of using Windows machines and applications. However, we have a well built and organized series of topics under the RPA tutorial to help you in learning RPA concepts from scratch.

Audience

Tutorials on TutorialsMate are designed to help beginners and professionals. Our RPA Tutorial will help beginners to master in Robotic Process Automation.

Problem

Our tutorial is designed by professionals, and we assure you that you will not find any kind of problem. In case there is any mistake, we request you to submit the problem using the contact form or directly send us a mail at TutorialsMate.

What You Will Learn


To learn Robotic Process Automation, we need to first understand the definition of the term 'Automation'. Let's start with it:

What is Automation?

Automation is a technique that can be used to make any task, process or system to operate itself. The word automation itself an answer for what is automation? As the name suggests, it provides support to automate different tasks such as data entry, invoice generation, etc. The primary aim of automation is to add simplicity, boost efficiency and enhance reliability.

The automation technique initially came into existence in 1920. However, it could not get much popularity at that time. It actually got popularity in the starting weeks of 1990.

There are basically four types of automation categories:

Macro Recorders
Application-level Macro Recorders
Business Process Automation (Also referred to as ‘BPA’)
Robotic Process Automation (Also referred to as ‘RPA’)

What is RPA?

RPA Definition

“RPA is an acronym of ‘Robotic Process Automation’. RPA is a technology that uses software programs to mimic human actions. It automates the human tasks that are repetitive and rule-based. For example- Data Entry, Data Validation, Invoice Generation, etc.”

RPA Tutorial - RPA

Let's understand it with a real-life example:

Just assume, you need to post some articles on different social platforms at a specific time every day. So, there are generally two ways you can use to complete this task. You can either do it manually yourself or hire an employee to perform this tedious task every day. The only job for the employee will be to post your articles every day. It will cost you a lot if you keep doing it for years and your employee will get bored with it. Isn’t it?

Besides, you can automate this entire process with the help of RPA. It will help you to simply create a software robot that will perform this repetitive task for you. It will definitely save your money and time. On the other hand, you can take help from your employee for other business tasks that need human intelligence.
So, mimicking human actions to complete a bunch of sequential steps that lead to meaningful activity, with minimal or no human intervention is known as ‘Robotic Process Automation’.

Robotic Process Automation interacts with the existing IT infrastructure with the help of software bots (also known as robots.). These RPA bots complete the tasks at a rapid speed and make zero mistakes. They can also interact with the websites, user-portals, etc. and automatically log into applications, open e-mails and attachments, perform other defined tasks, and then log out.

Note: It is very important to note that RPA does not use physical robots. There are no physical robots doing labor-intensive human tasks such as cleaning the house or picking up heavy goods etc. The term ‘robot’ in ‘RPA’ is just a virtual robot that mimics human actions to automate repetitive computing tasks or digital business processes. 

RPA Features

The most common features of Robotic Process Automation are:


Security – With its strong user access management system, RPA allows organizations to assign specific permission to the users. RPA tools include rule-based security options that secure the data against unauthorized access. The entire data is accessed by the bots is encrypted to ensure security against malicious tampering. Furthermore, RPA also offers detailed logging information of users and the insight of executed tasks.

Powerful-analytical Suite – RPA provides a rich-analytical suite that allows organizations to discover the performance of the robot workforce. It provides a platform to track basic metrics on robots, servers, workflows from anywhere.

Bot Creator – With Bot Creator, one can easily create software bots. It provides options like simple mouse-clicks, keystrokes, and inbuilt recorder components. Some RPA tools include Task Editor to create and edit the software bots.

Source Control – Most of the RPA tools include a control room that can be used for scheduling bots, handling bots, maintaining user logs and bot activities, etc.

Easy Deployment and Integration – RPA allows simple deployment across different virtual machines, terminal services, and cloud. Its deployment feature is so powerful that it can automatically deploy hundreds of software bots. Multiple bots can be assigned to execute different tasks in a single process while processing a high volume of data.

Besides, RPA provides easy integration to easily merge with different 3rd party applications in the digital infrastructure of the business. 


Script-Less Automation – Most RPA tools offer code-free automation which means users can easily create software bots without the requirement of any programming skills.

RPA Use Cases

The following list is divided into five different fields according to the use-cases of Robotic Process Automation:

I) General business processes and activities

II) Processes involved in commercial functions
• Sales
• CRM (Customer Relationship Management)

III) Processes involved in support functions
Technology
Finance
HR
Operations
Procurement

IV) Industry-specific processes
Banking
Insurance
Telecom
Healthcare
Retail

V) Robotics process applications for personal use (e.g., digital assistant)

RPA Architecture

The architecture of Robotic Process Automation can be easily understood with the help of the following structure:

RPA Tutorial - RPA Architecture

The architecture includes different tools, platforms, and other infrastructure elements that completely form an RPA tool.

Let’s explain each block of this structure diagram:

Application under Robotic Process Automation

RPA is well suited for enterprise applications such as ERP, SAP, and many other record processing applications. These applications are generally data-intensive and data-centric. These types of applications can be easily loaded with repetitive tasks.

RPA Tools

RPA tools are used to develop software robots to automate tasks on different platforms such as Desktop, Web, and Citrix environments. The software bots can be trained with inbuilt functions like recording, configuring, and enhancing the programming or coding logic (i.e., loops, conditions, etc.).

The most popular RPA tools are Blue Prism, UiPath, and Automation Anywhere.

RPA Platform

RPA software bots are stored in a shared repository which can be easily shared across different software robots libraries. RPA platform is also responsible for scheduling, distributing and monitoring the execution of software bots. It also provides meaningful insights of developed software bots and keeps their execution statistics.

RPA Execution Infrastructure

RPA Execution Infrastructure is considered as a bank that contains several parallels or virtual lab machines. These machines can be controlled according to their usage patterns. The process of scaling up or down the number of machines in parallel is also performed without the requirement of any human intervention.

Configuration Management

Configuration management is used to update software bots to a newer version. Since RPA bots are reusable across the libraries, therefore, the branching and merging of these software bots can also be performed with the help of configuration management.

RPA Life Cycle

RPA life-cycle includes the following phases of automation process:

RPA Tutorial - RPA Life Cycle

Discovery Phase – RPA business analyst discovers the client’s requirements. Examines if the processes can be automated? Also, analyze the complexity of the processes.

Development Phase – RPA developers create automation scripts (bots) with the help of RPA tools according to the requirements. 

User Acceptance Phase – The developed bots are tested by the testing team (might be a separate team or a dedicated team).

Deployment and Maintenance Phase – Tested bots are deployed in the environments so; the users can automate the tasks. 

Execution of Bots – After deployment and maintenance, the bots are executed to ensure that the implementation is done successfully according to the requirements of the client.


How RPA works?

The software bots are operated by running a series of predefined workflow tasks. These tasks basically give instructions to the software bots and inform them regarding their next task.  When the complete workflow is configured into the RPA system, the software can then automatically process the workflow and complete the specified tasks. Software bots can handle multiple tasks of a single process as per the requirements.

RPA bots interact with the systems via integrations and screen scraping, which allow them to perform actions in the same way that a human could do.

RPA Services

The following are the most common services of Robotic Process Automation:

Business Readiness Analysis
Business Case Discovery
Proof of Concept (POC)
RPA Implementation
Legacy System Integration
Web Extraction Service
RPA Monitoring and Support

RPA Examples

There are several examples in our day-to-day tasks. The most common examples of Robotic Process Automation are listed below:

Order Processing
Invoice Generation
Web Site Scraping
Data Management
Forms Processing
Credit Card Applications
Account Reconciliation
Call Center Operations
Payroll Processing
Order Shipment Notification
Dispute Resolution
Onboarding Employees or Customers
Incoming customer E-mail Query Processing

RPA Companies / RPA Vendors

In an RPA market, RPA is one of the emerging technologies. It is very important to select the right vendor to get the expected return. Some of the popular RPA vendors are listed below:

Blue Prism
UiPath
Automation Anywhere
Pegasystems
NICE
Contextor (acquired by SAP)
Workfusion
Softomotive
Kofax Kapow

RPA Tools


The most popular RPA tools are:

UiPath

It offers windows-based desktop process automation which includes desktop automation, web automation, Citrix automation, etc.

Blue Prism

It is said that the term 'RPA' was initially innovated by the Blue Prism Group. It supports automation of different repetitive, rule-based digital business processes efficiently.

Automation Anywhere

AA offers a user-friendly platform to automate the complex processes.

RPA Challenges

Availability of skilled resources
Required support from businesses 
Immediate support from RPA vendors
Selection of right use-cases for automation
Understanding of the complexity of the processes
Lack of scheduled maintenance plans

RPA vs AI

RPA (Robotic Process Automation) AI (Artificial Intelligence)
RPA allows organizations to use software robots to mimic human actions and automate digital processes. AI is the simulation of human intelligence in a system that can think like humans and make the necessary decisions.
RPA robots can automate the tasks only according to the predefined rules and regulations. AI is based on ‘thinking’ and ‘learning’ can make appropriate decisions on its own.
RPA is a rule-based technology. It automates repetitive and mundane business processes. AI consists of different technologies such as machine learning and natural language processing etc. It helps in decision making and can do a lot more than just automating rule-based, repetitive tasks.

RPA Jobs and Future

RPA is an emerging technology, and it is increasing in different sectors. The future seems to be bright for RPA because it has several advantages and benefits over manual tasks. Anyone can start a career in RPA with some basic training. According to the reports, RPA is going to have an economic impact of nearly $6 trillion by 2025.

An RPA developer can be assigned to perform the following roles:
Process Designer
Automation Architect
Production Manager

The demand for the RPA professional is surely going to rise in upcoming days. The salary packages for the RPA developers are very high (nearly twenty to thirty percent higher) when compared to the software designers, engineers, etc. 



Bonus

We have also attached a PDF file of this RPA tutorial which will help you read this tutorial anywhere without the need of the internet. Get your free copy of "RPA Tutorial for Beginners PDF" file using the below link:




next→

Read Article

Apache HBase Tutorial: Introduction to HBase

Apache HBase Tutorial
Our Apache HBase Tutorial will help you to get a clear idea about HBase. We have covered all the basic and advanced concepts of HBase. We have designed this tutorial in such a way that it will help beginners as well as professionals.

This tutorial will help you to understand all the basic concepts of HBase along with various related topics such as What is HBase, HBase history, HBase architecture, HBase components, Why Hbase, etc.

Prerequisites

There is no special requirement to learn the concepts of HBase. You just need to have some basic understanding of using a terminal and applications. However, we have a well built and organized series of topics under the Apache HBase Tutorial to help you in learning HBase concepts from scratch.

Audience

Tutorials on TutorialsMate are designed to help beginners and professionals. Our HBase Tutorial will help beginners to master in HBase.

Problem

Our tutorial is designed by professionals, and we assure you that you will not find any kind of problem. In case there is any mistake, we request you to submit the problem using the contact form.

What You Will Learn


What is Apache HBase?

Apache HBase is a distributed, scalable, non-relational (NoSQL) big data store that runs on top of HDFS. It is an open-source database that provides real-time read/write access to Hadoop data. It is column-oriented and horizontally scalable. HBase can host very large tables such as billions of rows and millions of columns. It can combine data sources that use a wide variety of different structures and schemas. HBase has the ability to store a massive amount of data from terabytes to petabytes.

HBase is a data model that is similar to Google's big table, used to known as the Google Big Table initially. It supports quick random access to huge amounts of structured data. Afterward, it was re-named as HBase and is primarily written in Java.

History of HBase

HBase Tutorial - History of Apache Hbase
The HBase story began in 2006. The San Francisco-based startup Powerset started working to build a natural language search engine for the Web. Then, in early 2007, Mike Cafarela dropped a tarball of thirty-odd Java files into the Hadoop issue tracker and added: ”I’ve written some code for HBase, a BigTable-like file store. It’s not perfect, but it’s ready for other people to play with and examine.

Jim Kellerman took Mike’s dump and started working on gaps and drops. He added many tests for getting it into shape so that it could be committed as part of Hadoop. The first successful commit of the HBase code was made by Doug Cutting on April 3, 2007, under the contrib subdirectory. Later, the first HBase “working” release was bundled as part of Hadoop 0.15.0 in October 2007. HBase became a top-level Apache project in 2010.

Apache Hbase Architecture

The Apache HBase consists of all the features of the original Google Bigtable paper such as in-memory operations, Bloom filters,  and compression. The components of this database can serve as the input as well as output for MapReduce jobs on the Hadoop ecosystem after MapReduce processes the data. The data can be accessed through the Java API or the REST API or even the Thrift and AVRO gateways.

HBase Tutorial - Apache HBase Architecture

HBase is a column-oriented key-value data store which works extremely fine with the data that Hadoop processes. It is comparatively fast when it comes to performing read/write operations and does not lower the quality even when the datasets are humongous. Therefore it is widely used by corporations for its high performance and low input/output latency. It is not the replacement for the SQL database, but it is better to have an SQL layer on top of HBase. So that it can be integrated with various business intelligence and analytics tools.

Components of HBase

Hmaster, HRegion, and Region are the main components of HBase.

Hmaster

Hmaster is a master server which is used for monitoring the all-region server in a cluster. It allocates the regions (table) to the region servers and also handles the load balancing across multiple region servers.

HRegion

HRegion Server is a slave server which is responsible for serving and managing regions. Each Region server has the responsibility to serve a set of regions.

Region

Region stores the subset of table data. If a table becomes too big, the table is partitioned into multiple Regions.

Why use HBase?

HBase supports large amounts of data by running on clusters. HBase was designed to access as well as store the data at the same time. The data is distributed across a cluster automatically. Sharding divides different data across multiple servers. Each server works as the source for a subset of data. Distributed data is accessed together, which makes the scaling process faster.

HBase can host very large tables for interactive and batch analytics. It is a great choice to store multi-structured or sparse data. Apache HBase can be used when there is a need for random, real-time read/write access for big data. It is natively integrated with Hadoop and can work seamlessly with other data access engines such as Apache Spark, Apache Hive, and MapR Database.

A table may contain billions of rows in any popular web application. If there is a need to search a particular row from such a huge amount of data, HBase is an ideal choice. Most of the online analytics applications prefer HBase. Many traditional data models could not meet the performance requirements of very big databases which could be overcome by Apache HBase.

How HBase Works?

HBase linearly scales the data by requiring all the tables to have a primary key. The key space is distributed into sequential blocks, which are then allotted to a region. RegionServers keep one or more regions, so the total load is divided uniformly across the cluster. Whenever the keys are accessed within a region, HBase can further divide the region automatically by splitting it again, so that manual data sharding is not necessary.



HMaster and ZooKeeper servers provide information about the cluster topology to the clients. Clients further connect to these and download a list of RegionServers. RegionServers consists of memstore to cache frequently accessed rows in memory.

Advantages of HBase

It is linearly and modularly scalable across various nodes. It provides seamless and quick scaling to meet additional requirements.
It contains completely distributed architecture and works on extremely large scale data.
It is highly secure and provides easy management of data.
It provides an unprecedented high write throughput.
It can be used for both structured and semi-structured data types.
HBase provides consistent read/write operations.
It is good to use when you don’t need full RDBMS capabilities.
It provides atomic read and write operation, which means during one read or write operation; all other processes are stopped from doing any read or write operations.
It supports Java API for client access.
Table sharding is easy to configure and automatize.
Client access is seamless with Java APIs.
It provides Thrift and REST API support for non-Java front ends which supports other encoding options such as XML, Protobuf and binary data encoding.
It is accessible to a Block Cache and Bloom Filters for real-time queries and high volume query optimization.
HBase gives automatic failure support between Region Servers.
It supports exporting metrics with the Hadoop metrics subsystem to files.
It doesn’t enforce a relationship within your data.
It supports storing and retrieving data with random access.
The MapReduce jobs can be backed up with HBase Tables.

Disadvantages of HBase

HBase does not support partial keys completely.
In HBase, It’s tough to store large size of binary files.
The storage of HBase provides limited real-time queries and sorting.
It allows only one default sort per table.
It has slow improvements in the security for the different users to access the data from Apache HBase.
Range lookup and Key lookup in terms of searching table contents using key values which limit queries that perform in real-time.
Default indexing is not present in HBase. Programmers have to define several lines of codes or scripts to perform indexing functionality in HBase.
It is expensive in terms of Hardware requirements and memory blocks allocations.
HBase would require a new design when we want to migrate data from RDBMS (Relational Database Management System) external sources to HBase servers, which will take a lot of time.

Difference between Hadoop/HDFS and HBase

HDFS HBase
It is a distributed file system which is well suited for storing large data files. It is a the database built on top of HDFS which provides fast record lookups (and updates) for large tablets.
It does not support fast individual record lookups. HBase provides fast lookups for larger tables.
It has a high latency batch processing support. HBase supports low latency access to single rows from billions of records randomly.
It provides only sequential access to data. HBase internally uses Hash tables and gives random access, and it stores the data in indexed HDFS files for faster lookups.


Apache HBase Installation

HBase can be installed on Ubuntu when Hadoop and Java are already installed.

The step by step guide for installing HBase in Standalone mode is given below:

Download HBase

Step 1
Download HBase using the link [1]:
Link: Click here
It will look like the given screenshot. Click on a mirror site [2] to download HBase.
HBase Tutorial -Download Apache HBase 1

Step 2
Select the version you want to download. Always prefer the downloading latest version
HBase Tutorial -Download Apache HBase 2

Step 3
Click on the hbase-x.x.x-bin.tar.gz and HBase will start downloading its tar file. Copy/Paste the tar file into an installation location.
HBase Tutorial -Download Apache HBase 3

Installation Process

Place hbase-x.x.x-bin.tar.gz in /home/hduser

Unzip it by executing the command:

$tar -xvf hbase-x.x.x-bin.tar.gz 
Scroll ⇀

It is used to unzip the contents. It will also create an hbase-x.x.x folder in the location /home/hduser. 

HBase Tutorial - Apache HBase Installation 1

Open file hbase-env.sh as below and mention JAVA_HOME path in the location.

HBase Tutorial - Apache HBase Installation 2

Replace the existing JAVA_HOME value with your current value as mentioned below:

export JAVA_HOME=/usr/lib/jvm/java-x.x.x
Scroll ⇀

Open file ~/.bashrc following the same way as mentioned above and update HBASE_HOME path as:

export HBASE_HOME=/home/hduser/hbase-x.x.x export PATH= $PATH:$HBASE_HOME/bin
Scroll ⇀

Open the hbase-site.xml file and update the following properties within the configuration:


<property>
<name>hbase.rootdir</name>
<value>file:///home/hduser/HBASE/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hduser/HBASE/zookeeper</value>
</property>
Scroll ⇀

Following this way, we have added two properties:
1. For HBase root directory
2. For Data directory correspond to ZooKeeper

All HBase and ZooKeeper activities directly refer to this hbase-site.xml file.

Now, run command Start-hbase.sh in hbase-x.x.x/bin location to start the HBase. To check if HMaster is running or not, we can use jps command.

HBase shell can be started by using “hbase shell” command, and it will enter into interactive shell mode where we can perform all types of commands. 

Summary

Hadoop deployment is extremely rising with each passing day, and HBase is the platform for working on top of the HDFS. Upon learning HBase, one can easily perform various operations, deploy Load Utility to load a file, integrate it with Hive, and learn about the HBase API and the HBase Shell.

Hence, in this Apache HBase Tutorial, we discussed a brief introduction of HBase. Moreover, we saw HBase architecture, components, advantages & disadvantages, and the need for HBase.

Referencehttps://hbase.apache.org/

Read Article

Python Tutorial: Learn Python from Scratch

Python Tutorial, Learn Python
This series of Python Tutorial will help you to learn Python. This tutorial includes all the basic and advanced concepts of Python. Our Python Tutorial is designed for beginners and professionals.

Our series of Python Tutorial includes all the important topics of Python Programming such as downloading and installation, control statements, Strings, Lists, Dictionaries, Modules, Exceptions, Date and Time, File I/O, Programs, etc. We have also included the most important Python Interview Questions to provide you a better understanding to learn Python.

What is Python?

Python is a popular general-purpose interpreted, dynamic, interactive, high-level, and object-oriented programming language. It was developed by Guido van Rossum, and released in 1991.


Python is known as a multipurpose programming language, and it is an ideal language for scripting and rapid app development.

It is used for:
Web Development (server-side)
Software Development
Mathematics
System Scripting

Why learn Python?

Python is an excellent platform for the students and working professionals to become a good Software Engineer, especially when they connected with the web development domain.

Some of the key advantages of learning Python can be defined as below:

Python can work on multiple platforms such as Windows, Mac, Linux, Raspberry Pi, etc.

Python is processed at the runtime by the interpreter. We are not required to compile the program before execution which is as similar as PERL and PHP. It also means that prototyping is very quick in Python.

Python has a simple syntax which is almost identical to the English language.



We can interact with the interpreter directly to write Python programs.

Python has a syntax that allows us to write a program in fewer lines as compared to some other programming languages.

Python provides an object-oriented mechanism of programming which encapsulates code within objects.

Python can also be treated procedurally or functionally.

Python is an excellent programming language for the beginners which provide support for the development of a wide variety of applications from simple text processing to WWW browsers to games.

Python Update from 2 to 3: Differences

The most updated version while preparing this tutorial is Python 3, which we shall be using throughout our tutorial. However, Python 2,  although not being updated with anything other than security updates and it is still quite popular.

Prerequisites

There is no special requirement to learn Python. You just need some basic knowledge of programming concepts. We have a well built and organized series of tutorials to help you in learning Python Programming from scratch.

In this tutorial of Python programming, we will be using a text editor to write our codes. It is an important point to note that you can also write Python in an IDE (Integrated Development Environment) such as Thonny, Pycharm, Netbeans or Eclipse, etc. These IDEs are particularly useful for managing larger collections of Python files.


Audience

Tutorials on TutorialsMate are designed to help beginners and professionals. Our Python Tutorial will help beginners to master Python.

Problem

Our tutorial is designed by professionals, and we assure you that you will not find any kind of problem. In case there is any mistake, we request you to submit the problem using the contact form or directly send us an mail at TutorialsMate.

Index

Python Tutorial Python Features
Python History Python Applications

next→



Read Article

CONNECT WITH US

  • Like on Facebook
  • Follow on Twitter
  • Connect on LinkedIn
  • Subscribe on YouTube
  • Follow on Instagram
  • Follow on Pinterest
© 2025 TutorialsMate. Designed by TutorialsMate