Title: Diseo de BD
1Introducción a SQL Server 2000
2Agenda
- Arquitectura
- Principales caracterÃsticas
- Estructura de una base de datos
- Procesamiento de consultas
3Arquitectura
4Principales caracterÃsticas
- Rendimiento
- Escalabilidad
- Múltiples instancias y Failover
- Administración de bases de datos simplificada
- Servicios de Transformación de datos (DTS)
- Servicios de análisis (OLAP)
- Integración con la Web
- Acceso Web a datos
- Soporte para XML (cláusula FOR XML)
5Rendimiento
- SQL Server 2000
- gt 780.000 TPM
- TPC-C (Transaction Processing Performance
Council) - www.tpc.org/tpcc/results/tpcc_perf_results.asp
6Escalabilidad
- Soporta hasta 32 CPUs y 64 gigabytes (GB) de RAM
Windows CE
- Developer Edition
- CaracterÃsticas de la versión Enterprise
- Licencia solo para desarrollo y testing
7Escalabilidad
8Múltiples instancias y Failover
- Múltiples instancias
- Aislar el impacto en las aplicaciones ante fallas
- Failover
- Clustering
- Integrado en la instalación
- Fácil aplicación de SP (Service Packs)
- Soporte para clusters de 4-nodos con Windows 2000
Data Center
9Múltiples instancias
- Por defecto
- Sólo una puede estar activa
- Nombradas
- Todas pueden estar activas
SQL Server 6.5
SQL Server 7.0 o 2000
SQL Server 2000
SQL Server 2000
SQL Server 2000
Hasta 15
SQL Server 2000
10Failover (MSCS)
11Failover (MSCS y NLB)
12SQL Server 2000 Failover Clustering
13Administración simplificada
- Herramientas de administración flexibles
- Asistentes para tareas de administración
- Enterprise Manager
- SQL Server Profiler
- Query Analyzer
- Asistentes administrativos
- Database Maintenance Planner
- Create Database
- Index Tuning Wizard
- Replication Wizard
14DTS
- Importar, exportar y transformar datos desde
diferentes orÃgenes - 100 OLE DB, ODBC, Datos Relacionales y
no-relacionales
MainframeDB2, VSAM, CICS/IMS
Oracle
ODBC
DTS
VSAM, OS/400
DBF
Access
SQL Server
15Integración con la Web
- Soporte XML nativo
- Recuperar datos como XML
- Acceso URL vÃa HTTP
- Web Services
- Acceso vÃa HTTP usando SOAP
- English Query
- Búsquedas Full-Text
- Análisis
- Cubos OLAP vÃa HTTP
- Data Mining Integrado
- Múltiples instancias vs. hosting
16Estructura de una base de datos
- Múltiples archivos
- No pueden ser compartidos (únicos x dbd)
- Primary
- Extensión MDF. Punto de partida.
- Secondary
- Extensión NDF. Datos.
- Pueden no existir.
- Log
- Extensión LDF. (al menos uno)
- File Groups (facilita la administración)
17Bases del sistema
- Master
- Configuración del sistema
- Información de otras BD
- Tempdb
- Almacenamiento temporal
- Model
- Plantilla usada al crear BD
- Msdb
- SQL Server Agent
18Estructura de una base de datos Page y Extent
- Page
- Unidad fundamental
- 8K. Header 96 bytes (ej. free space)
- Extent
- Grupo de 8 páginas contiguas
- Dos tipos Uniform y Mixed
19Estructura de una base de datos Page
- Longitud de registro 8060 bytes
- No incluye text, ntext, image
20Estructura de una base de datos Extent
- Uniform para un objeto
- Mixed compartido entre objetos
21Estructura de una base de datos Integridad
- De Dominio
- A nivel de columna (datatyes, null, etc.)
- De Entidad
- A nivel de fila (PK / Unique)
- Referencial
- Entre tablas (FK)
- Actualización en cascada (Update / Delete)
22Estructura de una base de datos Indices
- Clustered
- B-Tree
- Orden fÃsico
- Nonclustered
- Full-Text
- EstadÃsticas de distribución
23Estructura de una base de datos Indices
Clustered
24Estructura de una base de datos Indices
Nonclustered
- B-Tree
- No establecen orden
25Estructura de una base de datos Indices
Full-Text
- Microsoft Search Service
- Soporte para indexación
- Generación de catálogos
- Soporte para consultas
- Utilizar Full-Text OleDb Provider
26Estructura de una base de datos Heap
- Cada objeto tiene un IAM
- Mapeo de Extents
27Estructura de una base de datos IAM
- Index Allocation Map
- Heap, Ãndices, text, ntext, image
28Estructura de una base de datos text, ntext,
image
- Máximo de 2 GB por cada campo
29Estructura de una base de datos Bloqueos
- Concurrencia Optimista ? no bloquear
- Concurrencia Pesimista (default) ? bloquear
30Procesamiento de consultas
- Paralelismo de ejecución
- Joins, Self Joins
- Union
- Select (Into) / Insert / Delete / Update
- Subqueries (Correlacionados)
- IN / EXISTS
- Sumarización de datos
- Funciones de agregación
- Rollup, Cube, Compute
- Top n / Percent
- Funciones definidas por el usuario
- Updates en cascada
31Procesamiento de consultas - T-SQL
- Lenguaje estándar para comunicar a las
aplicaciones con SQL Server - Structured Query Language (SQL)
- Lenguaje relacional ANSI-standard
- Sentencias
- DCL (Grant / Deny / Revoke)
- DML
- DDL
32T-SQL
- Definición de variables
- Locales
- Globales
- While
- IF
- Función Case
- Comentarios
- In-Line
- Bloques
- Execute (sentencias dinámicas)
33Stored Procedures
- Es una colección de sentencias Transact-SQL
- Poseen un nombre y parámetros
- Son procesados como una unidad
- SQL Server provee Stored Procedures llamados
System Stored Procedures (Ej. sp_who)
34Stored Procedures vs. Consultas Ad-Hoc
- Uncached Queries (Ad-Hoc)
- Parse -gt Resolve -gtOptimize -gt Compile -gt Execute
- Cached Queries
- 1) Primera ejecución
- Parse -gt Resolve -gtOptimize -gt Compile -gt Execute
- 2) Subsiguientes
- Cache -gt Execute
- Sp_executesql
35Resumen
- SQL Server es un motor potente
- Posee caracterÃsticas avanzadas
- Internet
- Web services
- Reporting Services
- Notification Services
- Administración flexible
- Amplio soporte para BI
- Próxima versión SQL Server 2005 (Yukon)
36Referencias
- SQL Server (http//www.sql-server-performance.com/
) - Clustering (http//www.microsoft.com/technet/prodt
echnol/sql/2000/maintain/failclus.mspx) - TPC.Org (www.tpc.org)