SlideShare a Scribd company logo
1 of 35
Download to read offline
MySQL & BIOINFORMATICS
ARINDAM GHOSH
ag1805xag1805x
Evolution in
Molecular Biology
& the need for
databases
During the 20th century with the
advancement in molecular biology
techniques like sequencing and the
introduction of Human Genome Project, a
vast amount of biological data were being
generated. Keeping a track of these data,
storage and working with them was difficult
manually. Thus came the use of computers.
Databases were created to store these
biological data. An efficient DBMS was
required for this purpose and this is where
MySQL comes into picture.
● A database is a collection of
information that is organized so
that it can easily be accessed,
managed, and updated.
● A database management system
(DBMS) is a computer software
application that interacts with the
user, other applications, and the
database itself to capture and
analyze data. A general-purpose
DBMS is designed to allow the
definition, creation, querying,
update, and administration of
databases.
● Open-source relational database management
system (RDBMS)
● Original authors: MySQL AB (Sweden)
● Developer(s): ORACLE CORPORATIONS
● Initial release: 23 May 1995
● Written in: C, C++
● World's second most widely used RDBMS &
most widely used open-source client–server
RDBMS(July 2013)
SQL
● SQL = Structured Query Language
● Is a special-purpose programming
language designed for managing data
held in a relational database management
system (RDBMS), or for stream
processing in a relational data stream
management system (RDSMS).
● Represents the
interface for all
the users of the
system
● Provides the
means by which
the outside world
can interact with
the database
server
● Core functionality
of the RDBMS is
represented in
this layer
● Responsible for
Query
Processing,
Transaction
Management,
Recovery
Management,
Storage
Management etc
● Responsible for the
storage of a variety
of information (Data
files, Log
Information), which
is kept in secondary
storage and
accessed via the
storage manager
Architecture
Application Layer
● MySQL application layer is where the clients
and users interact with the MySQL RDBMS
● There are three components in this layer
● These components illustrate the different
kinds of users that can interact with the
MySQL RDBMS, which are the
administrators, clients and query users.
● Administrators use the administrative
interface and utilities
● Some of MySQL utilities are-
● mysqladmin - performs tasks like shutting
down the server and creating or
dropping databases
● isamchk & myisamchk - help to perform
table analysis and optimization as well
as crash recovery if the tables become
damaged
● mysqldump for backing up the database
or copying databases to another server.
● Clients communicate to the MySQL
RDBMS through the client interface or
utilities.
● The client interface uses MySQL APIs for
various different programming languages
such as the C API, DBI API for Perl, PHP
API, Java API, Python API, MySQL C++
API and Tcl.
● Query users interact with the MySQL
RDBMS through a query interface that is
mysql.
● Query users interact with the MySQL
RDBMS through a query interface that is
mysql. mysql is a monitor (interactive
program) that allows the query users to
issue SQL statements to the server and
view the results.
Logical Layer
● Core functionality of the
RDBMS is represented here
● Can be further sub-divided
into 4 subsystems:
● Query Processor
● Transaction
Management
● Recovery Management
● Storage Management
Query Processor
● The vast majority of interactions in the system occur when
a user wishes to view or manipulate the underlying data in
storage. These queries, which are specified using a data-
manipulation language (ie SQL), are parsed and optimized
by a query processor.
● Embedded DML Precompiler: When a
request is received from a client in the
application layer, it is the responsibility of
the embedded DML (Data Manipulation
Language) precompiler to extract the
relevant SQL statements embedded in the
client API commands, or to translate the
client commands into the corresponding
SQL statements.
● DDL Compiler: Requests to access the
MySQL databases received from an
administrator are processed by the DDL
(Data Definition Language) compiler. The
DDL compiler compiles the commands
(which are SQL statements) to interact
directly with the database. The
administrator and administrative utilities do
not expose an interface, and hence
execute directly to the MySQL server.
● Query Parser: After the relevant SQL
query statements are obtained from
deciphering the client request or the
administrative request, the next step
involves parsing the MySQL query. In this
stage, the objective of the query parser is
to create a parse tree structure based on
the query so that it can be easily
understood by the other components later
in the pipeline.
● Query Preprocessor: The query parse
tree, as obtained from the query parser, is
then used by the query preprocessor to
check the SQL syntax and check the
semantics of the MySQL query to
determine if the query is valid. If it is a
valid query, then the query progresses
down the pipeline. If not, then the query
does not proceed and the client is notified
of the query processing error.
● Security/Integration Manager: Once the MySQL
query is deemed to be valid, the MySQL server
needs to check the access control list for the
client. This is the role of the security integration
manager which checks to see if the client has
access to connecting to that particular MySQL
database and whether he/she has table and
record privileges. In this case, this prevents
malicious users from accessing particular tables
and records in the database and causing havoc in
the process.
● Query Optimizer: After determining that the client has the
proper permissions to access the specific table in the
database, the query is then subjected to optimization. The
task of the MySQL query optimizer is to analyze the
processed query to see if it can take advantage of any
optimizations that will allow it to process the query more
quickly. MySQL query optimizer uses indexes whenever
possible and uses the most restrictive index in order to first
eliminate as many rows as possible as soon as possible.
Queries can be processed more quickly if the most
restrictive test can be done first. MySQL uses the query
optimizer for executing SQL queries as fast as possible. As
a result, this is the reason why the performance of MySQL
is fast compared to other RDBMS's.
● Execution Engine: Once the MySQL query
optimizer has optimized the MySQL query,
the query can then be executed against
the database. This is performed by the
query execution engine, which then
proceeds to execute the SQL statements
and access the physical layer of the
MySQL database.
Transaction Management
● A transaction is a
single unit of work
that has one or
more MySQL
commands in it.
● Transaction Manager: The transaction manager is
responsible for making sure that the transaction is
logged and executed atomically. It does so through the
aid of the log manager and the concurrency-control
manager. Moreover, the transaction manager is also
responsible for resolving any deadlock situations that
occur. This situation can occur when two transactions
cannot continue because they each have some data
that the other needs to proceed. Furthermore, the
transaction manager is responsible for issuing the
COMMIT and the ROLLBACK SQL commands.
● Concurrency- Control Manager: The concurrency-
control manager is responsible for making sure that
transactions are executed separately and
independently. It does so by acquiring locks, from the
locking table that is stored in memory, on appropriate
pieces of data in the database from the resource
manager. Once the lock is acquired, only the
operations in one transaction can manipulate the data.
If a different transaction tries to manipulate the same
locked data, the concurrency-control manager rejects
the request until the first transaction is complete.
Recovery Management
● Is responsible for
the recovery of
data in case of
execution failure.
● Log Manager: The log manager is responsible
for logging e very operation executed in the
database. It does so by storing the log on disk
through the buffer manager. The operations in
the log are stored as MySQL commands. Thus,
in the case of a system crash, executing every
command in the log will bring back the database
to its last stable state.
● Recovery Manager: The recovery manager is
responsible for restoring the database to its last
stable state. It does so by using the log for the
database, which is acquired from the buffer
manager, and executing each operation in the
log. Since the log manager logs all operations
performed on the database (from the beginning
of the database’s life), executing each command
in the log file would recover the database to its
last stable state.
Storage Management
● Storage is physically done on
some type of secondary
storage, however dynamic
access of this medium is not
practical. Thus, all work is
done through a number of
buffers. The buffers reside in
main and virtual memory and
are managed by a Buffer
Manager. This manager
works in conjunction with two
other manager entities
related to storage: the
Resource Manager and the
Storage Manager.
● Storage Manager: At the lowest level exists the
Storage Manager. The role of the Storage Manager
is to mediate requests between the Buffer Manager
and secondary storage. The Storage Manager
makes requests through the underlying disk
controller (and sometimes the operating system) to
retrieve data from the physical disk and reports
them back to the Buffer Manager.
● Buffer Manager: The role of the Buffer
Manager is to allocate memory resources
for the use of viewing and manipulating
data. The Buffer Manager takes in
formatted requests and decides how much
memory to allocate per buffer and how
many buffers to allocate per request. All
requests are made from the Resource
Manager.
● Resource Manager: The purpose of the
Resource Manager is to accept requests
from the execution engine, put them into
table requests, and request the tables
from the Buffer Manager. The Resource
Manager receives references to data
within memory from the Buffer Manager
and returns this data to the upper layers.
Benefits of MySQL
● It's easy to use: While a basic knowledge of SQL is
required—and most relational databases require the same
knowledge—MySQL is very easy to use. With only a few
simple SQL statements, one can build and interact with
MySQL.
● It's secure: MySQL includes solid data security layers that
protect sensitive data from intruders. Rights can be set to
allow some or all privileges to individuals. Passwords are
encrypted.
● It's inexpensive: It is an open-source software.
● It manages memory very well: MySQL server has been
thoroughly tested to prevent memory leaks.
● It's fast: In the interest of speed, MySQL designers made the
decision to offer fewer features than other major database
competitors, such as Sybase* and Oracle*. However, despite
having fewer features than the other commercial database
products, MySQL still offers all of the features required by
most database developers.
● It's scalable: MySQL can handle almost any amount of data,
up to as much as 50 million rows or more. The default file size
limit is about 4 GB. However, you can increase this number to
a theoretical limit of 8 TB of data.
● It runs on many operating systems: MySQL runs on many
operating systems, including Novell NetWare, Windows*
Linux*, many varieties of UNIX* (such as Sun* Solaris*, AIX,
and DEC* UNIX), OS/2, FreeBSD*, and others.
● It supports several development interfaces: Development
interfaces include JDBC, ODBC, and scripting (PHP and
Perl), letting you create database solutions that run not only in
your NetWare 6.5 environment, but across all major platforms,
including Linux, UNIX, and Windows
References
● Ryan Bannon, Alvin Chin, Faryaaz Kassam, Andrew Roszko.
“MySQL Conceptual Architecture”
● Novell:
https://www.novell.com/documentation/nw65/web_mysql_nw/
data/aj5bj52.html
THANK YOU
ag1805xag1805x

