You are on page 1of 43

Introducing

Relational
Database
Products
Lecture 2
Deployment Topologies for DB

Distributed Architecture Clustered Databases

Database Usage Patterns


Agenda
Relational database timeline

Introduction to Relational DB Offerings


1. Introduction to Database Architectures:
•Three common topologies are:
Deployment ▪1-Tier
Topologies: ▪2-Tier
▪3-Tier
Single-Tier Architecture:
• In a single-tier architecture, the database is
installed on a user's local desktop.
• Suitable for:
• small databases with limited user access
• often used for development, testing, or
embedded in a local application.
2-Tier Architecture (Client-Server Topology):

Larger databases that multiple users The database is on a remote server, The architecture is also known as 2-
must access are deployed in a client- and users access it from client Tier, with separate tiers for the
server architecture. systems. database server and the application.
Layers in 2-Tier Architecture:
The database server has multiple layers, including Data Access, Database Engine,
and Database Storage.

Data Access layer provides interfaces (APIs) for different client types.

The Database Engine compiles queries, processes data, and manages retrieval.

The Database Storage layer (persistence layer) stores the data, either locally or on
network storage.
2-tier
Architecture
3-Tier Architecture:

In 3-Tier architecture, a middle tier (application server) is introduced between


the client application and the database server.

The presentation layer (user interface) and business logic layer reside in
different tiers.

Users interact with the presentation layer such as mobile app., which
communicates with the application server, and then the application server
communicates with the database server.
3-tier DB
Architecture
Cloud Deployments:

Cloud deployments involve hosting the database in a cloud environment.

Advantages include not having to download or install database software, no


infrastructure maintenance, and easy access for users with an internet
connection.

Cloud deployments are flexible and can be used for development, testing, and
production environments.
Summary of DB Architecture:
Databases are deployed in different topologies based on processing and
access requirements.
Single-tier topology is for small databases on a local desktop with single-user
access.
2-tier topology involves a remote server accessed by client systems.

3-tier topology introduces an application server between the client and


database server.
In cloud deployments the database resides in the cloud, and users access it
through an application server layer or cloud interface.
2. Introduction to Distributed Architectures:
Database architectures, essential for critical or large-scale workloads that
demand high availability and scalability.

Mission Critical / Large Scale workloads

High availability / High Scalability requirements

Databases distributed on a cluster of servers


Types of Distributed Architectures:

Shared disk Shared nothing


architecture (Share architecture, utilizing
common storage) techniques like:
•Replication
•Partitioning
Shared Disk Architecture:

Each server is connected to


Multiple database servers shared storage and each other
process workloads in parallel. using high-speed
interconnects.

In case of server failure,


Workload distribution allows clients can be rerouted to
for scalability. other servers in the database
cluster for high availability.
Share Disk
Architecture
diagram
Database Replication:

Changes on a database server are replicated to one or more database replicas.

Client workload is distributed across servers for improved performance.

High Availability (HA) replicas within the same location can be used in case of
primary server failure.

Geographically distributed replicas serve as disaster recovery in the event of site-


wide disasters.
Replication Scenario 1
Replication Scenario 2
Replication Scenario 3:
Geographically different
Partitioning and Sharding:
Partitioning involves splitting large tables into multiple logical partitions, e.g., by
quarters.

Sharding places these partitions on separate nodes in a cluster, with each shard
having its compute resources.

Queries are processed in parallel on multiple nodes or shards, with results


synthesized and returned to the client.

Additional shards and nodes can be added for increased parallel processing and
improved performance as data or query workloads increase.
Partitioning and Sharding
Use Cases for Partitioning
and Sharding:

More common for data warehousing and business intelligence workloads with large
data volumes.
Shared disk architecture enables parallel processing
for faster workload processing.

Database replication ensures changes are replicated


Summary of to one or more replicas, providing high availability
Distributed and disaster recovery.

Architecture: Partitioning involves splitting large tables into logical


partitions

Sharding distributes these partitions across nodes


