Sei sulla pagina 1di 21

DBA

Architecture
Intro
Introduction
MS SQL Server is a database server
Product of Microsoft
Enables user to write queries and other SQL
statements and execute them
Consists of several features. A few are:
◦ Query Analyzer
◦ Profiler
◦ Service Manager
◦ Bulk Copy Program (BCP)
Profiler

Monitoring tool
Used for performance tuning
Uses traces – an event monitoring protocol
Event may be a query or a transaction like logins etc
Service Manager
Helps us to manage services
More than one instance of SQL server can be
installed in a machine
First Instance is called as default instance
Rest of the instances (16 max) are called as named
instances
Service manager helps in starting or stopping the
instances individually
Instances

Each instance is hidden from another instance


Enhances security
Every instance has its own set of Users, Admins,
Databases, Collations
Advantage of having multiple instance is
◦ Multi company support (Each company can have its
own instance and create databases on the same server,
independent on each other)
◦ Server consolidation (Can host up to 10 server
applications on a single machine)
BCP
Bulk Copy Program
A powerful command line utility that enables
us to transfer large number of records from a
file to database
Time taken for copying to and from database
is very less
Helps in back up and restoration
Query Analyzer
Allows us to write queries and SQL statements
Checks syntax of the SQL statement written
Executes the statements
Store and reload statements
Save the results in file
View reports (either as grid or as a text)
SQL Database Objects
A SQL Server database has lot of objects
like
◦ Tables
◦ Views
◦ Stored Procedures
◦ Functions
◦ Rules
◦ Defaults
◦ Cursors
◦ Triggers
System Databases
By default SQL server has 4 databases
◦ Master : System defined stored procedures, login details,
configuration settings etc
◦ Model : Template for creating a database
◦ Tempdb : Stores temporary tables. This db is created when
the server starts and dropped when the server shuts down
◦ Msdb : Has tables that have details with respect to alerts,
jobs. Deals with SQL Server Agent Service
Architecture Overview
Schema and Data Structure (Objects)
Storage Architecture
◦ Data Blocks, Extents, and Segments
◦ Storage Allocation
◦ Managing Extents and Pages
◦ Tablespaces and Datafiles
◦ SQL Server Data Files
◦ Mapping of Tablespaces and Filegroups

Logging Model
Data Dictionary
Schema and Data Structures (Objects)
Oracle SQL Server
Table Table
Index Index
View View
Synonym Synonym
Schema – a collection of objects
Sequence Identity Columns
owned by a database user
Procedure Stored Procedure
Schemas in SQL Server provide Function Function
logical separation of objects, Package N/A

similar to Oracle’s schema Queue in Streams Advanced Queuing Service Broker Queue
Object Type Type
XML DB XML Schema Collection

Comparison of Core Schema and Data Structures (Objects)


Storage Architecture
Database storage architecture includes physical and logical structures
Physical structures are data files, log files, and operating system blocks
Logical structures are subdivisions of data files used to manage storage space

Data File Data File Data File Data File Data File Data File

Temporary Tablespace Groups

Tablespace Tablespace Filegroup Filegroup

Segment Segment Heap/Index Heap/Index

Extent Extent Extent Extent Extent Extent Extent

Blocks Blocks Blocks Blocks Pages Pages Pages


Data Blocks, Extents, and Segments

Structure Oracle SQL Server 2008

Smallest unit of
Block Page
logical storage

Block size Variable 8 KB fixed

Performed in multiple Performed in multiple


Storage allocation
blocks; are ‘extents’ pages; are ‘extents’

Extent size Variable 64 KB fixed

Any logical structure


Segment that is allocated No equivalent structure
storage
Storage 2K 2K 2K 2K 8K 8K 8K 2K

Allocation
block block block 6 x 2K
block
= 12K block block block block
2K 2K 2K EXTENT
2K 8K 8K 8K 8 x 8K2K= 64K
block block block block 12K + 16K = 28K block block block EXTENT
block
2K 2K 2K 2K SEGMENT 8K 8K 8K 2K 64K + 64K =
block block block block (Table/Index) block block block block 128K
HEAP/INDEX
2K 2K 2K 2K 8K 8K 8K 2K
block block block block block block block block
2K 2K 2K 2K 8K 8K 8K 2K
block block block block block block block block
2K 2K 8 x 2K
2K= 16K 2K 8K 8K 8K 8 x 8K2K= 64K
block block EXTENT
block block block block block EXTENT
block
2K 2K 2K 2K 8K 8K 8K 2K
block block block block block block block block
2K 2K 2K 2K 8K 8K 8K 2K
block block block block block block block block

Oracle SQL Server

Fundamental difference in storage allocation between Oracle


and SQL Server
Managing Extents and Pages
In Oracle, each extent is dedicated to an allocated object. In SQL Server, the equivalent is a
uniform extent.
SQL Server uses mixed extents: pages are allocated to objects with less than 8 blocks of data
Similar to the Oracle bitmap functionality used to manage free space and extent allocation,
SQL Server uses the Global Allocation Map (GAM) and Shared Global Allocation Map (SGAM)
Oracle keeps track of extents using extent allocation maps
Managing Extents and Pages
(Continued)
File Header Extent

Extents in
SQL Server

GAM Bit SGAM Bit


Current Use of Extent
Setting Setting
Free, not being used 1 0
GAMs and SGAMs Uniform extent, or full
0 0
mixed extent
Mixed extent with free
0 1
pages
Tablespaces and Data files
Oracle and SQL Server store data in data files
The largest logical storage structure in Oracle is a tablespace
The largest logical storage structure in SQL Server is a filegroup
Tablespaces/filegroups are used to group application objects
Tablespaces/filegroups optimize administration of data files
SQL Server Data Files

Three file types supported by SQL Server:


Primary Data Files
Secondary Data
Files
Log Data Files
Mapping of Tablespaces
and Filegroups System Tablespace Data file Data file Data file Log file Master DB

SysAux Tablespace Data file Data file Data file Log file
Resource DB

Tablespace Group
Temporary Data file Log file TempDB
Data file Data file
Tablespace Model DB
Data file Log file

Data file Data file

Data file Log file


MSDB
BigFile Tablespace Data file

User Data Tablespace Data file Data file

User Database
User DB
User Index Data file Data file Data file Data file

Tablespace Data FG
Undo Tablespace Data file Data file Data file Data file Index FG

Redo Log Log file


Log File(s)
Redo Log Files Redo Log
Redo Log

Oracle Database Instance SQL Server Instance


Logging Model
Oracle uses online redo logs to
record changes made to the
database by transactions and
undo segments to capture the
‘before image’ of data
SQL Server implements both of
these functions using transaction
logs. Each transaction record
contains the undo and redo
image of the transaction.
Data Dictionary
In Oracle the data dictionary is stored under the SYS schema in the SYSTEM tablespace
In SQL Server the data dictionary consists of:
◦ Catalog View—the best way to access system metadata
◦ Backward Compatibility Views—All system tables from previous releases are provided as
backward compatibility views
◦ Dynamic Management Views—to view the current state of the SQL Server system. Provide
real-time snapshots of internal memory structures indicating the server state.
◦ INFORMATION_SCHEMA views—SQL-99 method to view system metadata
SQL Server’s Resource database contains the metadata for system stored procedures

Potrebbero piacerti anche