More Related Content

What's hot

What's hot (20)

Protein databases
Protein databasesProtein databases
Protein databases
 
Sequence file formats
Sequence file formatsSequence file formats
Sequence file formats
 
Protein Data Bank (PDB)
Protein Data Bank (PDB)Protein Data Bank (PDB)
Protein Data Bank (PDB)
 
Structure alignment methods
Structure alignment methodsStructure alignment methods
Structure alignment methods
 
Database Searching
Database SearchingDatabase Searching
Database Searching
 
Genome Database Systems
Genome Database Systems Genome Database Systems
Genome Database Systems
 
Ion torrent and SOLiD Sequencing Techniques
Ion torrent and SOLiD Sequencing Techniques Ion torrent and SOLiD Sequencing Techniques
Ion torrent and SOLiD Sequencing Techniques
 
Entrez databases
Entrez databasesEntrez databases
Entrez databases
 
Primary and secondary database
Primary and secondary databasePrimary and secondary database
Primary and secondary database
 
Protein data bank
Protein data bankProtein data bank
Protein data bank
 
Automated DNA sequencing ; Protein sequencing
Automated DNA sequencing ; Protein sequencingAutomated DNA sequencing ; Protein sequencing
Automated DNA sequencing ; Protein sequencing
 
Cath
CathCath
Cath
 
Structural bioinformatics.
Structural bioinformatics.Structural bioinformatics.
Structural bioinformatics.
 
Introduction to databases.pptx
Introduction to databases.pptxIntroduction to databases.pptx
Introduction to databases.pptx
 
Dna binding protein(motif)
Dna binding protein(motif)Dna binding protein(motif)
Dna binding protein(motif)
 
Bacteriophage vector
Bacteriophage vectorBacteriophage vector
Bacteriophage vector
 
Ab Initio Protein Structure Prediction
Ab Initio Protein Structure PredictionAb Initio Protein Structure Prediction
Ab Initio Protein Structure Prediction
 
Restriction enzymes by devendra kumar
Restriction enzymes by devendra kumarRestriction enzymes by devendra kumar
Restriction enzymes by devendra kumar
 
ENTREZ.ppt
ENTREZ.pptENTREZ.ppt
ENTREZ.ppt
 
Nucleic acid and protein databanks
Nucleic acid and protein databanksNucleic acid and protein databanks
Nucleic acid and protein databanks
 

Viewers also liked

Lecture 02 architecture of dbms
Lecture 02 architecture of dbmsLecture 02 architecture of dbms
Lecture 02 architecture of dbms
rupalidhir
 
Comandos
ComandosComandos
Comandos
1 2d
 
