local vs. client/server databases

61
Local vs. Client/Server Databases Ted Blue

Upload: others

Post on 12-Sep-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Local vs. Client/Server Databases

Local vs. Client/Server

Databases

Ted Blue

Page 2: Local vs. Client/Server Databases

Web Apps are Client/Server

Web Brow ser

(Client)

Web Server

Request

(HTTP)

Page 3: Local vs. Client/Server Databases

Web Apps are Client/Server

Web Brow ser

(Client)

Web Server

Request

(HTTP)

Template

(*.cfm)

ColdFusion

Application

Server

Request

(.CFM)

Page 4: Local vs. Client/Server Databases

Web Apps are Client/Server

Web Brow ser

(Client)

Web Server

Request

(HTTP)

Template

(*.cfm)

ColdFusion

Application

Server

Request

(.CFM)

Data

Page 5: Local vs. Client/Server Databases

Web Apps are Client/Server

Web Brow ser

(Client)

Web Server

Request

(HTTP)

Template

(*.cfm)

ColdFusion

Application

Server

Request

(.CFM)

Data

Response

(HTML)

Page 6: Local vs. Client/Server Databases

Web Apps are Client/Server

Web Brow ser

(Client)

Web Server

Request

(HTTP)

Template

(*.cfm)

ColdFusion

Application

Server

Request

(.CFM)

Data

Response

(HTML)Response

(HTML)

Page 7: Local vs. Client/Server Databases

Local Databases

dBASE, FoxPro, Paradox, Microsoft Access

Page 8: Local vs. Client/Server Databases

Local Databases

dBASE, FoxPro, Paradox, Microsoft Access

No Database Management System

Page 9: Local vs. Client/Server Databases

Local Databases

dBASE, FoxPro, Paradox, Microsoft Access

No Database Management System

Minimal Setup and Configuration

Page 10: Local vs. Client/Server Databases

Local Databases

dBASE, FoxPro, Paradox, Microsoft Access

No Database Management System

Minimal Setup and Configuration

Low Cost

Page 11: Local vs. Client/Server Databases

Performance of Local

Databases

Unable to perform under load

Page 12: Local vs. Client/Server Databases

Performance of Local

Databases

Unable to perform under load

Unable to handle large datasets

Page 13: Local vs. Client/Server Databases

Performance of Local

DatabasesP

erf

orm

ance

Database Size and/or Number of Users

Page 14: Local vs. Client/Server Databases

Performance of Local

Databases

Load limits:

– About 10-20 users maximum

Page 15: Local vs. Client/Server Databases

Performance of Local

Databases

Load limits:

– About 10-20 users maximum

Dataset size limits:

– About 100-500k records maximum and/or

– About 1-5MB total size

Page 16: Local vs. Client/Server Databases

Performance of Local

Databases

Load limits:

– About 10-20 users maximum

Dataset size limits:

– About 100-500k records maximum and/or

– About 1-5MB total size

Cannot be improved with hardware

Page 17: Local vs. Client/Server Databases

Data Integrity and Local

Databases

Easily corrupted

Page 18: Local vs. Client/Server Databases

Data Integrity and Local

Databases

Easily corrupted

– Corruption amplified under load

– Memo fields sensitive to corruption

Page 19: Local vs. Client/Server Databases

Data Integrity and Local

Databases

Easily corrupted

Pessimistic record locking

Page 20: Local vs. Client/Server Databases

Data Integrity and Local

Databases

Easily corrupted

Pessimistic record locking

– Relies on active connection to data

– Not possible in client/server web applications

Page 21: Local vs. Client/Server Databases

Data Integrity and Local

Databases

Easily corrupted

Pessimistic record locking

Unmanaged indexes

Page 22: Local vs. Client/Server Databases

Data Integrity and Local

Databases

Easily corrupted

Pessimistic record locking

Unmanaged indexes

– Indexes corrupt during modifications

– …Corrupt indexes cause invalid data retrieval

– …Invalid data retrieval damages data integrity

Page 23: Local vs. Client/Server Databases

Data Integrity and Local

Databases

Easily corrupted

Pessimistic record locking

Unmanaged indexes

Concurrency

Page 24: Local vs. Client/Server Databases

Data Integrity and Local

Databases

Easily corrupted

Pessimistic record locking

Unmanaged indexes

Concurrency

– Multiple users can update same data

– Concurrency problems do not generate errors

Page 25: Local vs. Client/Server Databases

Data Integrity and Local

Databases

Easily corrupted

Pessimistic record locking

Unmanaged indexes

Concurrency

Transaction control

Page 26: Local vs. Client/Server Databases

Data Integrity and Local

Databases

Easily corrupted

Pessimistic record locking

Unmanaged indexes

Concurrency

Transaction control

– No simultaneous commit

– No rollback capability

Page 27: Local vs. Client/Server Databases

Client/Server Databases

Oracle, Sybase, SQL Server, Informix, etc.

Page 28: Local vs. Client/Server Databases

Client/Server Databases

Oracle, Sybase, SQL Server, Informix, etc.

Database Management Systems (DBMS)

Page 29: Local vs. Client/Server Databases

Client/Server Databases

Oracle, Sybase, SQL Server, Informix, etc.

Database Management Systems (DBMS)

More elaborate Setup and Configuration

Page 30: Local vs. Client/Server Databases

Client/Server Databases

Oracle, Sybase, SQL Server, Informix, etc.

Database Management Systems (DBMS)

More elaborate Setup and Configuration

Higher Cost

