SQLServer 1. téma DBMS általános struktúra
Kovács László, ME GEIAL
SQLServer architektúra SQL
Interface Protocol DB Query Engine
Storage Engine
DB
SQLOS DB Server Kovács László, ME GEIAL
1
SQLServer architektúra • SQLServer: adatá adatállomá llományok
menté mentés
– Több adatbázis együttese – Szerver és adatbázis-szint – Napló: REDO LOG
napló napló
paramé paraméter Kovács László, ME GEIAL
SQLServer architektúra • Protocol: – Kliens oldali API-val kommunikál – TDS: tabular data stream – Shared memory – Named pipes – tcp/ip
Kovács László, ME GEIAL
2
SQLServer architektúra • Query Processor: – Parser – Optimizer – SQL Manager – Database Manager – Query Executorc
Kovács László, ME GEIAL
SQLServer architektúra • Storage Engine: – Transaction Services – Lock Manager – File Manager – Access methods – Buffer Manager, paging – Index Manager
Kovács László, ME GEIAL
3
SQLServer architektúra • Lap típusok: – Data page – Index page – LOB page – Page Free Space page – Index Allocation Map (IAM) page – Global Allocation Map (GAM) page – Differential Changed Map (DCM) page Kovács László, ME GEIAL
SQLServer architektúra • SQL OS: – Resource Manager – Memory Manager – Lock Manager – I/O Manager – Scheduling – Deadlock Manager – Monitors Kovács László, ME GEIAL
4
SQLServer architektúra • Memory Structure: – Buffer Pool – Data Cache – REDO Log Cache – UNDO Log Cache – Shared Pool
• NUMA Architecture
Kovács László, ME GEIAL
SQLServer architektúra • NUMA architektúra: – Non uniform memory access architecture – Multiprocesszoros környezetben – A memória elérési ideje függ a processzor elhelyezésétől Ábra könyv 40. old
Kovács László, ME GEIAL
5
SQLServer architektúra • Memória műveletek: – Lapozási technika: LRU-K módszer • Utolsó K műveletet tartja nyilván a lapnál • Számontartja a lap típusát is
– Lazzy writer thread: • Periódikusan feléled, ha kicsi a szabad page lista, akkor átpásztázza a memóriát, és kiszámolja az LRU-K jelzőket. A régi lapokat kiírja és átteszi a szabad listába
Kovács László, ME GEIAL
SQLServer architektúra • Checkpoint: – Az adatbázis cache-ben lévő módosult lapok (dirty page) kiírása a lemezre • asszinkron • nem aktualizálja a szabad lapok listáját
– Indítása: • • • •
Explicit A napló betelt Shutdown időkorlát
Kovács László, ME GEIAL
6
SQLServer architektúra • Ütemezési módok: – Cooperative scheduling (a user task időnként rákérdez a kernel-re, hogy mehet-e, nem preemptive) – SQL Worker: feladatot ellátó task, thread: • Idle time limit • Memory limit
– SPID: user session ID
Kovács László, ME GEIAL
SQLServer architektúra • Processes, services: – DBMS Server Service – Agent Service – Transformation Service
• Components: – Replication – Full-text – Analysis service – Notification service Kovács László, ME GEIAL
7
SQLServer architektúra • DMV (dynamic management view): – A sys sémában elérhetők – dm_exec_* : felhasználói programok, session – dm_os_* : a közös erőforrások – dm_tran_* : tranzakció végrehajtás, SQL – dm_io_* : diszk műveletek – dm_db_* : adatbázis paraméterek Kovács László, ME GEIAL
8
Kovács László, ME GEIAL
Replication .NET Framework Database Maintenance Auto-tuning Replication Agents Common Language Runtime Integration Backup and Restore Enhancements Oracle Publication User-defined Aggregates Checksum Integrity Checks Improved Blob Change Tracking User-defined Data Types Dedicated Administrator Connection Replication Monitor User-defined Functions Dynamic AWE OLAP and Data Mining SQL Server .NET Data Provider Fast Recovery Analysis Management Objects Extended Triggers Highly-available Upgrade Windows Integrated Backup and Restore Data Types Online Index Operations Web Service/XML for Analysis Managed SQL Types Online Restore DTS and DM Integration New XML Datatype Parallel DBCC New Data Mining Algorithms Varchar (MAX) Varbinary (MAX) Parallel Index Operations Auto Packaging and Deployment SQL Server Engine Management Tools Data Transformation Services New Message Service Broker New Management Studio New Architecture (DTR + DTP) HTTP Support (Native HTTP) MDX Query Editor Complex Control Flows Database Tuning Advisor Version Control Support Control Flow Debugging Multiple Active Result Sets XML/A For Each Enumerations Persisted Computed Columns SQLCMD Command Line Tool Property Mappings Snapshot Isolation Level Performance Tuning Full Data Flow Designer Scale Up Partitioning Profiler Enhancements Full DTS Control Flow Designer VIA support Profiling Analysis Services Graphical Presentation of Pkg Execution NUMA support Exportable Showplan Immediate Mode and Project Mode Database Failure and Redundancy Exportable Deadlock Traces Package (Advanced) Deployment Tools Fail-over Clustering (up to 8 node) MDAC Custom Tasks and Transformations Enhanced Multi-instance Support SNAC Reporting Services Database Mirroring Microsoft Installer base setup Multiple Output Formats Database Snapshots Support for Active Directory Deployment Parameters (Static, Dynamic, Hierarchical) XML SQL Client .NET Data Provider Bulk Delivery of Personalized Content XQUERY Support Server Cursor Support Support Multiple Data Sources XML Data Manipulation Language Asynch STS (Web Parts, Doc Libraries) FOR XML Enhancements Security Visual Design Tool XML Schema (XSD) Support All Permissions Grantable Charting, Sorting, Filtering, Drill-Through MSXML 6.0 (Native) Fine Grain Administration Rights Scheduling, Caching .Net XML Framework Separation of Users and Schema Complete Scripting Engine Full-text Search Data encryption primitives Scale Out architecture Indexing of XML Datatype Open XML Report Definition Kovács László, ME GEIAL Notification Services & SQL Server CE
9
SQLServer architektúra • Kliens kapcsolódás: – Serverhez: LOGIN – Adatbázishoz: USER
• API felület: – ODBC – ADO – Transact-SQL
Kovács László, ME GEIAL
Kovács László, ME GEIAL
10
SQLServer architektúra • SQLServer DBMS történelme: – SQLServer 5 – SQLServer 6 – SQLServer 7 – SQLServer 2000 – SQLServer 2005
Kovács László, ME GEIAL
11