Introduction To Computer 1
Introduction To Computer  1Introduction To Computer  1
Introduction To Computer 1
Amit Chandra
 
The Ottoman Empire
The Ottoman EmpireThe Ottoman Empire
The Ottoman Empire
rhalter
 
3. Relational Models in DBMS
3. Relational Models in DBMS3. Relational Models in DBMS
3. Relational Models in DBMS
koolkampus
 
2. Entity Relationship Model in DBMS
2. Entity Relationship Model in DBMS2. Entity Relationship Model in DBMS
2. Entity Relationship Model in DBMS
koolkampus
 

Viewers also liked (19)

Lecture 02 architecture of dbms
Lecture 02 architecture of dbmsLecture 02 architecture of dbms
Lecture 02 architecture of dbms
 
Gestor de proyectos docent tic final16
Gestor de proyectos docent tic final16Gestor de proyectos docent tic final16
Gestor de proyectos docent tic final16
 
Dbms chapter ii
Dbms chapter iiDbms chapter ii
Dbms chapter ii
 
Comandos
ComandosComandos
Comandos
 
Introduction To Computer 1
Introduction To Computer  1Introduction To Computer  1
Introduction To Computer 1
 
Benefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsBenefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSs
 
Chapter 3 Entity Relationship Model
Chapter 3 Entity Relationship ModelChapter 3 Entity Relationship Model
Chapter 3 Entity Relationship Model
 
A N S I S P A R C Architecture
A N S I  S P A R C  ArchitectureA N S I  S P A R C  Architecture
A N S I S P A R C Architecture
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
 
Introduction to RDBMS
Introduction to RDBMSIntroduction to RDBMS
Introduction to RDBMS
 
Relational database management system (rdbms) i
Relational database management system (rdbms) iRelational database management system (rdbms) i
Relational database management system (rdbms) i
 
RDBMS.ppt
RDBMS.pptRDBMS.ppt
RDBMS.ppt
 
The Ottoman Empire
The Ottoman EmpireThe Ottoman Empire
The Ottoman Empire
 
Rdbms
RdbmsRdbms
Rdbms
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
 
3. Relational Models in DBMS
3. Relational Models in DBMS3. Relational Models in DBMS
3. Relational Models in DBMS
 
Database : Relational Data Model
Database : Relational Data ModelDatabase : Relational Data Model
Database : Relational Data Model
 
2. Entity Relationship Model in DBMS
2. Entity Relationship Model in DBMS2. Entity Relationship Model in DBMS
2. Entity Relationship Model in DBMS
 
Relational Database Management System
Relational Database Management SystemRelational Database Management System
Relational Database Management System
 

Similar to MySQL and bioinformatics

