ch1.pptx
ch1.pptx
▪ Database-System Applications
▪ Purpose of Database Systems
▪ View of Data
▪ Database Languages
▪ Database Design
▪ Database Engine
▪ Database Architecture
▪ Database Users and Administrators
▪ History of Database Systems
▪ Enterprise Information
• Sales: customers, products, purchases
• Accounting: payments, receipts, assets
• Human Resources: Information about employees, salaries, payroll
taxes.
▪ Manufacturing: management of production, inventory, orders, supply
chain.
▪ Banking and finance
• customer information, accounts, loans, and banking transactions.
• Credit card transactions
• Finance: sales and purchases of financial instruments (e.g., stocks
and bonds; storing real-time market data
▪ Universities: registration, grades
In the early days, database applications were built directly on top of file
systems, which leads to:
▪ Atomicity of updates
• Failures may leave database in an inconsistent state with partial
updates carried out
• Example: Transfer of funds from one account to another should either
complete or not happen at all
▪ Concurrent access by multiple users
• Concurrent access needed for performance
• Uncontrolled concurrent accesses can lead to inconsistencies
▪ Ex: Two people reading a balance (say 100) and updating it by
withdrawing money (say 50 each) at the same time
▪ Security problems
• Hard to provide user access to some, but not all, data
Columns
Rows
Ted Codd
Turing Award 1981
▪ A database system is partitioned into modules that deal with each of the
responsibilities of the overall system.
▪ The functional components of a database system can be divided into
• The storage manager,
• The query processor component,
• The transaction management component.
▪ Centralized databases
• One to a few cores, shared memory
▪ Client-server,
• One server machine executes work on behalf of multiple client
machines.
▪ Parallel databases
• Many core shared memory
• Shared disk
• Shared nothing
▪ Distributed databases
• Geographical distribution
• Schema/data heterogeneity
A person who has central control over the system is called a database
administrator (DBA). Functions of a DBA include:
▪ Schema definition
▪ Storage structure and access-method definition
▪ Schema and physical-organization modification
▪ Granting of authorization for data access
▪ Routine maintenance
▪ Periodically backing up the database
▪ Ensuring that enough free disk space is available for normal
operations, and upgrading disk space as required
▪ Monitoring jobs running on the database
▪ 1980s:
• Research relational prototypes evolve into commercial systems
▪ SQL becomes industrial standard
• Parallel and distributed database systems
▪ Wisconsin, IBM, Teradata
• Object-oriented database systems
▪ 1990s:
• Large decision support and data-mining applications
• Large multi-terabyte data warehouses
• Emergence of Web commerce
▪ 2000s
• Big data storage systems
▪ Google BigTable, Yahoo PNuts, Amazon,
▪ “NoSQL” systems.
• Big data analysis: beyond SQL
▪ Map reduce and friends
▪ 2010s
• SQL reloaded
▪ SQL front end to Map Reduce systems
▪ Massively parallel database systems
▪ Multi-core main-memory databases