(has its own compute resources) for parallel
processing and improved performance.
3. Database
Usage Patterns
Database User Classes: Key user roles
Data Engineers and Database Administrators (DBAs):
• Access databases for administrative tasks like creating and managing objects, access controls,
monitoring, and performance tuning.
DS TOOLS: BI TOOLS:
• Jupyter • Excel
• R Studio • Cognos
• Zepplin • PowerBI
• SAS • Tableau
• SPSS • MicroStrategy

SQL Query Tools

Data Scientists and • Access existing databases for analyzing data, deriving insights, and
making data-driven predictions.
Business Analysts:
Create applications with both
Application Developers: read and write access to
databases.
Access Mechanisms:

• Graphical and web interfaces make visual interaction with the database easy.
• Command line tools and scripts, though powerful, may be cumbersome for
some users but are valuable for experienced Data Engineers in automating
tasks.
• APIs and ORMs help application developers create applications that interact
with databases on behalf of users or client applications.
Major Database Applications:

• Database management tools like phpMyAdmin or pgAdmin.


• Data Science and Business Intelligence tools (e.g., Excel, IBM Cognos,
MicroStrategy) for data analysis and targeted reporting.
• Purpose-built or off-the-shelf business applications for specific tasks like e-
commerce and supply chain.
Summary for DB Usage patterns:
• The choice of accessing the database depends on the specific needs of the user, whether it
be through graphical interfaces, command line tools, or APIs and ORMs.
• Major categories of database applications include:
• Database Management tools
• Data Science and BI tools
• Business and Industry Applications
5. Intro to Relational DB Offerings,
Market, History, and Trends
History of Relational Databases:

• The IBM Sabre Seat Reservation System in the 1960s was an early example of a
recognizable relational database.
• Edgar F. Codd defined 12 rules for relational databases in the early 70s.
• Ingres and System R were notable in the late 70s.
• IBM's Db2 became a flagship product in the 1980s, and SQL became the
standard query language.
• The late 1980s saw the design of a distributed relational database
architecture.
Database Evolution in the 1990s and 2000s:

• Client tools for application development (Oracle Developer, PowerBuilder, VB)


and personal productivity tools (ODBC, Excel, Access) gained popularity.
• Exponential growth in the late 1990s, with commercial databases like Oracle,
SQL Server, and Db2 dominating.
• Open source databases (MySQL, PostgreSQL) gained traction in the 2000s,
challenging commercial databases.
Popularity Trends:

• The 2010s witnessed the rise of cloud databases with Amazon RDS, IBM Db2
on Cloud, Microsoft SQL Azure, and Oracle Cloud being major players.
• Commercial databases from large corporations (Oracle, SQL Server, Db2)
remained popular.
• Open-source databases, including MySQL, PostgreSQL, and SQLite, surged in
popularity in the late 2000s.
Commercial
relational
databases
Open-source
relational
databases
DB Engines Top-10 Rankings (February 2021):

Oracle MySQL SQL Server

PostgreSQL Db2 SQLite

Access MariaDB Hive

Azure SQL
Database.
Shift in Licensing
Trends:

• Over the past decade, there has been a


significant shift in the popularity of
commercial versus open-source
licensing.
• Open-source databases now account
for approximately 50.1% of the market,
up from 35.5% in 2013.
Cloud Databases:

• Cloud databases are accessed through cloud


platforms, providing flexibility and scalability.
• The popularity of cloud databases has more than
doubled over the past decade.
• Highly scalable for data analytics.
• Leading cloud databases include Amazon DynamoDB,
Microsoft Azure Cosmos DB, Azure SQL DB, Google
BigQuery, and Amazon Redshift.

• Gartner predicts that by 2022, 75% of all databases will be deployed


or migrated to a cloud platform.
Future Trends:

• Gartner predicts that by 2022,


75% of all databases will be
deployed or migrated to a cloud
platform.
Summary for History Market and Predictions
of Relational DB:

Relational databases are available with commercial licenses from large


corporations and open-source licenses, with both accounting for
approximately 50% of the market.

The popularity of cloud databases has seen significant growth, driven


by organizations adopting the Software-as-a-Service (SaaS) model for
increased scalability.

You might also like