Geek Sync | Top Metrics to Monitor in Your MySQL Databases
Geek Sync | Top Metrics to Monitor in Your MySQL DatabasesGeek Sync | Top Metrics to Monitor in Your MySQL Databases
Geek Sync | Top Metrics to Monitor in Your MySQL Databases
IDERA Software
 

Similar to MySQL and bioinformatics (20)

MySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsMySQL Atchitecture and Concepts
MySQL Atchitecture and Concepts
 
UNIT 1-INtroduction_to_Database_Systems.pptx
UNIT 1-INtroduction_to_Database_Systems.pptxUNIT 1-INtroduction_to_Database_Systems.pptx
UNIT 1-INtroduction_to_Database_Systems.pptx
 
Ms sql server
Ms sql serverMs sql server
Ms sql server
 
Database System Architecture
Database System ArchitectureDatabase System Architecture
Database System Architecture
 
ARCHITECTURE.pptx
ARCHITECTURE.pptxARCHITECTURE.pptx
ARCHITECTURE.pptx
 
Beginning Of DBMS (data base)
Beginning Of DBMS (data base)Beginning Of DBMS (data base)
Beginning Of DBMS (data base)
 
Introduction to DBMS.pptx
Introduction to DBMS.pptxIntroduction to DBMS.pptx
Introduction to DBMS.pptx
 
01-database-management.pptx
01-database-management.pptx01-database-management.pptx
01-database-management.pptx
 
Database Management System - 2a
Database Management System - 2aDatabase Management System - 2a
Database Management System - 2a
 
Structure of dbms
Structure of dbmsStructure of dbms
Structure of dbms
 
Geek Sync | Top Metrics to Monitor in Your MySQL Databases
Geek Sync | Top Metrics to Monitor in Your MySQL DatabasesGeek Sync | Top Metrics to Monitor in Your MySQL Databases
Geek Sync | Top Metrics to Monitor in Your MySQL Databases
 
Database Management System Course Material
Database Management System Course MaterialDatabase Management System Course Material
Database Management System Course Material
 
Shadow paging
Shadow pagingShadow paging
Shadow paging
 
Introduction to DBMS.pptx
Introduction to DBMS.pptxIntroduction to DBMS.pptx
Introduction to DBMS.pptx
 
Database management systems components
Database management systems componentsDatabase management systems components
Database management systems components
 
U nit 1_dbms
U nit 1_dbmsU nit 1_dbms
U nit 1_dbms
 
Transaction Management
Transaction ManagementTransaction Management
Transaction Management
 
CC105-REVIEWER-WEEK2-4.docx
CC105-REVIEWER-WEEK2-4.docxCC105-REVIEWER-WEEK2-4.docx
CC105-REVIEWER-WEEK2-4.docx
 
Data base chapter 2 | detail about the topic
Data base chapter 2 | detail about the topicData base chapter 2 | detail about the topic
Data base chapter 2 | detail about the topic
 
CST204 DBMSMODULE1 PPT (1).pptx
CST204 DBMSMODULE1 PPT (1).pptxCST204 DBMSMODULE1 PPT (1).pptx
CST204 DBMSMODULE1 PPT (1).pptx
 

More from Arindam Ghosh

More from Arindam Ghosh (18)

Network embedding in biomedical data science
Network embedding in biomedical data scienceNetwork embedding in biomedical data science
Network embedding in biomedical data science
 
Next Generation Sequencing
Next Generation SequencingNext Generation Sequencing
Next Generation Sequencing
 
Sequence alignment
Sequence alignmentSequence alignment
Sequence alignment
 
Pharmacogenomics & its ethical issues
Pharmacogenomics & its ethical  issuesPharmacogenomics & its ethical  issues
Pharmacogenomics & its ethical issues
 
Limb development in vertebrates
Limb development in vertebratesLimb development in vertebrates
Limb development in vertebrates
 
Canning fish
Canning fishCanning fish
Canning fish
 
Polymerase Chain Reaction (PCR)
Polymerase Chain Reaction (PCR)Polymerase Chain Reaction (PCR)
Polymerase Chain Reaction (PCR)
 
Carbon Nanotubes
Carbon NanotubesCarbon Nanotubes
Carbon Nanotubes
 
Monte Carlo Simulations & Membrane Simulation and Dynamics
Monte Carlo Simulations & Membrane Simulation and DynamicsMonte Carlo Simulations & Membrane Simulation and Dynamics
Monte Carlo Simulations & Membrane Simulation and Dynamics
 
Java - Interfaces & Packages
Java - Interfaces & PackagesJava - Interfaces & Packages
Java - Interfaces & Packages
 
Freshers day anchoring script
Freshers day anchoring scriptFreshers day anchoring script
Freshers day anchoring script
 
Artificial Vectors
Artificial VectorsArtificial Vectors
Artificial Vectors
 
Pseudo code
Pseudo codePseudo code
Pseudo code
 
Hamiltonian path
Hamiltonian pathHamiltonian path
Hamiltonian path
 
Cedrus of Himachal Pradesh
Cedrus of Himachal PradeshCedrus of Himachal Pradesh
Cedrus of Himachal Pradesh
 
Protein sorting in mitochondria
Protein sorting in mitochondriaProtein sorting in mitochondria
Protein sorting in mitochondria
 
Survey of softwares for phylogenetic analysis
Survey of softwares for phylogenetic analysisSurvey of softwares for phylogenetic analysis
Survey of softwares for phylogenetic analysis
 
Publicly available tools and open resources in Bioinformatics
Publicly available  tools and open resources in BioinformaticsPublicly available  tools and open resources in Bioinformatics
Publicly available tools and open resources in Bioinformatics
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 

