0% found this document useful (0 votes)
42 views61 pages

Local vs. Client/Server Databases

Good for small, simple applications Client/Server Databases Recommended for: - Enterprise applications - Applications requiring high performance under load - Applications managing large datasets Provides: - Scalability - Data integrity - Advanced features But requires: - Higher initial cost - More complex setup and maintenance So choose local for small projects, client/server for large/complex ones requiring high performance and data management.

Uploaded by

Briant Neri
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views61 pages

Local vs. Client/Server Databases

Good for small, simple applications Client/Server Databases Recommended for: - Enterprise applications - Applications requiring high performance under load - Applications managing large datasets Provides: - Scalability - Data integrity - Advanced features But requires: - Higher initial cost - More complex setup and maintenance So choose local for small projects, client/server for large/complex ones requiring high performance and data management.

Uploaded by

Briant Neri
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 61

Local vs.

Client/Server
Databases

Ted Blue
Web Apps are Client/Server

Request
(HTTP)

Web Browser Web Server


(Client)
Web Apps are Client/Server
Template
(*.cfm)

Request Request
(HTTP) (.CFM) ColdFusion
Application
Server

Web Browser Web Server


(Client)
Web Apps are Client/Server
Template
(*.cfm)

Request Request
(HTTP) (.CFM) ColdFusion
Application
Server

Web Browser Web Server


(Client)

Data
Web Apps are Client/Server
Template
(*.cfm)

Request Request
(HTTP) (.CFM) ColdFusion
Application
Server

Response
Web Browser Web Server (HTML)
(Client)

Data
Web Apps are Client/Server
Template
(*.cfm)

Request Request
(HTTP) (.CFM) ColdFusion
Application
Server

Response
Response (HTML)
Web Browser (HTML) Web Server
(Client)

Data
Local Databases
 dBASE, FoxPro, Paradox, Microsoft
Access
Local Databases
 dBASE, FoxPro, Paradox, Microsoft
Access
 No Database Management System
Local Databases
 dBASE, FoxPro, Paradox, Microsoft
Access
 No Database Management System
 Minimal Setup and Configuration
Local Databases
 dBASE, FoxPro, Paradox, Microsoft
Access
 No Database Management System
 Minimal Setup and Configuration
 Low Cost
Performance of Local
Databases
 Unable to perform under load
Performance of Local
Databases
 Unable to perform under load
 Unable to handle large datasets
Performance of Local
Databases
Performance

Database Size and/or Number of Users


Performance of Local
Databases
 Load limits:
– About 10-20 users maximum
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
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
Data Integrity and Local
Databases
 Easily corrupted
Data Integrity and Local
Databases
 Easily corrupted
– Corruption amplified under load
– Memo fields sensitive to corruption
Data Integrity and Local
Databases
 Easily corrupted
 Pessimistic record locking
Data Integrity and Local
Databases
 Easily corrupted
 Pessimistic record locking
– Relies on active connection to data
– Not possible in client/server web applications
Data Integrity and Local
Databases
 Easily corrupted
 Pessimistic record locking
 Unmanaged indexes
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
Data Integrity and Local
Databases
 Easily corrupted
 Pessimistic record locking
 Unmanaged indexes
 Concurrency
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
Data Integrity and Local
Databases
 Easily corrupted
 Pessimistic record locking
 Unmanaged indexes
 Concurrency
 Transaction control
Data Integrity and Local
Databases
 Easily corrupted
 Pessimistic record locking
 Unmanaged indexes
 Concurrency
 Transaction control
– No simultaneous commit
– No rollback capability
Client/Server Databases
 Oracle, Sybase, SQL Server, Informix, etc.
Client/Server Databases
 Oracle, Sybase, SQL Server, Informix, etc.
 Database Management Systems (DBMS)
Client/Server Databases
 Oracle, Sybase, SQL Server, Informix, etc.
 Database Management Systems (DBMS)
 More elaborate Setup and Configuration
Client/Server Databases
 Oracle, Sybase, SQL Server, Informix, etc.
 Database Management Systems (DBMS)
 More elaborate Setup and Configuration
 Higher Cost
Performance in Client/Server
Databases
 Excellent performance under load
Performance in Client/Server
Databases
 Excellent performance under load
 Designed to handle large datasets
Performance in Client/Server
Databases
Performance

Database Size and/or Number of Users


Performance in Client/Server
vs. Local Databases
Performance

Database Size and/or Number of Users


Performance in Client/Server
Databases
 Load limits:
– Hundreds or Thousands of Users
Performance in Client/Server
Databases
 Load limits:
– Hundreds or Thousands of Users
 Database size limits:
– Millions of records
– Size limited only by available storage
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
Data Integrity in Client/Server
Databases
 Corruption Management
Data Integrity in Client/Server
Databases
 Corruption Management
– Detects and corrects corruption dynamically
– Prevents corruption automatically
Data Integrity in Client/Server
Databases
 Corruption Management
 Optimistic Record Locking
– Locks occur during updates
– Manages record lock conflicts
– Perfectly suited to web applications
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
Data Integrity in Client/Server
Databases
 Corruption Management
 Optimistic Record Locking
 Managed Indexes
 Concurrency Control
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
Data Integrity in Client/Server
Databases
 Corruption Management
 Optimistic Record Locking
 Managed Indexes
 Concurrency Control
 Transaction Control
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
Additional Client/Server
Database Features
 Disaster Recovery
Additional Client/Server
Database Features
 Disaster Recovery
 Security
Additional Client/Server
Database Features
 Disaster Recovery
 Security
 Views
Additional Client/Server
Database Features
 Disaster Recovery
 Security
 Views
 Stored Procedures
Additional Client/Server
Database Features
 Disaster Recovery
 Security
 Views
 Stored Procedures
 Triggers
Additional Client/Server
Database Features
 Disaster Recovery
 Security
 Views
 Stored Procedures
 Triggers
 Replication
Additional Client/Server
Database Features
 Disaster Recovery
 Security
 Views
 Stored Procedures
 Triggers
 Replication
 Advanced SQL Processing
Cost and Implementation
Local Databases Client/Server Databases
 Low Cost  Higher Cost
Cost and Implementation
Local Databases Client/Server Databases
 Low Cost  Higher Cost
 No Licensing Fees  Licensed Per User
Cost and Implementation
Local Databases Client/Server Databases
 Low Cost  Higher Cost
 No Licensing Fees  Licensed Per User
 Minimal Setup and  Configuration can be
Configuration complex
Cost and Implementation
Local Databases Client/Server Databases
 Low Cost  Higher Cost
 No Licensing Fees  Licensed Per User
 Minimal Setup and  Configuration can be
Configuration complex
 Minimal maintenance  May require DBA
Making a Choice
Local Databases Client/Server Databases
 Small databases  Medium/Large Databases
Making a Choice
Local Databases Client/Server Databases
 Small databases  Medium/Large Databases
 Minimal Traffic  Moderate or High Traffic
Making a Choice
Local Databases Client/Server Databases
 Small databases  Medium/Large Databases
 Minimal Traffic  Moderate or High Traffic
 Read-only Data  Updateable Data
Making a Choice
Local Databases Client/Server Databases
 Small databases  Medium/Large Databases
 Minimal Traffic  Moderate or High Traffic
 Read-only Data  Updateable Data
 No Transactions  Transaction-based Sites
Choose Wisely…

You might also like