Professional Documents
Culture Documents
Relational
Database
Products
Lecture 2
Deployment Topologies for DB
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:
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 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.
High Availability (HA) replicas within the same location can be used in case of
primary server failure.
Sharding places these partitions on separate nodes in a cluster, with each shard
having its compute resources.
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.
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:
• 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:
• 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):
Azure SQL
Database.
Shift in Licensing
Trends: