This document discusses physical database design and Oracle's storage structures. It covers database architecture components like the query optimizer, data dictionary, and security manager. It also explains Oracle's storage hierarchy from the logical level of tablespaces down to the physical level of datafiles and disk blocks. Oracle uses techniques like clustering, compression, extents, and segments to improve performance by minimizing data retrieval costs during queries. The document compares the roles of database administrators and developers and provides examples of how tablespaces can control database size and space usage.
Download as PPT, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
43 views
1 DB Storage - Structures
This document discusses physical database design and Oracle's storage structures. It covers database architecture components like the query optimizer, data dictionary, and security manager. It also explains Oracle's storage hierarchy from the logical level of tablespaces down to the physical level of datafiles and disk blocks. Oracle uses techniques like clustering, compression, extents, and segments to improve performance by minimizing data retrieval costs during queries. The document compares the roles of database administrators and developers and provides examples of how tablespaces can control database size and space usage.
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 28
1
Physical Database Design
40 6706 Database Storage Structures 2 Learning Outcomes Database Architecture Role of the Database Administrator General Performance Issues Examine Oracles Storage Structures 3 Physical Design Activities Designing data structures to improve performance Defining recovery policies Designing and implementing Concurrency Control policies Tuning applications (SQL statement tuning) Enroling users & granting them necessary privileges 4 Administrator vs. Developer The DBA is the sole authority for allocating system-wide resources (disk space usage, auditing, etc) However, there are many areas of overlap in responsibility between the DBA and Developers 5
Activity/User Type
Developer
DBA
Database Design
Data Structure Definition
Recovery Policy
Design and Implementation of Concurrency Control Policies
Application Tuning
Enrolment of Users
Who has Primary Responsibility for each Activity? 6 Database Architecture Query Optimiser Data Dictionary Security Manager Concurrency Controller Recovery Manager 7 Interactions between Components Lets look at a typical scenario 1. Query is parsed 2. Table and column names sent by QO to the DD 3. DD validates names, sends a message to the SM 4. SM validates access rights 5. DD now replies to QO 6. QO generates a plan for execution and sends messages to CC for obtaining locks 7. As transaction executes it writes information in the rollback segments maintained by the Recovery Manager
8 Performance Issues Two main factors: 1. processing time at the CPU 2. Data retrieval time at the disk Data retrieval time >> Processing time Thus major objective is to minimise data retrieval (I/O) costs
9 Performance Issues - Compression Data retrieval costs minimised by clustering and/or compressing data Compression can be achieved by replacing large data fields by a coding scheme that takes up less space This will typically be used for a table with large-sized text fields These fields can be replaced by codes which reference the original text values in a lookup table
10 Clustering Oracles Solution Oracle clusters data at the physical level into data blocks Q) What happens when data (table) size > data block size? A)
This is precisely what Oracle does!
11 Oracles Storage Structures-Extents Oracle organises data blocks that are accessed together into a single contiguous unit called an extent Thus when creating a table you specify the size of the extent When the table size exceeds the size of the extent, Oracle obtains another extent However there is no guarantee that the next extent is contiguous with the previous one 12 Extents Oracle allows the designer to specify the size of the first (initial) and subsequent (next) extents For a table that would be expected to grow linearly with time, the size of the initial and next extents would be the same 13 Relationships between Data Blocks, Extents and Segments
14 Oracles Storage Structures- Segments Segments are collections of extents that belong to one logical unit e.g. a table In general there four types of segments: 1. Table 2. Index 3. Rollback (for Recovery) 4. Temporary (to store intermediate results, e.g. during sorting) 15 Oracles Storage Structures- Tablespaces Tablespace: a database is divided into logical storage units called tablespaces.
Each tablespace in an ORACLE database is comprised of one or more operating system files called data files.
A tablespace's data files physically store the associated database data on disk 16 Tablespaces and Datafiles
17 17 Logical Structure Versus Physical Structure Logical structures are composed of orderly groupings of information that allow you to manipulate and access related data. They cannot be viewed outside the database.
Physical structures are composed of operating system components and have a physical name and location. 18 18 Logical Structure The logical structure of an Oracle database include Schema objects, Data blocks, Extents, Segments and Tablespaces 19 19 Physical Database Structure Every database has one or more physical datafiles. The Physical Structure of an Oracle database include: Data Files Redo log Files Control Files 20 20 Physical Database Structure Data Files: the datafiles contain all the database data, and can be associated with only one database. Redo Log files: primary function is to record all changes made to data. The information in a redo log file is used only to recover the database from a system or media failure. 21 21 Physical Database Structure Control File: contains entries that specify the physical structure of the database, such as: Database name Names and locations of datafiles and redo log files and Time stamp of database creation. 22 Database Logical Physical Tablespace Data file OS block Oracle block Segment Extent Database Storage Hierarchy 23 Using Tablespaces Oracle uses a SYSTEM tablespace to store internal information such as the Data Dictionary User tables can also be stored in SYSTEM but this is not recommended Mutiple tablespaces have these advantages: gives users better performance and flexibility
24 Advantages of Multiple Tablespaces 1. Control over space quotas for users 2. Better control over data availability by taking individual tablespaces online or offline 3. Perform partial database backup or recovery 4. Parallelise Queries by partitioning tables and allocating them to separate tablespaces 5. Reduce contention between objects by allocating them to separate tablespaces 25 Controlling Database Size Tablespaces can be used to control database size in three ways: 1. Adding a new tablespace 2. Adding a new datafile to an existing tablespace 3. Allowing datafiles to grow dynamically Choice made by DBA depending on circumstances
26 Oracles Space Management Oracle maintains a list of free blocks for each tablespace When a new extent (N blocks) is required, Oracle uses the following algorithm: 1. Search for N+1 contiguous blocks (N, if N <5). 2. If an exact match is not found then Oracle searches for M contiguous blocks, where M > N If M < N+5, then ALL blocks are allocated to new extent If M > N+5, allocate N to new extent and return remainder to free list 3. If neither 1 or 2 applies, Oracle coalesces adjacent blocks (used) to release space and obtain more free blocks
28 Review Questions 1. List the main activities involved in Physical Database Design 2. Distinguish between clustering and compression 3. How does Oracle ensure that data in tables are clustered? 4. Identify four advantages of using tablespaces