MySQL and bioinformatics

  • 1. MySQL & BIOINFORMATICS ARINDAM GHOSH ag1805xag1805x
  • 2. Evolution in Molecular Biology & the need for databases
  • 3. During the 20th century with the advancement in molecular biology techniques like sequencing and the introduction of Human Genome Project, a vast amount of biological data were being generated. Keeping a track of these data, storage and working with them was difficult manually. Thus came the use of computers. Databases were created to store these biological data. An efficient DBMS was required for this purpose and this is where MySQL comes into picture.
  • 4. ● A database is a collection of information that is organized so that it can easily be accessed, managed, and updated. ● A database management system (DBMS) is a computer software application that interacts with the user, other applications, and the database itself to capture and analyze data. A general-purpose DBMS is designed to allow the definition, creation, querying, update, and administration of databases.
  • 5. ● Open-source relational database management system (RDBMS) ● Original authors: MySQL AB (Sweden) ● Developer(s): ORACLE CORPORATIONS ● Initial release: 23 May 1995 ● Written in: C, C++ ● World's second most widely used RDBMS & most widely used open-source client–server RDBMS(July 2013)
  • 6. SQL ● SQL = Structured Query Language ● Is a special-purpose programming language designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS).
  • 7. ● Represents the interface for all the users of the system ● Provides the means by which the outside world can interact with the database server ● Core functionality of the RDBMS is represented in this layer ● Responsible for Query Processing, Transaction Management, Recovery Management, Storage Management etc ● Responsible for the storage of a variety of information (Data files, Log Information), which is kept in secondary storage and accessed via the storage manager
  • 9. Application Layer ● MySQL application layer is where the clients and users interact with the MySQL RDBMS ● There are three components in this layer ● These components illustrate the different kinds of users that can interact with the MySQL RDBMS, which are the administrators, clients and query users.
  • 10. ● Administrators use the administrative interface and utilities ● Some of MySQL utilities are- ● mysqladmin - performs tasks like shutting down the server and creating or dropping databases ● isamchk & myisamchk - help to perform table analysis and optimization as well as crash recovery if the tables become damaged ● mysqldump for backing up the database or copying databases to another server.
  • 11. ● Clients communicate to the MySQL RDBMS through the client interface or utilities. ● The client interface uses MySQL APIs for various different programming languages such as the C API, DBI API for Perl, PHP API, Java API, Python API, MySQL C++ API and Tcl.
  • 12. ● Query users interact with the MySQL RDBMS through a query interface that is mysql. ● Query users interact with the MySQL RDBMS through a query interface that is mysql. mysql is a monitor (interactive program) that allows the query users to issue SQL statements to the server and view the results.
  • 13. Logical Layer ● Core functionality of the RDBMS is represented here ● Can be further sub-divided into 4 subsystems: ● Query Processor ● Transaction Management ● Recovery Management ● Storage Management
  • 14. Query Processor ● The vast majority of interactions in the system occur when a user wishes to view or manipulate the underlying data in storage. These queries, which are specified using a data- manipulation language (ie SQL), are parsed and optimized by a query processor.
  • 15. ● Embedded DML Precompiler: When a request is received from a client in the application layer, it is the responsibility of the embedded DML (Data Manipulation Language) precompiler to extract the relevant SQL statements embedded in the client API commands, or to translate the client commands into the corresponding SQL statements.
  • 16. ● DDL Compiler: Requests to access the MySQL databases received from an administrator are processed by the DDL (Data Definition Language) compiler. The DDL compiler compiles the commands (which are SQL statements) to interact directly with the database. The administrator and administrative utilities do not expose an interface, and hence execute directly to the MySQL server.
  • 17. ● Query Parser: After the relevant SQL query statements are obtained from deciphering the client request or the administrative request, the next step involves parsing the MySQL query. In this stage, the objective of the query parser is to create a parse tree structure based on the query so that it can be easily understood by the other components later in the pipeline.
  • 18. ● Query Preprocessor: The query parse tree, as obtained from the query parser, is then used by the query preprocessor to check the SQL syntax and check the semantics of the MySQL query to determine if the query is valid. If it is a valid query, then the query progresses down the pipeline. If not, then the query does not proceed and the client is notified of the query processing error.
  • 19. ● Security/Integration Manager: Once the MySQL query is deemed to be valid, the MySQL server needs to check the access control list for the client. This is the role of the security integration manager which checks to see if the client has access to connecting to that particular MySQL database and whether he/she has table and record privileges. In this case, this prevents malicious users from accessing particular tables and records in the database and causing havoc in the process.
  • 20. ● Query Optimizer: After determining that the client has the proper permissions to access the specific table in the database, the query is then subjected to optimization. The task of the MySQL query optimizer is to analyze the processed query to see if it can take advantage of any optimizations that will allow it to process the query more quickly. MySQL query optimizer uses indexes whenever possible and uses the most restrictive index in order to first eliminate as many rows as possible as soon as possible. Queries can be processed more quickly if the most restrictive test can be done first. MySQL uses the query optimizer for executing SQL queries as fast as possible. As a result, this is the reason why the performance of MySQL is fast compared to other RDBMS's.
  • 21. ● Execution Engine: Once the MySQL query optimizer has optimized the MySQL query, the query can then be executed against the database. This is performed by the query execution engine, which then proceeds to execute the SQL statements and access the physical layer of the MySQL database.
  • 22. Transaction Management ● A transaction is a single unit of work that has one or more MySQL commands in it.
  • 23. ● Transaction Manager: The transaction manager is responsible for making sure that the transaction is logged and executed atomically. It does so through the aid of the log manager and the concurrency-control manager. Moreover, the transaction manager is also responsible for resolving any deadlock situations that occur. This situation can occur when two transactions cannot continue because they each have some data that the other needs to proceed. Furthermore, the transaction manager is responsible for issuing the COMMIT and the ROLLBACK SQL commands.
  • 24. ● Concurrency- Control Manager: The concurrency- control manager is responsible for making sure that transactions are executed separately and independently. It does so by acquiring locks, from the locking table that is stored in memory, on appropriate pieces of data in the database from the resource manager. Once the lock is acquired, only the operations in one transaction can manipulate the data. If a different transaction tries to manipulate the same locked data, the concurrency-control manager rejects the request until the first transaction is complete.
  • 25. Recovery Management ● Is responsible for the recovery of data in case of execution failure.
  • 26. ● Log Manager: The log manager is responsible for logging e very operation executed in the database. It does so by storing the log on disk through the buffer manager. The operations in the log are stored as MySQL commands. Thus, in the case of a system crash, executing every command in the log will bring back the database to its last stable state.
  • 27. ● Recovery Manager: The recovery manager is responsible for restoring the database to its last stable state. It does so by using the log for the database, which is acquired from the buffer manager, and executing each operation in the log. Since the log manager logs all operations performed on the database (from the beginning of the database’s life), executing each command in the log file would recover the database to its last stable state.
  • 28. Storage Management ● Storage is physically done on some type of secondary storage, however dynamic access of this medium is not practical. Thus, all work is done through a number of buffers. The buffers reside in main and virtual memory and are managed by a Buffer Manager. This manager works in conjunction with two other manager entities related to storage: the Resource Manager and the Storage Manager.
  • 29. ● Storage Manager: At the lowest level exists the Storage Manager. The role of the Storage Manager is to mediate requests between the Buffer Manager and secondary storage. The Storage Manager makes requests through the underlying disk controller (and sometimes the operating system) to retrieve data from the physical disk and reports them back to the Buffer Manager.
  • 30. ● Buffer Manager: The role of the Buffer Manager is to allocate memory resources for the use of viewing and manipulating data. The Buffer Manager takes in formatted requests and decides how much memory to allocate per buffer and how many buffers to allocate per request. All requests are made from the Resource Manager.
  • 31. ● Resource Manager: The purpose of the Resource Manager is to accept requests from the execution engine, put them into table requests, and request the tables from the Buffer Manager. The Resource Manager receives references to data within memory from the Buffer Manager and returns this data to the upper layers.
  • 32. Benefits of MySQL ● It's easy to use: While a basic knowledge of SQL is required—and most relational databases require the same knowledge—MySQL is very easy to use. With only a few simple SQL statements, one can build and interact with MySQL. ● It's secure: MySQL includes solid data security layers that protect sensitive data from intruders. Rights can be set to allow some or all privileges to individuals. Passwords are encrypted. ● It's inexpensive: It is an open-source software. ● It manages memory very well: MySQL server has been thoroughly tested to prevent memory leaks.
  • 33. ● It's fast: In the interest of speed, MySQL designers made the decision to offer fewer features than other major database competitors, such as Sybase* and Oracle*. However, despite having fewer features than the other commercial database products, MySQL still offers all of the features required by most database developers. ● It's scalable: MySQL can handle almost any amount of data, up to as much as 50 million rows or more. The default file size limit is about 4 GB. However, you can increase this number to a theoretical limit of 8 TB of data. ● It runs on many operating systems: MySQL runs on many operating systems, including Novell NetWare, Windows* Linux*, many varieties of UNIX* (such as Sun* Solaris*, AIX, and DEC* UNIX), OS/2, FreeBSD*, and others. ● It supports several development interfaces: Development interfaces include JDBC, ODBC, and scripting (PHP and Perl), letting you create database solutions that run not only in your NetWare 6.5 environment, but across all major platforms, including Linux, UNIX, and Windows
  • 34. References ● Ryan Bannon, Alvin Chin, Faryaaz Kassam, Andrew Roszko. “MySQL Conceptual Architecture” ● Novell: https://www.novell.com/documentation/nw65/web_mysql_nw/ data/aj5bj52.html