Page 31: Local vs. Client/Server Databases

Performance in Client/Server

Databases

Excellent performance under load

Page 32: Local vs. Client/Server Databases

Performance in Client/Server

Databases

Excellent performance under load

Designed to handle large datasets

Page 33: Local vs. Client/Server Databases

Performance in Client/Server

DatabasesP

erf

orm

ance

Database Size and/or Number of Users

Page 34: Local vs. Client/Server Databases

Performance in Client/Server

vs. Local Databases P

erf

orm

ance

Database Size and/or Number of Users

Page 35: Local vs. Client/Server Databases

Performance in Client/Server

Databases

Load limits:

– Hundreds or Thousands of Users

Page 36: Local vs. Client/Server Databases

Performance in Client/Server

Databases

Load limits:

– Hundreds or Thousands of Users

Database size limits:

– Millions of records

– Size limited only by available storage

Page 37: Local vs. Client/Server Databases

Performance in Client/Server

Databases

Load limits:

– Hundreds or Thousands of Users

Database size limits:

– Millions of records

– Size limited only by available storage

Scaleable with hardware

Page 38: Local vs. Client/Server Databases

Data Integrity in Client/Server

Databases

Corruption Management

Page 39: Local vs. Client/Server Databases

Data Integrity in Client/Server

Databases

Corruption Management

– Detects and corrects corruption dynamically

– Prevents corruption automatically

Page 40: Local vs. Client/Server Databases

Data Integrity in Client/Server

Databases

Corruption Management

Optimistic Record Locking

– Locks occur during updates

– Manages record lock conflicts

– Perfectly suited to web applications

Page 41: Local vs. Client/Server Databases

Data Integrity in Client/Server

Databases

Corruption Management

Optimistic Record Locking

Managed Indexes

– Indexes created as needed

– Automatic corruption detection and correction

– Accurate data retrieval

Page 42: Local vs. Client/Server Databases

Data Integrity in Client/Server

Databases

Corruption Management

Optimistic Record Locking

Managed Indexes

Concurrency Control

Page 43: Local vs. Client/Server Databases

Data Integrity in Client/Server

Databases

Corruption Management

Optimistic Record Locking

Managed Indexes

Concurrency Control

– Queues updates from multiple users

– Concurrency problems generate errors

– Invalid data not allowed into database

Page 44: Local vs. Client/Server Databases

Data Integrity in Client/Server

Databases

Corruption Management

Optimistic Record Locking

Managed Indexes

Concurrency Control

Transaction Control

Page 45: Local vs. Client/Server Databases

Data Integrity in Client/Server

Databases Corruption Management

Optimistic Record Locking

Managed Indexes

Concurrency Control

Transaction Control

– Transaction Log tracks all changes by all users

– Commits multiple changes simultaneously

– Rollback for incomplete or inaccurate updates

Page 46: Local vs. Client/Server Databases

Additional Client/Server

Database Features

Disaster Recovery

Page 47: Local vs. Client/Server Databases

Additional Client/Server

Database Features

Disaster Recovery

Security

Page 48: Local vs. Client/Server Databases

Additional Client/Server

Database Features

Disaster Recovery

Security

Views

Page 49: Local vs. Client/Server Databases

Additional Client/Server

Database Features

Disaster Recovery

Security

Views

Stored Procedures

Page 50: Local vs. Client/Server Databases

Additional Client/Server

Database Features

Disaster Recovery

Security

Views

Stored Procedures

Triggers

Page 51: Local vs. Client/Server Databases

Additional Client/Server

Database Features

Disaster Recovery

Security

Views

Stored Procedures

Triggers

Replication

Page 52: Local vs. Client/Server Databases

Additional Client/Server

Database Features

Disaster Recovery

Security

Views

Stored Procedures

Triggers

Replication

Advanced SQL Processing

Page 53: Local vs. Client/Server Databases

Cost and Implementation

Local Databases

Low Cost

Client/Server Databases

Higher Cost

Page 54: Local vs. Client/Server Databases

Cost and Implementation

Local Databases

Low Cost

No Licensing Fees

Client/Server Databases

Higher Cost

Licensed Per User

Page 55: Local vs. Client/Server Databases

Cost and Implementation

Local Databases

Low Cost

No Licensing Fees

Minimal Setup and

Configuration

Client/Server Databases

Higher Cost

Licensed Per User

Configuration can be

complex

Page 56: Local vs. Client/Server Databases

Cost and Implementation

Local Databases

Low Cost

No Licensing Fees

Minimal Setup and

Configuration

Minimal maintenance

Client/Server Databases

Higher Cost

Licensed Per User

Configuration can be

complex

May require DBA

Page 57: Local vs. Client/Server Databases

Making a Choice

Local Databases

Small databases

Client/Server Databases

Medium/Large Databases

Page 58: Local vs. Client/Server Databases

Making a Choice

Local Databases

Small databases

Minimal Traffic

Client/Server Databases

Medium/Large Databases

Moderate or High Traffic

Page 59: Local vs. Client/Server Databases

Making a Choice

Local Databases

Small databases

Minimal Traffic

Read-only Data

Client/Server Databases

Medium/Large Databases

Moderate or High Traffic

Updateable Data

Page 60: Local vs. Client/Server Databases

Making a Choice

Local Databases

Small databases

Minimal Traffic

Read-only Data

No Transactions

Client/Server Databases

Medium/Large Databases

Moderate or High Traffic

Updateable Data

Transaction-based Sites

Page 61: Local vs. Client/Server Databases

Choose Wisely…